Benutzer-Werkzeuge

Webseiten-Werkzeuge


 [[anwenderwiki:owncloud:nextcloud10]] 

Nextcloud 10 - Erfahrungsbericht

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.

1. Ubuntu-Server installieren

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.

  • Name: „nextserver“
  • Administrativer Benutzer: „nextadmin“
  • Softwareauswahl: Standard + LAMP + openSSH
  • kein Passort für MySQL setzen
  • Netzwerk: per dhcp erhält er die IP 10.16.1.8
  • root-Zugang freigeschaltet (macht die Administration einfacher)

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

2. NextCloud installieren

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:

nextcloud.conf
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

3. Datenbank erstellen

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).

4. Webkonfiguration durchführen

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.

5. Cronjob einrichten

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

6. Umstellen auf LDAP-Authentifizierung

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

7. Weitere Einstellungen

PHP Memory Cache einrichten (wegen der Performanz)

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',
 ...
 [[anwenderwiki:owncloud:nextcloud10]] anwenderwiki/owncloud/nextcloud10.txt · Zuletzt geändert: 2016/11/21 19:40 von 127.0.0.1