Im ersten Teil meines Protokolls zum Thema Die eigene Cloud
bin ich auf die Installation und Absicherung des Servers eingegangen. In diesem Teil geht es um die eigentliche Installation von ownCloud. Ziel ist es, Kalender- und Kontaktdaten weltweit im Zugriff zu haben, wobei sie dennoch auf eigener Hardware bleiben.
Dazu wurde die Web-Server-Software lighttpd installiert und die Kommunikation via Transport Layer Security (TLS) abgesichert. Mein (fiktiver) Web-Server ist nun ausschließlich unter https://owncloud.dahlen.org/ erreichbar.
Installation von ownCloud
Wegen der begrenzten Ressourcen des Raspberry PI wurde nicht auf das ownCloud-Paket der Distribution (Raspian) zurückgegriffen, da hier eine Abhängigkeit zum Apache 2 http-Server besteht. Dennoch kann das Gros der notwendigen Software aus den Paketquellen der Distribution genommen werden, z.B. PHP5 mit seinen Modulen:
$ sudo apt-get install php5-gd php5-curl php5-sqlite php5-cgi
PHP5
Nach der Installation von PHP5 sind bei Bedarf zwei Einstellungen anzupassen, welche Auswirkung auf den gleichen Aspekt haben: Die maximale Größe für Uploads nach ownCloud. Es handelt sich um folgende Parameter, die sich in der Datei /etc/php5/cgi/php.ini befinden:
- upload_max_filesize
- post_max_size
Ich habe beide Werte auf 16M gesetzt. In erster Linie möchte ich ownCloud für Kalender- und Kontaktdaten nutzen, aber mit 16MB sind auch mal ein Bild oder ein größeres Dokument drin.
Vor dem Beginn der eigentlichen Installation von ownCloud muß PHP5 noch via FastCGI angebunden werden. Dazu ist auch ein Neustart des Web-Servers notwendig:
$ sudo lighttpd-enable-mod fastcgi-php
$ sudo service lighttpd force-reload
ownCloud
Jetzt kann das ownCloud-Setup-Skript direkt vom Anbieter gezogen werden. Abgelegt wird es im Document-Root des Web-Servers /var/www/:
$ sudo wget -O /var/www/setup-owncloud.php \
https://download.owncloud.com/download/community/setup-owncloud.php
Außerdem sind noch Berechtigungen anzupassen, damit ownCloud Daten nachladen und installieren kann:
$ sudo chown www-data:www-data /var/www /var/www/setup-owncloud.php
Schließlich wird das Skript im Browser aufgerufen, gemäß Beispiel lautet die URL zum Setup https://owncloud.dahlen.org/setup-owncloud.php.
Es erscheint der Begrüßungsbildschirm der Installation. Dieser kann ohne Änderungen per Next
bestätigt werden.
Der Startbildschirm der OwnCloud Installation
Im folgenden Dialog kann man das Zielverzeichnis der Installation auswählen, relativ zum Document Root. Auch hier reicht ein Klick auf Next
, auch wenn man mit owncloud nicht einverstanden ist (dazu später mehr):
Im Hintergrund lädt ownCloud nun die aktuelle Version vom ownCloud-Server und entpackt sie im vorhin gewählten Zielverzeichnis. Je nach Internet-Anbindung kann dieser Schritt etwas dauern. Sein Abschluß wird durch den dritten Dialog berichtet, den man wieder über Next
bestätigt.
Schließlich wird nach den Anmeldedaten des ersten Benutzers gefragt. Dieser wird automatisch zum Administrator. Nachdem man Benutzernamen und Passwort eingetragen hat, kann die Installation über die entsprechende Schaltfläche abgeschlossen werden.
Im letzten Dialog war ein roter Textabschnitt zu sehen. Sinngemäß wird dadrin darauf hingewiesen, daß alle Daten, die man ownCloud anvertraut ohne jede Zugangskontrolle abrufbar sind. Darum wird lighttpd (und damit ownCloud) jetzt erstmal runtergefahren:
$ sudo service lighttpd stop
Nun zu Ursache und Beseitigung der Warnung: ownCloud speichert die meisten seiner Daten in einem Unterverzeichnis namens data. Dieses Verzeichnis wird in der Regel über eine Datei namens .htaccess vor direkten Zugriffen aus dem Internet geschützt. Nur indirekt, über die ownCloud-Software und das dort integrierte Rechtemanagement soll der Zugriff erfolgen.
lighttpd bietet aber keine Unterstützung für die Anweisungen in der .htaccess-Datei, darum besteht auch kein Zugriffsschutz. Zwar bietet auch lighttpd ähnliche Mechanismen, aber ich wähle einen anderen Weg.
Als erstes ersetze ich /var/www/owncloud durch /var/www, weil ich keine weitere Anwendung auf dem Raspberry PI laufen lassen werde.
$ sudo mv /var/www /var/www.off
$ sudo mv /var/www.off/owncloud /var/www
$ sudo rm -r /var/www.off
Dann verschiebe ich das data-Verzeichnis aus dem Bereich des Webservers.
$ sudo mkdir -p /srv/owncloud
$ sudo chown www-data:www-data /srv/owncloud
$ sudo mv /var/www/data /srv/owncloud
Den neuen Ort des data-Verzeichnisses müssen wir ownCloud bekannt machen, dazu wird der alte Wert in der Konfigurationsdatei /var/www/config/config.php geändert.
Aus
'datadirectory' => '/var/www/owncloud/data',
wird also
'datadirectory' => '/srv/owncloud/data',
Zeit lighttpd (und damit owncloud) neu zu starten.
$ sudo service lighttpd start
Damit ist die Installation von ownCloud abgeschlossen. Sie steht (nur lt. meinem Beispiel) jetzt direkt unter https://owncloud.dahlen.org/ zur Verfügung.
Im nächsten Teil gehe ich auf die Anbindung von Kontakten und Kalender via iOS und anderen Clients ein.
Schreibe einen Kommentar