zur → Übersicht im Anwenderwiki
NextCloud ist seit 2016 ein Fork von OwnCloud, der gegenüber OwnCloud Funktionen hat, die es dort nur in der Enterprise Version gibt.
Hier wurde Nextcloud 10.0 auf einem ubuntu 16.04 server installiert (Stand Sep'2016). Der im folgenden bezeichnete „nextserver“ wird dabei im grünen Netz mit der IP 10.16.1.8 betrieben. Die Benutzer werden per ldap vom linuxmuster.net-Server eingebunden.
Ob man aus Sicherheitsgründen auf https und/oder ldaps umstellt ist optional.
Zuerst den Ubuntu-Server mit seiner MAC in der Schulkonsole bei den Hosts (Workstations) aufnehmen, hier wurde ihm der Name „nextserver“ und die IP 10.16.1.8 zugeordnet.
Der Ubuntu-Server wurde vitualisiert unter VMWare (mit.iso-Datei) installiert mit folgenden Eigenschaften. Die Softwareauswahl LAMP installiert dabei fast alle notwendigen Pakete für die NextCloud.
Jetzt weitere Pakete installieren und aktivieren:
# apt-get update # apt-get install php-ldap # apt-get install php7.0-gd php7.0-curl php7.0-zip php7.0-xml php7.0-mbstring # a2enmod ldap # a2enmod rewrite # a2enmod headers # a2enmod ssl # service apache2 restart
Abschließend noch das Datenverzeichnis für NextCloud anlegen:
# mkdir -p /home/nextcloud # chown www-data:www-data /home/nextcloud # chmod 750 /home/nextcloud
Für NextCloud gibt es bisher kein Paket zur Installation, somit müssen folgende Schritte einzeln abgearbeitet werden.
# wget https://download.nextcloud.com/server/releases/nextcloud-10.0.0.zip # unzip nextcloud-10.0.0.zip # cp -r nextcloud /var/www/ # chown www-data:www-data /var/www/nextcloud/ -R
Nun für den Webserver apache2 die Konfigurationsdatei anlegen unter /etc/apache2/sites-available/nextcloud.conf
, z.B. mit dem editor „nano“:
# nano /etc/apache2/sites-available/nextcloud.conf
Dateiinhalt:
Alias /nextcloud "/var/www/nextcloud" <VirtualHost *:80> DocumentRoot "/var/www/nextcloud" ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined <Directory /var/www/nextcloud/> Options +FollowSymlinks AllowOverride All <IfModule mod_dav.c> Dav off </IfModule> SetEnv HOME /var/www/nextcloud SetEnv HTTP_HOME /var/www/nextcloud Satisfy Any </Directory> </VirtualHost>
Und aktivieren:
# a2ensite nextcloud # service apache2 restart
MySQL wird als Datenbank empfohlen. Diese muss nun angelegt werden, als root an der Konsole (falls mysql kein Passwort gesetzt hat):
# mysql
oder mit mysql-Passwort:
# mysql -p
und dann in der MySQL-Konsole:
CREATE USER 'nextadmin'@'localhost' IDENTIFIED BY '12345678'; CREATE DATABASE IF NOT EXISTS nextcloud; GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextadmin'@'localhost' IDENTIFIED BY '12345678'; flush privileges; quit
Das Passwort „12345678“ natürlich ersetzen . Die Datenbank heißt hier „nextcloud“, der Benutzer „nextadmin“ (kann ggf. auch geändert werden).
Im Webbrowser dann die Konfiguration starten mit: „http://10.16.1.8/nextcloud“
und einen Admin anlegen z.B. „nextadmin“.
Nun obige MySQL-Daten eintragen. Die Datenbanktabellen erstellt dann NextCloud automatisch.
Standardmäßig wird alles unter /var/www/nextcloud/
abgelegt, die Config-Datei /var/www/nextcloud/config/config.php
und das Datenverzeichnis ist /var/www/nextcloud/data
. Alle Systemeinstellungen landen hingegen in der Datenbank.
Aus Sicherheitsgründen ist es sinnvoll das Datenverzeichnis außerhalb von /var/www
anzulegen, hier z.B. unter /home/nextcloud
. Dies dann bei der Webkonfiguration angeben. Das Datenverzeichnis muss für „www-data“ schreibbar sein.
Als nextadmin an der Weboberfläche anmelden und bei Administration den Cronjob auf „Cron“ - Systemdienst setzen:
Dann als root beim „nextserver“ an der Konsole den Job einrichten:
# crontab -u www-data -e
und eine Zeile ergänzen:
*/15 * * * * php -f /var/www/nextcloud/cron.php
Auf dem linuxmuster.net-Server muss man für die IP des nextservers eine Zeile ergänzen, so dass der „nextserver“ Zugriff auf die LDAP-Datenbank erhält: In der Datei /etc/ldap/slapd.conf eine Zeile ergänzen (Reihenfolge beachten, direkt nach den vorhandenen „anonymous“-Einträgen):
... #Limits Access: access to .......... by anonymous peername.ip=10.16.1.8 auth ...
Dann am linuxmuster.net-Server den ldap-Dienst neu starten:
# service slapd restart
Als nextadmin auf der Weboberfläche von NextCloud:
→ Apps → nicht aktiviert → LDAP user and group backend → aktivieren
→ Administration → LDAP
Dabei Benutzer-DN und Passwort leer lassen! Die LDAP-Base-DN der eigenen Konfiguration anpassen.
Objektklasse „posixAccount“ auswählen und Objektklasse „posixGroup“ auswählen:
Alle weiteren Einstellungen wurden nach der Vorgabe beibehalten. Die angebotene Gruppenfilterung funktioniert leider nicht (Lösung s.u.).
Dann kann man sich sofort über LDAP anmelden.
Siehe auch Dokumentation → benutzer_aus_ldap
Am „nextserver“ an der Konsole als root:
# apt-get install redis-server php-redis # service apache2 restart
dann in der Datei /var/www/nextcloud/config/config.php
folgendes ergänzen:
... 'memcache.distributed' => '\\OC\\Memcache\\Redis', 'memcache.local' => '\\OC\\Memcache\\Redis', 'redis' => array ( 'host' => 'localhost', 'port' => 6379, ), 'memcache.locking' => '\\OC\\Memcache\\Redis', ...