Springe zum Inhalt

Installation von ownCloud auf Ubuntu 12.04 LTS

Einleitung

Nachdem Dropbox immer häufiger negativ in der Presse steht und ich mich eh nicht getraut habe, dort wirklich sensible Daten zu speichern, habe ich mich entschieden, einmal die Dropbox-Alternative ownCloud auszuprobieren.

Da auf meinem Homeserver Ubuntu 12.04 LTS installiert ist, hatte ich bei der Installation ein paar Probleme, da die Installationsanleitung auf der ownCloud-Homepage (Link) scheinbar nur für Debian ist, auch wenn beim Durchstarten des Apaches ein Befehl verwendet wird, bei dem extra erwähnt wird, dass er für Ubuntu ist. Deshalb teile ich meine Erfahrungen mit euch in Form dieses Tutorials.

Voraussetzungen

Voraussetzung für dieses Tutorial ist, dass bereits bei der Installation des Systems ausgewählt wurde, dass hier ein LAMP-Server aufgebaut werden soll. Auf diesem Weg wird am Einfachsten sichergestellt, dass man auch ein funktionierendes LAMP-System hat. Sollte dies auf eurem Ubuntu-System nicht der Fall sein, könnt ihr dies sehr einfach nachholen indem ihr den folgenden Befehl ausführt.

sudo tasksel install lamp-server

Wenn ihr mit Hilfe des durch diesen Befehl gestarteten Assistenten erfolgreich euren LAMP-Server installiert habt, könnt ihr das Tutorial ganz normal weiter abarbeiten.

Weiterhin setze ich natürlich voraus, dass ihr per Kommandozeile auf euren Server zugreifen könnt. Hierbei spielt es keine Rolle, ob ihr mit Tastatur und Monitor direkt vor eurem Server sitzt oder ob ihr per SSH darauf zugreift.

Vorbereiten des Systems

Bevor die eigentliche Installation von ownCloud beginnen kann, müssen noch ein paar Anpassungen an eurer Ubuntu-Installation gemacht werden. Diese umfassen die Installation zusätzlicher Pakete, eine kleine Anpassungen des Apache Webservers und die Einrichtung von MySQL für ownCloud.

Installation weiterer Pakete

Um ownCloud mit der Standardinstallation eines LAMP-Servers nutzen zu können, benötigt ihr zwei zusätzliche PHP-Pakete. Diese könnt ihr ganz normal über das Paketverwaltungswerkzeug apt installieren. Die beiden noch fehlenden Pakete sind php5-curl und php5-gd. Zur Installation könnt ihr den folgenden Befehl verwenden:

sudo apt-get install php5-curl php5-gd

Anpassen der Konfiguration des Apache-Webservers

In der Konfiguration des Apache-Webservers müssen mehrere Kleinigkeiten angepasst werden. Zum Einen muss sichergestellt werden, dass der Webserver .htaccess-Dateien verarbeitet und andererseits müssen für die Nutzung von ownCloud noch zwei weitere Apache-Module aktiviert werden.

Verarbeitung der .htaccess-Dateien sicherstellen

Damit der Apache-Webserver die .htaccess-Dateien verarbeitet, habe ich eine neue Datei mit den Einstellungen für das ownCloud-Verzeichnis angelegt:

sudo vi /etc/apache2/sites-available/owncloud

In diese Datei fügt ihr den folgenden Inhalt ein:

<VirtualHost *:80>
  <Directory /var/www/owncloud>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    allow from all
  </Directory>
</VirtualHost>

Nachdem diese Datei angelegt ist, muss man dem Apache-Webserver noch sagen, dass diese Seite aktiv ist:

sudo a2ensite owncloud

Den Vorschlag, die Konfiguration neu zu laden, könnt ihr an dieser Stelle ignorieren, da wir im nächsten Schritt noch Apache-Module installieren und danach sowieso ein Restart des Webservers erforderlich ist.

Weiterhin muss auch noch die Standard-Datei angepasst werden, die die Informationen zum übergeordneten Verzeichnis /var/www enthält:

sudo vi /etc/apache2/sites-available/default

In dieser Datei ist standardmäßig der folgende Abschnitt zu finden:

<Directory /var/www/>
  Options Indexes FollowSymLinks MultiViews
  AllowOverride None
  Order allow,deny
  allow from all
</Directory>

Hier muss der Wert für die Option AllowOverride auf "All" gesetzt werden. Danach sieht der Abschnitt also folgendermaßen aus:

<Directory /var/www/>
  Options Indexes FollowSymLinks MultiViews
  AllowOverride All
  Order allow,deny
  allow from all
</Directory>

Nachdem diese Anpassungen erfolgt sind, verarbeitet der Apache-Webserver auch die .htaccess-Datei von ownCloud und eure Daten sind auch nicht direkt von außen erreichbar.

Aktivieren weiterer Apache-Module

Damit ownCloud funktioniert, sind auf einem Ubuntu-Server noch zwei Apache-Module erforderlich. Diese werden mit dem folgenden Befehlen aktiviert:

sudo a2enmod headers rewrite

Damit die ganzen Anpassungen am Apache auch wirksam werden, ist es an dieser Stelle erforderlich, den Apache-Webserver einmal zu restarten. Hierfür nutzt man unter Ubuntu den folgenden Befehl:

sudo service apache2 restart

Einrichtung von MySQL für ownCloud

Der erste Schritt der MySQL-Einrichtung für ownCloud ist es, sich als root mit dem MySQL-Server zu verbinden. Dies geschieht über den folgenden Befehl:

mysql --user=root --password

Nachdem ihr den Befehl abgesetzt habt, werdet ihr nach einem Passwort gefragt. Dies ist dasselbe Passwort, welches ihr bei der Installation des MySQL-Servers angegeben habt.

Um jetzt einen User für ownCloud und eine Datenbank einzurichten, sind mehrere SQL-Befehle erforderlich:

;; Anlegen des Users
CREATE USER 'owncloud'@'localhost' IDENTIFIED BY 'passwort' ;
;; Keine globalen Rechte
GRANT USAGE ON *.* TO 'owncloud'@'localhost' IDENTIFIED BY 'passwort' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;
;; Anlegen der Datenbank
CREATE DATABASE `owncloud` ;
;; Gewähren aller Rechte auf die Datenbank owncloud
GRANT ALL PRIVILEGES ON `owncloud`.* TO 'owncloud'@'localhost'; 
;; Verlassen der MySQL-Kommandozeile
quit

Mit diesen SQL-Befehlen haben wir jetzt einen MySQL-Benutzer owncloud erzeugt, der nur über Rechte auf seiner eigenen Datenbank owncloud verfügt. Ferner ist auch dafür gesorgt, dass sich der Benutzer nur über den lokalen Host anmelden kann.

Installation von ownCloud

Die Installation von ownCloud besteht aus drei Schritten. Zuerst einmal müsst ihr euch natürlich ownCloud herunterladen und die heruntergeladenen Dateien auf eurem System an die richtige Stelle legen. Anschließend müsst ihr noch ein paar Berechtigungen anpassen und zum Abschluss führt ihr dann noch den Installationsassistenten von ownCloud aus.

Herunterladen der Dateien

Um ownCloud herunterzuladen, geht ihr auf die ownCloud-Website (Link). Dort ladet ihr euch die ownCloud-Dateien zum aktuellen stabilen Release (derzeit 4.0.6) sowie die dazugehörige md5-Checksummen-Datei herunter.

Wie ihr die Dateien auf euren Server ladet, überlasse ich euch. Ich habe mir angewöhnt, die Dateien in innerhalb meines Homeverzeichnisses in einem Unterverzeichnis namens "downloads" zwischenzuspeichern. Um hier keine unnötige Verwirrung zu stiften, werde ich dieses Verzeichnis einfach als "downloadverzeichnis" referenzieren. Da sich die nächsten Arbeitsschritte in diesem Downloadverzeichnis abspielen, wechseln wir in das Verzeichnis:

cd downloadverzeichnis

Zuerst einmal sollten wir prüfen, ob die heruntergeladene Datei in Ordnung ist. Dafür haben wir die MD5-Checksummen-Datei heruntergeladen. Zur Prüfung des ownCloud-Archivs wird der folgende Befehl verwendet:

md5sum -c owncloud-versionsnummer.tar.bz2.md5

Wenn mit dem heruntergeladenen Archiv alles in Ordnung ist, solltet ihr die folgende Ausgabe sehen:

owncloud-versionsnummer.tar.bz2: OK

Nachdem wir erfolgreich geprüft haben, dass die Datei korrekt heruntergeladen wurde, können wir sie entpacken. Hierfür nutzt ihr den folgenden Befehl:

tar xjf owncloud-versionsnummer.tar.bz2

Als Resultat habt ihr nun ein Verzeichnis namens owncloud innerhalb des Downloadverzeichnisses. Dieses verschiebt ihr nun in das Standardverzeichnis, in dem euer Apache-Webserver seine Webseiten erwartet (standardmäßig /var/www):

sudo mv owncloud /var/www/owncloud

Damit haben wir ownCloud erfolgreich heruntergeladen und die Dateien an die richtige Stelle verschoben und können nun mit den Vorbereitungen für den Aufruf des Installationsassistenten fortfahren.

Vorbereitung für den Aufruf des Installationsassistenten

Um den Installationsassistenten aufrufen zu können, sind ein paar vorbereitende Schritte erforderlich. Dies umfasst hauptsächlich das Setzen von Berechtigungen, allerdings hat das ownCloud-Team hier auch einen gemeinen Fallstrick versteckt.

Dieser Fallstrick ist, dass man laut der Anleitung auf der ownCloud-Website die Verzeichnisse apps, config und data dem User übereignen soll, unter dem der Webserver läuft (standardmäßig www-data) und das Beispiel, wie man dies macht auch den Eigentümer des data-Verzeichnisses ändert. Wer dies ausprobiert, bekommt eine Fehlermeldung. Die Erklärung des Fehlers findet sich einen Absatz später. In unserem entpackten Archiv ist dieses leere Verzeichnis gar nicht enthalten und es wird nach dem Setup angelegt. So weit so gut. Wenn man jetzt jedoch nur den Eigentümer des apps- und des config-Verzeichnisses ändert, bekommt man beim Aufruf des Installationsassistenten eine Fehlermeldung, dass das data-Verzeichnis nicht existiert 😉

Um diese Probleme zu umgehen, werde ich an dieser Stelle etwas anders vorgehen, als es in der normalen Installationsanleitung steht. Ich empfehle, die folgenden Befehle zu verwenden:

cd /var/www/owncloud
sudo mkdir data
sudo chown -R www-data:www-data apps/ config/ data/

So ist sichergestellt, dass das data-Verzeichnis existiert und alle Verzeichnisse dem richtigen Benutzer gehören. Nachdem wir diese Klippe der Installationsanleitung elegant umschifft haben, kommen wir jetzt zum letzten Schritt dieses Tutorials.

Ausführen des ownCloud-Installationsassistenten

Nachdem sich die beiden vorherigen Abschnitte ja eher auf der Kommandozeile abgespielt haben, wird es jetzt im letzten Schritt dieses Tutorials auch noch einmal ein wenig bunter.

Zuerst einmal müsst ihr natürlich den Installationsassistenten von ownCloud aufrufen. Dies macht ihr, indem ihr in einem Browser eurer Wahl die folgende Adresse aufruft:

http://servername/owncloud

Dabei tragt ihr natürlich den Namen eures Servers in die Adresse ein 😉 Wenn ihr alle Schritte dieses Tutorials richtig gemacht habt, seht ihr jetzt die Startseite des Installationsassistenten. In diesem Screenshot sind bereits die Daten eingetragen, die ihr beim Befolgen des Tutorials benötigt, beim Benutzernamen habt ihr natürlich die freie Wahl 😉

Screenshot des Installationsassistenten von ownCloud
Dieses Bild solltet ihr sehen, wenn ihr in den vorherigen Schritten alles richtig gemacht habt 😉

Wenn ihr in diesem Assistenten die korrekten Daten eingetragen habt, öffnet sich als nächstes der Hauptbildschirm eurer eigenen ownCloud-Installation:

So sieht der Startbildschirm von ownCloud aus.
So sieht der Startbildschirm eurer (noch leeren) ownCloud aus.

Wenn ihr jetzt mit Hilfe dieses Tutorials so weit gekommen seid, habt ihr das Ziel erreicht. Ihr habt erfolgreich eine ownCloud auf eurem eigenen Server erstellt und seid somit unabhängig von Dropbox.

Nachwort

Selbstverständlich habe ich mir dies nicht alles alleine ausgedacht. Dieses Tutorial ist viel mehr eine Zusammenfassung mehrerer Quellen, die mir bei der Installation meiner ownCloud auf Ubuntu geholfen haben und der Erfahrung, welche ich aus meinem Beruf im Bereich der Softwareinstallation mitbringe. Als besonders hilfreiche Quellen möchte ich hier die bereits mehrfach erwähnte Anleitung auf der ownCloud-Website (Link) sowie einen Foren-Eintrag im ownCloud-Forum erwähnen, der mir insbesondere bei der Lösung der Ubuntu-spezifischen Probleme geholfen hat (Link).

Wenn euch mein Tutorial geholfen hat oder ihr Anregungen habt, was man noch besser machen könnte, freue ich mich über eure Kommentare. Ihr dürft dieses Tutorial natürlich auch gerne verlinken.

In einem zweiten Tutorial werde ich darauf eingehen, wie ihr den Zugriff auf eure ownCloud per SSL absichern könnt. Im Moment könnt ihr nur per HTTP auf eure Daten zugreifen, was für ein lokales Netzwerk in Ordnung ist, aber wenn ich per Internet auf meine Daten zugreife, möchte ich schon gerne einen verschlüsselten Zugriff per HTTPS. Um dies zu realisieren, werde ich kostenlos verfügbare SSL-Zertifikate von CAcert (Link) verwenden.

9 Gedanken zu „Installation von ownCloud auf Ubuntu 12.04 LTS

  1. Tim

    Erstmal danke für die detaillierte Anleitung! Ich habe den OwnCloud-Server (Version 5.0.0) gerade unter der Desktop-Variante von Ubuntu 12.04 LTS nach Deiner Anleitung installiert. Als ich mich im Webinterface anmelden wollte, kam trotzdem die Meldung, dass .htaccess nicht funktioniert. Ich habe dann mit

    sudo nano /etc/apache2/sites-enabled/000-default

    im Abschnitt unter <Directory /var/www/> ebenfalls AllowOverride All setzen müssen. Seither klappt alles wunderbar. 🙂

    Antworten
    1. Christian Plöger

      Vielen Dank für den Hinweis. Da ich dieses Tutorial noch für eine 4er-Version geschrieben hatte, gab es diese Warnung noch nicht.

      Aber inzwischen steht auch in der Doku, dass man die Datei so anpassen musst, wie du es getan hast.

      Da ich gerade das Tutorial mit der neuen ownCloud-Version verifiziert habe, werde ich diesen Punkt dann noch bei den vorbereitenden Aktivitäten aufnehmen.

      Antworten
  2. Gregor

    Wie stelle ich hier TLS/SSL ein?
    Nach der Anleitung bekomme ich doch mit http Zugriff auf Owncloud.
    Da das aber abgehört werden kann wie wir wissen wie bekommt man das sicher?

    Antworten
    1. Christian Plöger

      Ich werde im Laufe der Woche das versprochene zweite Tutorial schreiben, welches die Informationen liefert, wie man mit Hilfe von SSL die Verbindung absichern kann. Dabei werde ich auch darauf eingehen, wie man sich ein kostenloses SSL-Zertifikat besorgen kann.

      Antworten
  3. Christian Plöger

    Da ich eine neue Installation durchführen musste, habe ich heute mal wieder mein eigenes Tutorial benutzt und konnte mit großer Freude feststellen, dass dieses Tutorial auch mit der ownCloud-Version 6 funktioniert. Nur die Screenshots stimmen nicht mehr ganz, aber da die Informationen noch passen, sehe ich keinen Grund, hier neue Screenshots zu machen.

    Antworten
    1. MS

      Hallo

      Vielen Dank für die Super Anleitung. Ich hab ein den Owncloud server auf einem Ubuntu 12.04 laufen und nach Deiner Anleitung installiert. Ich bekomme jedoch keine Verbindung von Windows Clients mit der Owncloud Client. Kannst Du mir einen Tip geben?

      Vielen Dank
      VG

      Antworten
  4. axel

    Hallo Christian,

    ich habe ebenfalls das Tutorial befolgt bis zur erstmaligen Anmeldung im Browser. Hier habe ich leider das Passwort für die MySQL-Datenbank falsch eingegeben. Seitdem bekomme ich gesagt: "Can't create data directory (/var/www/owncloud/data)
    You can usually fix this by giving the webserver write access to the ownCloud directory '/etc/owncloud' (in a terminal, use the command 'chown -R www-data:www-data /path/to/your/owncloud/install/data' "
    Auch die nachträgliche Änderung des MYSQL-Passwortes über Plesk hat zu keinem anderen Ergebnis geführt. Hast Du eine Idee?

    Antworten
  5. Thomas Werner

    Hallo Christin,
    bin schon sehr gespannt auf dein zweites Tutorial zum Thema SSL Verschlüsselung und OwnCloud.
    Kannst du schon sagen, bis wann du evtl. damit fertig bist und es hier hochlädst?

    Antworten
  6. Pingback: Good-bye Google! | VELTENSicht

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

*