Benutzer-Werkzeuge

Webseiten-Werkzeuge


server:nextcloud:installation:nextcloudinstallation:start

Dies ist eine alte Version des Dokuments!


Installation Nextcloud

Nextcloud herunterladen

Download der aktuellsten Nextcloud-Version, Entpacken und anschließendes Löschen des Archivs:

cd
wget https://download.nextcloud.com/server/releases/latest.tar.bz2
tar -xjf latest.tar.bz2 -C /var/www
rm latest.tar.bz2

Verzeichnisrechte setzen:

chown -R www-data:www-data /var/www/nextcloud

Anlegen des Datenverzeichnisses

Datenverzeichnis außerhalb des Web-Roots anlegen und entsprechende Verzeichnis-Rechte setzen.

mkdir -p /var/nextcloud_data 
chown -R www-data:www-data /var/nextcloud_data
mkdir -p /mnt/dataSSD/nextcloud/data/
chown -R www-data:www-data /mnt/dataSSD/nextcloud/data/

Eine Datenbank für Nextcloud erstellen

Anmeldung an die Datenbank:

mysql -u root -p

Nach erfolgreicher Anmeldung stehen Sie dann im Prompt von MariaDB:

MariaDB [(none)]>

Anlegen eines Datenbank-Benutzers für die Nextcloud:

CREATE USER nextclouduser@localhost IDENTIFIED BY 'pfmipLkHGKoBlE23';

Anlegen einer Datenbank für Nextcloud:

CREATE DATABASE nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

Berechtigungen des Nextcloud-Datenbank-Benutzers für die Datenbank setzen:

GRANT ALL PRIVILEGES on nextcloud.* to nextclouduser@localhost;

Berechtigungen der Datenbank neu laden:

FLUSH privileges;

MariaDB-Kommandozeile beenden:

exit;

Das Setup von Nextcloud ausführen

Aufruf der Nextcloud-URL im Browser (https://nextcloud.hoeglinger.name)
Daten für das Setup für Nextcloud:

  • Anmelden: beliebiger Benutzername (automatisch Benutzer mit Admin-Rechten in der Cloud)
  • Passwort: Ein beliebiges, sicheres Passwort
  • Datenverzeichnis: /var/nextcloud/data
  • Datenbank einrichten: MySQL/MariaDB (falls hier eine Auswahl angeboten wird)
  • Datenbankkonto: Der Datenbank-Benutzer für Nextcloud (nextclouduser)
  • Datenbank-Passwort: Das Passwort des Datenbank-Benutzers für Nextcloud
  • Datenbank-Name: Name der Datenbank, welche für Nextcloud angelegt wurde (nextcloud)
  • Datenbank-Host: Maschine, auf der die Datenbank zu finden ist (localhost)

Weiter mit einem Klick auf “Installieren” Die Installation der “Empfohlenen Apps sollte” mit “Überspringen” abgelehnt werden.

Die Nextcloud-Installation optimieren

Sichern der config.php von Nextcloud. Den Benutzernamen ‘jan’ müssen Sie natürlich durch Ihren eigenen Benutzernamen unter Linux ersetzen. Diese Datei enthält sensible Informationen, daher die Datei an einem Ort speichern, auf den nur Sie Zugriff haben.

cp /var/www/nextcloud/config/config.php /home/eugen/config.php

Festlegen einer Startzeit für das Wartungsfenster

Öffnen der Konfigurationsdatei von Nextcloud:

nano /var/www/nextcloud/config/config.php

Angabe der Startzeit des Wartungszeitfensters am Ende der Datei, aber noch vor der schließenden Klammer:

'maintenance_window_start' => 1,

Hinweis: Angabe erfolgt hier in UTC. Ein Wert von ‘1’ bedeutet hier also 01:00 UTC und dementsprechend 02:00 MEZ/03:00 MESZ.

Redis für transaktionale Dateisperren nutzen

config.php öffnen:

nano /var/www/nextcloud/config/config.php

Folgende Zeilen am Ende der Datei (aber vor der letzten schließenden Klammer) einfügen:

'filelocking.enabled' => true,
'memcache.locking' => '\OC\Memcache\Redis',
'redis' => array (
    'host' => '/var/run/redis/redis-server.sock',
    'port' => 0,
    'timeout' => 0.0,
),

Die Änderungen werden mit dem Speichern der config.php aktiv.

Konfiguration eines Speichercaches

config.php öffnen:

nano /var/www/nextcloud/config/config.php

Am Ende (aber wieder vor der letzten schließenden Klammer) folgende Zeile einfügen:

'memcache.local' => '\OC\Memcache\APCu',
'memcache.distributed' => '\OC\Memcache\Redis',

Standard-Telefonregion festlegen

Öffnen der Konfigurationsdatei von Nextcloud:

nano /var/www/nextcloud/config/config.php

Angabe der Standard-Telefonregion am Ende der Datei, aber noch vor der schließenden Klammer:

'default_phone_region' => 'AT',

Einstellungen zum E-Mail-Server

Tragen Sie zunächst in den persönlichen Einstellungen Ihre private Mail-Adresse unter “E-Mail-Adresse” ein. Anschließend legen Sie ein neues E-Mail-Postfach an, welches nur für den Versand von Mail über die Nextcloud dient. Dazu können Sie auch einen beliebigen Freemail-Service nutzen. In den Admin-Einstellungen unter “Grundeinstellungen” muss anschließend der SMTP-Zugang konfiguriert werden. Hier eine Auswahl an SMTP-Einstellungen einiger Freemail-Anbieter:

• Google Mail:  https://support.google.com/mail/answer/7126229?hl=de#zippy=%2Cschritt-smtp--und-andere-einstellungen-im-e-mail-client-%C3%A4ndern
• GMX:  https://hilfe.gmx.net/pop-imap/pop3/serverdaten.html
• web.de:  https://hilfe.web.de/pop-imap/imap/imap-serverdaten.html

Einen Cronjob für Nextcloud einrichten

Crontab des Users www-data bearbeiten:

crontab -u www-data -e

Fügen Sie folgende Zeile ein:

*/5 * * * * php -f /var/www/nextcloud/cron.php > /dev/null 2>&1

In den Admin-Einstellungen unter ‘Grundeinstellungen’ sollte in der Nextcloud nun automatisch der Eintrag ‘Cron (Empfohlen)’

Die Nextcloud-Installation anpassen, wenn am Server auch andere Programme laufen sollen

Die Configuration von Nextcloud verschieben

mv /etc/nginx/conf.d/nextcloudfuerdummies.decatec.de.conf /etc/nginx/sites-available/nextcloud.conf

Oder wenn die nicht existiert, dann

mv /etc/nginx/conf.d/nextcloud.conf /etc/nginx/sites-available/nextcloud.conf

Symlink setzen

ln -s /etc/nginx/sites-available/nextcloud.conf /etc/nginx/sites-enabled/nextcloud.conf

Nginx testen und neu laden

nginx -t
systemctl reload nginx

Fehlende Include‑Zeile einfügen

Datei öffnen

nano /etc/nginx/nginx.conf

Und füge innerhalb des http { … }‑Blocks, direkt unter der Zeile:

include /etc/nginx/conf.d/*.conf;

diese Zeile ein:

include /etc/nginx/sites-enabled/*.conf;

Der Block muss danach so aussehen:

http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;
log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';
access_log  /var/log/nginx/access.log  main;
sendfile        on;
    keepalive_timeout  65;
    server_tokens off;
include /etc/nginx/conf.d/*.conf;
    include /etc/nginx/sites-enabled/*.conf;
}

Speichern: CTRL+O Enter Beenden: CTRL+X Nginx testen

nginx -t

Muss „successful“ melden. Nginx neu laden

systemctl reload nginx

Port 443 testen

openssl s_client -connect wiki.hoeglinger.name:443 -servername wiki.hoeglinger.name | grep subject=
server/nextcloud/installation/nextcloudinstallation/start.1780007960.txt.gz · Zuletzt geändert: von 91.115.82.214