Nextcloud

# Deinstallation von benötigten Programmen für den Webserver
apt purge apache2 apache2-utils apache2-common
apt autoremove
 
# Installation von benötigten Programmen für den Webserver
sudo apt install apache2 
 
a2dissite /etc/apache2/sites-available/nextcloud_ssl.conf
a2enssite /etc/apache2/sites-available/nextcloud_ssl.conf
 
 
# Installation von benötigten Programmen für die PHP Kompatibilität
sudo apt install libapache2-mod-php8.2 libapache2-mod-php php-gd php-mysql php-curl php-mbstring php-intl php-gmp php-bcmath php-xml php-imagick php-zip php-apcu
 
# Aktivieren der PHP-Module
sudo a2enmod php8.2 php
sudo a2enmod rewrite dir mime env headers
 
# Installation von einem Datenbankserver MariaDB
sudo apt install mariadb-server

Achtung die Konfiguration fehlt Konfiguration wird ergänzt.

wget https://download.nextcloud.com/server/releases/latest.zip
mkdir /var/www/
cp latest.zip /var/www
cd /var/www
 
chown www-data:www-data -R /var/www/nextcloud

Nun sollte alles soweit konfiguriert sein. Bitte schau unter Apache/Apache2/httpd oder Nginx für weitere Infos zur Konfiguration eines Webservers.

sudo -u www-data php --define apc.enable_cli=1 /var/www/nextcloud/occ maintenance:mode --on
 
 
docker exec -u www-data app-server php occ app:update --all
docker exec -u www-data app-server php occ db:add-missing-indices
docker exec -u www-data app-server php occ db:add-missing-columns
docker exec -u www-data app-server php occ db:add-missing-primary-keys
 
 
sudo -u www-data php --define apc.enable_cli=1 /var/www/nextcloud/occ maintenance:repair
sudo -u www-data php --define apc.enable_cli=1 /var/www/nextcloud/occ maintenance:repair
sudo -u www-data php --define apc.enable_cli=1 /var/www/nextcloud/occ db:add-missing-columns
sudo -u www-data php --define apc.enable_cli=1 /var/www/nextcloud/occ maintenance:mode --off
sudo -u www-data php --define apc.enable_cli=1 /var/www/nextcloud/occ db:add-missing-columns
sudo -u www-data php --define apc.enable_cli=1 /var/www/nextcloud/occ db:add-missing-indices
sudo -u www-data php --define apc.enable_cli=1 /var/www/nextcloud/occ maintenance:update:htaccess
 
docker exec -u www-data app-server php occ security:bruteforce:reset 111.111.18.18
 
sudo -u www-data php occ upgrade
 
sudo systemctl restart apache2
systemctl resatrt php*
 
sudo apt install certbot python3-certbot-apache
certbot --apache

Rechte der Nextcloud Struktur setzen

Dies sollte manuell funktionieren, ansonsten dient das nachfolgende Nextcloud Skript dazu:

#!/bin/bash
nextcloudpath='/webserver/cloud'
webuser='www-data'
webgroup='www-data'
rootuser='root'
 
printf "Creating possible missing Directories\n"
mkdir -p $nextcloudpath/data
mkdir -p $nextcloudpath/assets
mkdir -p $nextcloudpath/updater
 
printf "chmod Files and Directories\n"
find ${nextcloudpath}/ -type f -print0 | xargs -0 chmod 0640
find ${nextcloudpath}/ -type d -print0 | xargs -0 chmod 0750
 
printf "chown Directories\n"
chown -R ${rootuser}:${webgroup} ${nextcloudpath}
chown -R ${webuser}:${webgroup} ${nextcloudpath}/apps/
chown -R ${webuser}:${webgroup} ${nextcloudpath}/assets/
chown -R ${webuser}:${webgroup} ${nextcloudpath}/config/
chown -R ${webuser}:${webgroup} ${nextcloudpath}/data/
chown -R ${webuser}:${webgroup} ${nextcloudpath}/themes/
chown -R ${webuser}:${webgroup} ${nextcloudpath}/updater/
 
chmod +x ${nextcloudpath}/occ
 
printf "chmod/chown .htaccess\n"
if [ -f ${nextcloudpath}/.htaccess ]
 then
  chmod 0644 ${nextcloudpath}/.htaccess
  chown ${rootuser}:${webgroup} ${nextcloudpath}/.htaccess
fi
if [ -f ${nextcloudpath}/data/.htaccess ]
 then
  chmod 0644 ${nextcloudpath}/data/.htaccess
  chown ${rootuser}:${webgroup} ${nextcloudpath}/data/.htaccess
fi