Created
November 9, 2020 12:22
-
-
Save PaulSt/a34aff4f5b17d26a67403d97105f4cd7 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
read dbuserpw | |
# update | |
sudo apt update | |
sudo apt upgrade | |
sudo apt install -y apache2 | |
sudo apt install -y php7.3 php7.3-gd php7.3-sqlite3 php7.3-curl php7.3-zip php7.3-xml php7.3-mbstring php7.3-mysql php7.3-bz2 php7.3-intl php7.3-smbclient php7.3-imap php7.3-gmp php7.3-bcmath php-imagick | |
sudo service apache2 restart | |
# setup mysql | |
sudo apt install -y mariadb-server | |
sudo mysql_secure_installation | |
sudo mysql -u root -p | |
MYSQL=`which mysql` | |
Q1="CREATE DATABASE nextclouddb;" | |
Q2="CREATE USER 'nextclouduser'@'localhost' IDENTIFIED BY $dbuserpw;" | |
Q3="GRANT ALL PRIVILEGES ON nextclouddb.* TO 'nextclouduser'@'localhost';" | |
Q4="FLUSH PRIVILEGES;" | |
SQL="${Q1}${Q2}${Q3}${Q4}" | |
sudo $MYSQL -u root -p -e "$SQL" | |
# download nextcloud | |
cd /var/www/ | |
sudo wget https://download.nextcloud.com/server/releases/latest.tar.bz2 | |
sudo tar -xvf latest.tar.bz2 | |
sudo mkdir -p /var/www/nextcloud/data | |
sudo chown -R www-data:www-data /var/www/nextcloud/ | |
sudo chmod 750 /var/www/nextcloud/data | |
# fix .htaccess | |
echo 'Alias /nextcloud "/var/www/nextcloud/" | |
<Directory /var/www/nextcloud/> | |
Require all granted | |
AllowOverride All | |
Options FollowSymLinks MultiViews | |
<IfModule mod_dav.c> | |
Dav off | |
</IfModule> | |
</Directory>' | sudo tee /etc/apache2/sites-available/nextcloud.conf | |
sudo a2ensite nextcloud.conf | |
sudo systemctl reload apache2 | |
echo 'go to [IPADDRESS]/nextcloud and setup user, then press enter' | |
read bla | |
# move data folder | |
sudo mkdir -p /var/nextcloud | |
sudo mv -v /var/www/nextcloud/data /var/nextcloud/data | |
cd /var/www/nextcloud/config | |
sudo cp -p config.php config.php.bk | |
sudo sed -i "/'datadirectory' => '\/var\/www\/nextcloud\/data',/s/www\///g" ./config.php | |
sudo chown -R www-data:www-data /var/nextcloud/data | |
# set larger upload size | |
cd /etc/php/7.3/apache2/ | |
sudo cp php.ini php.bac | |
sudo sed -i "/post_max_size = 8M/s/8M/1024M/g" ./php.ini | |
sudo sed -i "/upload_max_filesize = 2M/s/2M/1024M/g" ./php.ini | |
sudo sed -i "/memory_limit = 128M/s/128M/512M/g" ./php.ini | |
sudo service apache2 restart | |
# ssl cert | |
sudo mkdir -p /etc/apache2/ssl | |
sudo cd /etc/apache2/ssl | |
sudo openssl req -x509 -nodes -days 365 -newkey rsa:4096 -keyout /etc/apache2/ssl/apache.key -out /etc/apache2/ssl/apache.crt | |
sudo a2enmod ssl | |
sudo cp /etc/apache2/sites-available/default-ssl.conf /etc/apache2/sites-available/default-ssl.bac | |
#sudo sed -i "/SSLCertificateFile \/etc\/ssl\/certs\/ssl-cert-snakeoil.pem/s/ssl\/certs\/ssl-cert-snakeoil.pem/apache2\/ssl\/apache.crt/g" /etc/apache2/sites-available/default-ssl.conf | |
#sudo sed -i "/SSLCertificateKeyFile \/etc\/ssl\/private\/ssl-cert-snakeoil.key/s/ssl\/private\/ssl-cert-snakeoil.key/apache2\/ssl\/apache.key/g" /etc/apache2/sites-available/default-ssl.conf | |
sudo a2ensite default-ssl.conf | |
sudo service apache2 restart |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment