nextcloud_url="https://download.nextcloud.com/server/releases/nextcloud-28.0.2.zip" password="ksjdvjds234SDf" sudo apt update -y sudo apt install -y apache2 mariadb-server mariadb-client #make sure your port is open (required on some VPS) iptables -A INPUT -p tcp --dport 80 -j ACCEPT iptables -A INPUT -p tcp --dport 443 -j ACCEPT sudo apt install -y libapache2-mod-php php php-gd sudo apt install -y php-mysql php-curl php-zip php-dom php-xml php-simplexml php-mbstring sudo mysql -uroot -e "CREATE DATABASE nextclouddb;" sudo mysql -uroot -e "GRANT ALL ON nextclouddb.* TO 'nextcloud_user'@'localhost' IDENTIFIED BY '$password';" sudo mysql -uroot -e "FLUSH PRIVILEGES;" cd /tmp # wget "$nextcloud_url" cd /var/www/html sudo unzip /tmp/nextcloud-*.zip sudo chown -R www-data:www-data nextcloud sudo chmod -R 755 nextcloud #setup SSL with CERTBOT sudo apt install -y certbot python3-certbot-apache sudo certbot --apache #get ip address ip="$(ip a|grep inet |grep enp|awk '{print $2}'|cut -d\/ -f1)" echo "$ip" echo "http://$ip/nextcloud" #if you get module errors just reboot sudo reboot echo "nextclouddb" echo "nextcloud_user" echo "$password" #tweaks config="$(find /etc/php/ -name php.ini|grep apache|head -n1)" sudo sed -i 's/memory_limit = 128M/memory_limit = 512M/g' "$config" sudo sed -i 's/output_buffering = 4096/output_buffering = off/g' "$config" sudo systemctl restart apache2 sudo vim /etc/apache2/apache2.conf #change Options Indexes FollowSymLinks AllowOverride None Require all granted #to Options Indexes FollowSymLinks AllowOverride All Require all granted #APPS nextcloud office & collab sudo -u www-data php -d memory_limit=512M /var/www/html/nextcloud/occ app:install richdocumentscode