Praxis-Workshop: OwnCloud 8.2 unter Ubuntu Server 14.04 LTS installieren

Dieser Workshop erklärt die Installation der ownCloud 8.2 auf dem Ubuntu Server 14.04 LTS und gibt Tipps zur Performance-Steigerung und Backups.
Vorkenntnisse:
Foto: macka - shutterstock.com

01Vorbereitung und Installation von Ubuntu Server 14.04 LTS

Auch wenn es bereits Ubuntu Server 15.10 gibt, haben wir uns dennoch für Ubuntu Server 14.04 LTS entschieden. Das liegt ganz einfach am LTS, das für Langzeitunterstützung steht. Während Version 15.10 lediglich neun Monate mit Updates versorgt wird, bekommen Sie für Ubuntu Server 14.04 fünf Jahre lang Aktualisierungen - das Betriebssystem wird bis 2019 unterstützt. Bei einer produktiven ownCloud-Umgebung wollen Sie mit Sicherheit ein Betriebssystem einsetzen, das Sie so lange wie möglich nicht mehr anfassen müssen. Aus diesem Grund würden sich auch die aktuellen Versionen von Red Hat oder SUSE eignen. Die nächste LTS-Version von Ubuntu gibt es laut Zeitplan im April 2016. Ubuntu 16.04 LTS Xenial Xerus wird ebenfalls wieder fünf Jahre unterstützt.

Laden Sie sich im ersten Schritt den Ubuntu Server herunter und installieren Sie das Betriebssystem. Während der Installation können Sie bereits angeben, dass das System als LAMP-Server betrieben werden soll. Weiterhin empfehlen wir die Installation des Pakets OpenSSH-Server. Ubuntu Server betreiben Sie in der Regel "headless", also ohne Bildschirm. Mit OpenSSH erleichtern Sie sich später die Administration.

Wählen Sie LAMP aus, verlangt das System ebenfalls ein root-Passwort für den MySQL-Server. Weiterhin sollte der Host-Rechner mit dem Internet verbunden sein. Ist die Installation durchgeführt, aktualisieren Sie das System online. Melden Sie sich dafür auf dem System an und führen Sie die für Debian-basierte Systeme übliche Routine aus:

sudo apt-get update

sudo apt-get upgrade

Dem Ubuntu Server wurde via DHCP eine IP-Adresse zugewiesen. Das ist für einen Server nicht ganz optimal. Eine feste IP-Adresse eignet sich an dieser Stelle wesentlich besser. Entweder erledigen Sie das über den DHCP-Server oder Sie vergeben eine fixe IP-Adresse im Betriebssystem selbst. Editieren Sie dazu die Datei /etc/network/interfaces. Dort finden Sie zum Beispiel eine Sektion für die primäre Netzwerkkarte, die in unserem Fall eth0 ist. Wir haben die Sektion wie folgt geändert:

auto eth0

address 192.168.100.80

gateway 192.168.100.3

iface eth0 inet static

netmask 255.255.255.0

Diese Werte passen Sie natürlich so an, dass sie entsprechend in Ihre Netzwerkumgebung passen. In unserem Beispiel hört der Server nun auf die IP-Adresse 192.168.100.80.

Konfigurieren Sie die IP-Adresse manuell, verlieren Sie allerdings die DNS-Auflösung für das System. Editieren Sie aus diesem Grund die Datei /etc/resolvconf/resolv.conf.d/base und tragen Sie dort gültige DNS-Server ein. Die Datei ist leer, schreiben Sie die DNS-Server einfach in unterschiedliche Zeilen. Mit OpenDNS würde das so aussehen:

nameserver 208.67.222.222

nameserver 208.67.220.220

Die Google-DNS-Server würden 8.8.8.8 und 8.8.4.4 lauten. Diese setzt man ebenfalls gerne ein.

Starten Sie im Anschluss resolvconf neu:

sudo service resolvconf restart

02Apache Webserver für https konfigurieren

Auch wenn Sie die ownCloud möglicherweise intern einsetzen, wollen Sie mit Sicherheit verschlüsselt mit dem Apache Webserver kommunizieren. Dazu ist es allerdings notwendig, dass Sie ein Zertifikat für den Ubuntu Server erstellen. Weiterhin muss das Modul ssl für Apache aktiviert sein. Dies sollte nach einer LAMP-Installation bereits der Fall sein. Zur Sicherheit führen Sie aber folgenden Befehl aus:

sudo a2enmod ssl

und starten danach den Apache Webserver neu:

sudo service apache2 restart

Im Anschluss erstellen Sie ein neues Verzeichnis:

sudo mkdir /etc/apache2/ssl

und nachfolgend das selbst unterzeichnete Zertifikat, das Sie in das eben erstellte Verzeichnis legen:

sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/ssl/apache.key -out /etc/apache2/ssl/apache.crt

Führen Sie diesen Befehl aus, fragt die Software nach diversen Angaben. Dazu gehören Land, Stadt, E-Mail-Adresse und so weiter. Hier tragen Sie entsprechend ein, was zu Ihrem Unternehmen passt.

Nun editieren Sie die Datei /etc/apache2/sites-available/default-ssl.conf. Dort finden Sie eine Zeile, die mit SSLEngine on beginnt. Fügen Sie darunter die beiden eben angelegten Zertifikate ein:

SSLCertificateFile /etc/apache2/ssl/apache.crt

SSLCertificateKeyFile /etc/apache2/ssl/apache.key

Weiter unten finden Sie noch einmal zwei Zeilen, die mit SSLCertificateFile und SLCertificateKeyFile beginnen. Kommentieren Sie diese mit einem # aus oder löschen Sie diese Zeilen. Ansonsten führt das beim Apache-Neustart zu einem Fehler. Speichern Sie die Datei und aktivieren diesen mit SSL versehenen virtuellen Host:

sudo a2ensite default-ssl.conf

Für den weiteren Verlauf dieses Artikels ändern Sie außerdem die Zeile

DocumentRoot /var/www/html

in

DocumentRoot /var/www

Um später eine Security-Warnung zu vermeiden, aktivieren Sie noch mod_headers:

sudo a2enmod headers

Editieren Sie die Datei /etc/apache2/sites-available/default-ssl.conf abermals und fügen Sie zum Beispiel unter der Zeile mit ServerAdmin diese Sektion ein:

<IfModule mod_headers.c>

Header always set Strict-Transport-Security "max-age=15768000; includeSubDomains; preload"

</IfModule>

Im Anschluss starten Sie den Apache Webserver neu:

sudo service apache2 restart

Besuchen Sie nun die Seite https://192.168.100.80, bekommen Sie zwar eine Warnung wegen eines nicht vertrauenswürdigen Zertifikats, aber die Seite ist verschlüsselt. Die Warnung ist normal, da das Zertifikat von Ihnen selbst und nicht von einer autorisierten Zertifizierungsstelle ausgestellt wurde. Fügen Sie eine Ausnahme hinzu und vertrauen Sie dem Zertifikat. Ab sofort ist Ihr Apache Webserver https-fähig.

Wollen Sie die Warnung umgehen, könnten Sie alternativ auch auf Let's Encrypt setzen. Darüber bekommen Sie ein vertrauenswürdiges, kostenloses Zertifikat.