Anleitungen

Erstellung Nextcloud unter Debian 11

Schlagwörter: nextcloud

Erstellung einer Nextcloud unter Debian 11

 Die Installationsmedien für den zugrundeliegenden Linux-Server erhalten Sie hier:

Ubuntu 20.04.x LTS:

Server-Installation - SSH wird vorausgesetzt

Debian 11.x: Net ISO Installation - Standardsystemwerkzeuge u. SSH werden vorausgesetzt

 Nur Debian Server:

su -
apt install -y sudo
usermod -aG sudo <IhrAktuellerBenutzer>
exit
exit

 Ab hier geht es wieder für beide Server-Betriebssysteme (Ubuntu und Debian) weiter:

Wechseln Sie mittels sudo zu Ihrem privilegierten Benutzer:

sudo -s

Laden Sie das Installationsskript nach /usr/local/src herunter:

**cd /usr/local/src && apt install -y bzip2 wget**
 
**Debian** v. 3.4.1:
wget [[https://it-services.c-rieger.de/s/TgrELJyJLYt6trk/download]] -O install.zip
 
**Ubuntu** v. 3.4.1:
wget [[https://it-services.c-rieger.de/s/r76FgAWcLN7HsM7/download]] -O install.zip

und entpacken dort das Skript:

apt install -y unzip && unzip install.zip

Markieren Sie das Skript als „ausführbar“

chmod +x install.sh

und führen es dann zur Installation aus:

./install.sh

 Das Logfile finden Sie unter /usr/local/src/install.log. Sie werden im Lauf der Installation nach folgenden Daten gefragt:

**MariaDB**:
- Enter current password for root (enter for none): |ENTER|
- Switch to unix_socket authentication [Y/n]: <Y> + |ENTER|
- Change the root password? [Y/n]: <Y> + |ENTER|
- New password: <Ihr MariaDB-Root Passwort> + |ENTER|
- Re-enter new password: <Ihr MariaDB-Root Passwort> + |ENTER|
- Remove anonymous users? [Y/n]: <Y> + |ENTER|
- Disallow root login remotely? [Y/n]: <Y> + |ENTER|
- Remove test database and access to it? [Y/n]: <Y> + |ENTER|
- Reload privilege tables now? [Y/n]: <Y> + |ENTER|
 
**Nextcloud**:
- Enter your Nextcloud Administrator: <Name des Nextcloud Administrator> + |ENTER|
- Enter your Nextcloud Administrator password: <Passwort des Nextcloud Administrator> + |ENTER|
- Enter your absolute Nextcloud datapath (/your/path): </absoluter Pfad/zum/Datenverzeichnis> + |ENTER|
 
**SSH**:
- Command may disrupt existing ssh connections. Proceed with operation (y|n)? <Y> + |ENTER|

  Optional: Einrichtung von SSL über Let’s Encrypt

Bitte stellen Sie zuerst sicher, dass Ihr Server sowohl über Port 80/TCP als auch über Port 443/TCP von außen erreichbar ist.

 Für die Let’s Encrypt – Zertifikatserstellung wechseln Sie in die Shell des technischen Benutzers acmeuser

su - acmeuser

und requestieren (beantragen) dann die SSL-Zertifikate. Ersetzen Sie dabei ihre.domain.de mit Ihrer „echten“ Domain :

acme.sh --issue -d **ihre.domain.de** --server letsencrypt --keylength 4096 -w /var/www/letsencrypt --key-file /etc/letsencrypt/rsa-certs/privkey.pem --ca-file /etc/letsencrypt/rsa-certs/chain.pem --cert-file /etc/letsencrypt/rsa-certs/cert.pem --fullchain-file /etc/letsencrypt/rsa-certs/fullchain.pem --reloadcmd "sudo /bin/systemctl reload nginx.service"
acme.sh --issue -d **ihre.domain.de** --server letsencrypt --keylength ec-384 -w /var/www/letsencrypt --key-file /etc/letsencrypt/ecc-certs/privkey.pem --ca-file /etc/letsencrypt/ecc-certs/chain.pem --cert-file /etc/letsencrypt/ecc-certs/cert.pem --fullchain-file /etc/letsencrypt/ecc-certs/fullchain.pem --reloadcmd "sudo /bin/systemctl reload nginx.service"

Verlassen Sie die Shell des neuen Benutzers

exit

und und fügen die neue Domain in Ihrer Nextcloud hinzu. Ersetzen Sie ihre.domain.de mit Ihrer „echten“ Domain:

sudo -u www-data php /var/www/nextcloud/occ config:system:set trusted_domains 1 --value=**ihre.domain.de**

Setzen Sie Ihre Domain als overwrite.cli.url. Ersetzen Sie dabei ihre.domain.de mit Ihrer Domain:

sudo -u www-data php /var/www/nextcloud/occ config:system:set overwrite.cli.url --value=https://**ihre.domain.de**

Legen Sie sich dann ein Skript an, dass zukünftig die Berechtigungen überprüft und korrigiert (permissions.sh):

nano /root/permissions.sh

Kopieren Sie alle Zeilen in die Datei permissions.sh.
Passen Sie ggf. das Datenverzeichnis im Skript an, sofern Sie nicht das exemplarische /daten -Verzeichnis während der Skriptinstallation verwendet haben.

#!/bin/bash
find /var/www/ -type f -print0 | xargs -0 chmod 0640
find /var/www/ -type d -print0 | xargs -0 chmod 0750
chmod -R 775 /var/www/letsencrypt /etc/letsencrypt 
chown -R www-data:www-data /var/www /etc/letsencrypt
chown -R www-data:www-data **/daten**
chmod 0644 /var/www/nextcloud/.htaccess
chmod 0644 /var/www/nextcloud/.user.ini
exit 0

Markieren Sie das Skript als ausführbar und führen es dann direkt aus:

chmod +x /root/permissions.sh && /root/permissions.sh

Entfernen Sie Ihre bisher verwendeten Self-Signed-Zertifikate aus nginx und aktivieren Sie die neuen, vollwertigen und bereits gültigen SSL Zertifikate von Let’s Encrypt:

sed -i '/ssl-cert-snakeoil/d' /etc/nginx/conf.d/nextcloud.conf
sed -i s/#\ssl/\ssl/g /etc/nginx/conf.d/nextcloud.conf
service nginx restart

Über einen automatisch angelegten Cronjob

crontab -l -u acmeuser

werden Ihre SSL-Zertifikate fortan regelmäßig und vollautomatisch erneuert. Bitte nehmen Sie sich etwas Zeit und überprüfen den Sicherheitsstatus Ihres Servers. Ziel sollte mind. folgendes „A+“-Ergebnis sein.

   

0 Anhänge
304 Aufrufe
Durchschnitt (0 Stimmen)
Kommentare
Noch keine Kommentare. Seien Sie der Erste.

Wiki-Navigation Wiki-Navigation