ubuntu-nextcloud/setup_nextcloud.sh

77 lines
2.9 KiB
Bash

#!/bin/bash
# Prepare
sh /setup_programs.sh
# Enable PHP repo
apt-get install -y software-properties-common
add-apt-repository ppa:ondrej/php
# PHP 7.4 old
apt install -y apache2 libapache2-mod-php7.4
apt install -y php7.4-gd php7.4-curl php7.4-mbstring php7.4-intl
apt install -y php7.4-pgsql
apt install -y php-apcu php-memcached php-redis
apt install -y php7.4-gmp php7.4-bcmath php-imagick php7.4-xml php7.4-zip
# PHP 8.0 new
apt install -y libapache2-mod-php8.0
apt install -y php8.0 php8.0-cli
apt install -y php8.0-gd php8.0-bz2 php8.0-curl php8.0-mbstring php8.0-intl
apt install -y php8.0-pgsql
apt install -y php-apcu php-memcached php-redis
apt install -y php8.0-gmp php8.0-bcmath php-imagick php8.0-xml php8.0-zip
# PHP 8.2 new
apt install -y libapache2-mod-php8.2
apt install -y php8.2 php8.2-cli
apt install -y php8.2-gd php8.2-bz2 php8.2-curl php8.2-mbstring php8.2-intl
apt install -y php8.2-pgsql
apt install -y php-apcu php-memcached php-redis
apt install -y php8.2-gmp php8.2-bcmath php-imagick php8.2-xml php8.2-zip
# Get Nextcloud
wget https://download.nextcloud.com/server/releases/nextcloud-$NEXTCLOUD_VERSION.tar.bz2
tar -xjvf nextcloud-$NEXTCLOUD_VERSION.tar.bz2
cp -r /nextcloud /var/www
rm /nextcloud-$NEXTCLOUD_VERSION.tar.bz2
rm -r /nextcloud
# Configure Nextcloud
mkdir /var/www/nextcloud/custom_apps
mkdir /var/www/nextcloud/data
chown -R www-data:www-data /var/www/nextcloud/
chmod 755 /var/www/nextcloud/
chmod -R 644 /var/www/nextcloud/
find /var/www/nextcloud/ -type d -exec chmod 755 {} +
chmod -R 770 /var/www/nextcloud/data/
chmod -R 750 /var/www/nextcloud/config/
# Get configs
wget https://git.dfosd.synology.me/docker/ubuntu-nextcloud/raw/branch/master/nextcloud-config.php -O /var/www/nextcloud/config/config.php
sed -i "s/NEXTCLOUD_PASSWORD_SALT/$NEXTCLOUD_PASSWORD_SALT/g" /var/www/nextcloud/config/config.php
sed -i "s/NEXTCLOUD_PASSWORD_SECRET/$NEXTCLOUD_PASSWORD_SECRET/g" /var/www/nextcloud/config/config.php
sed -i "s/NEXTCLOUD_UPDATER_SECRET/$(sed 's/-//g' <<< $(uuidgen))/g" /var/www/nextcloud/config/config.php
sed -i "s/REDIS_HOST/$REDIS_HOST/g" /var/www/nextcloud/config/config.php
sed -i "s/REDIS_PORT/$REDIS_PORT/g" /var/www/nextcloud/config/config.php
sed -i "s/NEXTCLOUD_DATABASE_VERSION/$NEXTCLOUD_DATABASE_VERSION/g" /var/www/nextcloud/config/config.php
sed -i "s/DB_NAME/$DB_NAME/g" /var/www/nextcloud/config/config.php
sed -i "s/DB_HOST/$DB_HOST/g" /var/www/nextcloud/config/config.php
sed -i "s/DB_PORT/$DB_PORT/g" /var/www/nextcloud/config/config.php
sed -i "s/DB_USER/$DB_USER/g" /var/www/nextcloud/config/config.php
sed -i "s/DB_PASSWORD/$DB_PASSWORD/g" /var/www/nextcloud/config/config.php
wget https://git.dfosd.synology.me/docker/ubuntu-nextcloud/raw/branch/master/apache-config.conf -O /etc/apache2/sites-enabled/default-ssl.conf
# Turn on modules
a2enmod rewrite
a2enmod headers
a2enmod env
a2enmod dir
a2enmod mime
a2enmod setenvif
a2enmod ssl
service apache2 restart