#!/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.3 new apt install -y libapache2-mod-php8.3 apt install -y php8.3 php8.3-cli apt install -y php8.3-gd php8.3-bz2 php8.3-curl php8.3-mbstring php8.3-intl apt install -y php8.3-pgsql apt install -y php8.3-gmp php8.3-bcmath php-imagick php8.3-xml php8.3-zip apt install -y php8.3-apcu php8.3-memcached php8.3-redis # 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