Benutzer-Werkzeuge

Webseiten-Werkzeuge


 [[anwenderwiki:owncloud:owncloud9]] 

OwnCloud 9.1 - Erfahrungsbericht

zur → Übersicht im Anwenderwiki

Hier wurde OwnCloud 9.1.0 auf einem ubuntu 16.04 server installiert (Stand Sep'2016). Der im folgenden bezeichnete „oserver“ wird dabei im grünen Netz mit der IP 10.16.1.7 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 „oserver“ und die IP 10.16.1.7 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 OwnCloud.

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

Jetzt php-ldap installieren und aktivieren:

# apt-get update
# apt-get install php-ldap
# a2enmod ldap  
# service apache2 restart

Abschließend noch das Datenverzeichnis für OwnCloud anlegen:

# mkdir -p /home/owncloud
# chown www-data:www-data /home/owncloud

2. OwnCloud installieren

Als root an der Konsole folgende Befehle ausführen:

# wget -nv https://download.owncloud.org/download/repositories/9.1/Ubuntu_16.04/Release.key -O Release.key
# apt-key add - < Release.key
# sh -c "echo 'deb http://download.owncloud.org/download/repositories/9.1/Ubuntu_16.04/ /' >> /etc/apt/sources.list.d/owncloud.list"
# apt-get update
# apt-get install owncloud

3. Datenbank erstellen

Standardmäßig wird eine sqlite-Datenbank angelegt. Diese ist jedoch nicht besonders performant, deshalb wird Mysql als Datenbank empfohlen. Diese muss nun angelegt werden, als root an der Konsole:

# mysql

und dann in der MySQL-Konsole:

  mysql> CREATE USER 'oadmin'@'localhost' IDENTIFIED BY '12345678';
  mysql> CREATE DATABASE IF NOT EXISTS owncloud;
  mysql> GRANT ALL PRIVILEGES ON owncloud.* TO 'oadmin'@'localhost' IDENTIFIED BY '12345678';
  mysql> quit

Das Passwort „12345678“ natürlich ersetzen :-). Die Datenbank heißt hier „owncloud“, der Benutzer „oadmin“ (kann ggf. auch geändert werden).

4. Webkonfiguration durchführen

Im Webbrowser dann die Konfiguration starten mit: http://10.16.1.7/owncloud und einen Admin anlegen z.B. „oadmin“.
Hier kann man ggf. auch auf MySQL umstellen, dazu muss man den Punkt „Speicher & Datenbank“ auswählen und obige Mysql-Daten eintragen. Die Datenbanktabellen erstellt dann Owncloud automatisch.

Standardmäßig wird alles unter /var/www/owncloud/ abgelegt, die Config-Datei /var/www/owncloud/config/config.php und das Datenverzeichnis ist /var/www/owncloud/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/owncloud. Dies dann bei der Webkonfiguration angeben. Das Datenverzeichnis muss für „www-data“ schreibbar sein.

5. Cronjob einrichten

Als oadmin an der Weboberfläche anmelden und bei Administration den Cronjob auf „Cron“ - Systemdienst setzen:

Dann als root beim „oserver“ an der Konsole den Job einrichten:

# crontab -u www-data -e

und eine Zeile ergänzen:

*/15  * * * *  php -f /var/www/owncloud/cron.php

6(a). Umstellen auf LDAP-Authentifizierung

Auf dem linuxmuster.net - Server muss man für die IP des oservers eine Zeile ergänzen, so dass der „oserver“ Zugriff auf die LDAP-Datenbank erhält: In der Datei /etc/ldap/slapd.conf (Reihenfolge beachten: direkt nach den vorhandenen „anonymous“-Einträgen):

...
#Limits Access:
access to ..........
    
       by anonymous peername.ip=10.16.1.7 auth
...

Dann am linuxmuster.net-Server den ldap-Dienst neu starten:

# service slapd restart

Als oadmin auf der Weboberfläche:
→ Apps → nicht aktiviert → LDAP user and group backend → aktivieren
→ Administration → LDAP

Dabei Benutzer-DN und Passwort leer lassen! Die LDAP-Basis-DN der eigenen Konfiguration anpassen.

Objektklasse „posixAccount“ auswählen:  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

6(b). Optional: Umstellen auf LDAPS-Authentifizierung

Die ldaps-Konfiguration funktionierte bei mir nicht immer stabil.

Einstellung zunächst wie oben bei 6(a), dann:
Als oadmin auf der Weboberfläche: → Administration → LDAP

Dabei Benutzer-DN und Passwort leer lassen!
Die LDAP-Basis-DN der eigenen Konfiguration anpassen.

SSL-Zertifikatsprüfung abschalten:

Die Authentifizierung gegen einen LDAPS Server mit ungültigem SSL Zertifikat funktioniert nur, wenn man auf dem oserver
in die Datei /etc/ldap/ldap.conf folgende Zeile einträgt:

TLS_REQCERT never

7. Weitere Einstellungen

Trusted_Domains

In der Datei /var/www/config/config.php weitere Domainnamen des „oserver“ eintragen:

 'trusted_domains' =>
 array (
   0 => '10.16.1.7', 1 => 'oserver', 2 => 'oserver.linuxmuster-net.lokal',
 ),

Zugriff nur per https zulassen

In der Datei /etc/apache2/sites-available/default-ssl.conf am Ende ergänzen:

...
<IFModule mod_headers.c>
  Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains" 
</IFModule>

In der Datei /etc/apache2/sites-available/000-default.conf ergänzen:

<VirtualHost *:80>
  ...
  Redirect permanent / https://oserver/ 
</VitrualHost>

Abschließend an der Konsole als root:

 # ln -s /etc/apache2/sites-available/default-ssl.conf /etc/apache2/sites-enabled/
 # a2enmod ssl
 # a2enmod headers
 # service apache2 restart

Zugriff nur für Lehrer zulassen

Unter
→ Administration → LDAP → BENUTZER
den Filter der LDAP-Anfrage manuell bearbeiten und auf „(&(objectclass=posixAccount)(gidnumber=10000))“ setzen:

Die primäre Gruppe der Lehrer hat bei linuxmuster.net die gidnumber 10000.

PHP Memory Cache einrichten (wegen der Performance)

Am „oserver“ an der Konsole als root:

# apt-get install redis-server php-redis
# service apache2 restart

dann in der Datei /var/www/owncloud/config/config.php folgendes ergänzen:

 ...
 'memcache.local' => '\\OC\\Memcache\\Redis',
 'redis' => array (
            'host' => 'localhost',
            'port' => 6379,
            ),
 'memcache.locking' => '\\OC\\Memcache\\Redis',
 ...
 [[anwenderwiki:owncloud:owncloud9]] anwenderwiki/owncloud/owncloud9.txt · Zuletzt geändert: 2016/11/16 17:58 von 127.0.0.1