ownCloud auf ubuntu Server installieren

Auf persönlichen Wunsch nun auch die Anleitung wie man ownCloud auf ubuntu Server installiert, sowie eine verschlüsselte Verbindung automatisch aufbaut.

Zuerst machen wir uns mit

sudo -i

zum root.

Nun müssen wir den Apache, PHP sowie SQLite installieren. Mit dem Befehl

apt-get install php5 sqlite php5-gd php5-sqlite libcurl3 php5-curl

wird alles benötigte Installiert. Der Apache wird wegen den Abhängigkeiten automatisch mitinstalliert. Nun wechseln wir mit

cd /var/www

in das Datenverzeichnis vom Apache und laden mit

wget http://owncloud.org/releases/owncloud-4.0.4.tar.bz2

das ownCloud Paket herunter. (4.0.4 war zum Zeitpunkt des Schreibens die aktuelle Version)

Entpacken Sie das Paket mit

tar xvjf owncloud-4.0.4.tar.bz2

Legen Sie nun den Datenordner an. Als Beispiel legen wir ihn im /srv Verzeichnis  an und weisen den richtigen Benutzer und Lese/Schreibrechte zu.

cd /srv
mkdir ownclouddata
chown -R www-data:www-data ownclouddata
chmod 0770 ownclouddata

Hinweis!
Auch wenn der Datenordner variabel ist, verlangt ownCloud beim Setup einen data Ordner in /var/www/owncloud/data mit oben genannten Rechten und Eigentümer, Sie müssen Ihn allerdings nicht verwenden. 

Bearbeiten Sie nun die Apache Konfigurationsdatei

vi /etc/apache2/sites-enabled/000-default

und fügen Sie am Ende der Datei über </VirtualHost>noch folgendes ein:


Options +Indexes
AllowOverride All
Order allow,deny
allow from all

Damit Dateien über 2 MB hochgeladen werden können müssen wir die php.ini noch bearbeiten. Mit dem Befehl:

vi /etc/php5/apache2/php.ini

Öffnen Sie die Datei und ändern unten stehende Werte wie folgt ab:

upload_max_filesize=8MB
upload_max_size=8MB

Nun können Sie ownCloud über der IP des Servers im Unterordner owncloud einrichten.

SSL Einrichten (mit halbwissen)

Nachfolgend der Webseite http://wiki.ubuntuusers.de/apache/SSL entommen.

Zuerst erstellen wir ein Zertifikat und tragen es dem Apache zu:

mkdir -p /etc/apache2/ssl
openssl req -new -x509 -days 365 -nodes -out /etc/apache2/ssl/apache.pem -keyout /etc/apache2/ssl/apache.pem
ln -sf /etc/apache2/ssl/apache.pem /etc/apache2/ssl/`/usr/bin/openssl x509 -noout -hash < /etc/apache2/ssl/apache.pem`.0
chmod 600 /etc/apache2/ssl/apache.pem

Nun müssen wir noch das SSL-Modul im Apache laden

a2enmod ssl

sowie den Apache neu starten

service apache2 force-reload

Jetzt müssen wir noch eine Configdatei für den SSL Zugang erstellen. Wechseln Sie in das Verzeichnis:

cd /etc/apache2/sites-available/

und duplizieren Sie die Datei default mit

cp default ssl

und bearbeiten Sie die neue Datein ssl

vi ssl

Ändern Sie diese wie folgt ab, bzw. legen Sie folgende Einträge an (Auszug gekürzt)

SSLEngine On
SSLCertificateFile /etc/apache2/ssl/apache.pem
DocumentRoot /var/www

Nun müssen Sie noch die Seite aktivieren mittels
a2ensite ssl

gefolgt von einem

service apache2 force-reload

Automatisch auf verschlüsselte Verbindung

Zuerst aktivieren Sie das Modul mod_rewrite

a2enmod rewrite

Legen Sie die Datei .htaccess im /var/www Ordner an und bearbeiten Sie folgend:

RewriteEngine On
RewriteCond ...

Nun bearbeiten Sie die /etc/apache2/sites-enabled/000-default:

Options Indexes FollowSymLinks MultiViews
AllowOverride FileInfo

In der Datei /etc/apache2/sites-available/default folgendes ändern:

RewriteEngine on
RewriteRule ^/owncloud(.*)$ https://%{SERVER_NAME}/owncloud$1 [L,R]
RewriteLog "/var/log/apache2/rewrite.log"
RewriteLogLevel 2

Nun nur noch den Apache2 neu starten.

Tipp: Im Ordner /var/www/html liegt noch die owncloud tar.gz Datei. Diese können Sie nun löschen.

19 Gedanken zu “ownCloud auf ubuntu Server installieren

  1. Huch … gleich ein HTML-Kommentar. Wie fortschrittlich:
    so sollte es heißen: Danke für die Prima Anleitung.
    Ich hätte noch ein paar Vorschläge zur Ergänzung:

    ”<directory>
    Options +Indexes
    AllowOverride All
    Order allow,deny
    allow from all”
    → braucht noch ein </Directory>

    “Options Indexes FollowSymLinks MultiViews
    AllowOverride FileInfo”
    → sollte in das selbst erstellte <directory> oben

    Die anderen Änderungen in den Scripten sollten ohne einfach oben oder nach belieben unten eingesetzt werden. Nicht zwischen <Directory> und </Diretrory> .

    Noch eine Frage: Warum startest du den Apache mit “service apache2 force-reload” neu? Der Apache schlägt da selbst einen Befehl vor. Macht es einen Unterschied, ob ich force-reload oder den vorgeschlagenen nutze (leider weiß ich nicht mehr welcher das war. Auf jeden Fall zum Neustarten des Apache)?

  2. hallo

    bei mir ist in der datei /etc/apache2/sites-available/default
    keinen eintrag:
    RewriteEngine on
    RewriteRule ^/owncloud(.*)$ https://%{SERVER_NAME}/owncloud$1 [L,R]
    RewriteLog „/var/log/apache2/rewrite.log“
    RewriteLogLevel 2

    ich hab es einfach am schluss vor:
    RewriteEngine on
    RewriteRule ^/owncloud(.*)$ https://%{SERVER_NAME}/owncloud$1 [L,R]
    RewriteLog „/var/log/apache2/rewrite.log“
    RewriteLogLevel 2

    Options +Indexes
    AllowOverride All
    Order allow,deny
    allow from all
    eingefügt
    ist das so ok?

    grüsse
    und frohes neues jahr

      • danke hat geklappt

        aber leider kann ich keine Dateien rauf laden, weder per owncloud Client noch über das webinterface
        ich bekomme die Fehlermeldung:

        „Die Größe der hochzuladenden Datei überschreitet die MAX_FILE_SIZE-Richtlinie, die im HTML-Formular angegeben wurde“

        dabei ist die Datei nur 115kb klein

          • ich hab nur dieses in die datei untereinander angefügt
            so sieht es genau aus

            upload_max_filesize = 8MB
            upload_max_size = 8MB

          • in der .htaccess datei soll ja diese einträge gemacht werden:
            RewriteEngine On
            RewriteCond …

            kommt da wirklich nur … in der 2e zeile?
            muss man da nicht etwas einfügen?

  3. Sehr ausfuerliche anleitung, das einzige was nicht erklaert worden ist, ist wie man die mysql datenbank richtig konfiguriert. Aber anleitungen dazu gibt es schon viele ueber google zu finden. Und was bei mir nicht vorhanden ist, sind die eintraege:
    SSLEngine On
    SSLCertificateFile /etc/apache2/ssl/apache.pem
    DocumentRoot /var/www
    im cd „/etc/apache2/sites-available/“ verzeichnis, file „ssl“

    • Die Einträge sind nicht vorhanden weil sie angelegt werden müssen. Ich habe die Anleitung dementsprechend angepasst. Danke für den Hinweis.

  4. Zwei Probleme mit der Anleitung:

    Die Zeile „RewriteCond …“
    in der .htaccess für /var/www stimmt nicht – die führt zumindest am Apache 2.2 zu einem Fehler 500 (RewriteCond: bad argument line ‚…‘).

    Zum zweiten sollte man auch in einem selbsterstellten Zertifikat UNBEDINGT einen CommonName eintragen – zumindest das sollte stimmen, sonst haben Browser noch mehr Grund sich darüber aufzuregen – und in diesem Fall beeinträchtigt es auch den ownCloud Client, er verweigert dann die Verbindung.

  5. Ich teste gerade OwnCloud.
    Zuerst habe ich die fertige VM-Maschine von OwnCloud ausprobiert.
    Nun möchte ich OwnCloud auf einem Ubuntu 12.10 installieren und damit weitertesten.
    Dank der Anleitung bin ich schon gut voran gekommen.
    Das „Bearbeiten Sie nun die Apache Konfigurationsdatei“ ist mir nach Erarbeitung der vi-Grundlagen auch gelungen.
    Nur kann ich aber die Apache-Datei danach nicht abspeichern.
    Die Datei ist vermutlich schreibgeschützt.
    :wq! (Bestätigung: y)
    E166: Can`t open linked file for writing

    Meine Versuche, die Dateiatribute zu ändern waren erfoglos (sicher falsch).

    • Die Datei die du bearbeiten möchtest ist nur ein Link zu der Datei. Mit ls -l siehst du wo die Originaldatei liegt. Diese kannst du dann mal versuchen zu bearbeiten und abzuspeichern. Allerdings wundert es mich das man Dateiatribute ändern muss, da die Distributionen diese eigentlich vom Standard her schon richtig setzen. Hast du die Datei ach als root (also mit sudo davor) bearbeitet?

      EDIT: Okay hat sich erledigt, gerade gesehen. 😉

  6. … sorry … lag daran, dass ich zwischendurch das Terminal neu aufgerufen hatte (ohne sudo -i)

    Allerdings hatte ich dann Probleme mit:
    cd /srv
    mkdir ownclouddata
    chown -R www-data:www-data ownclouddata
    chmod 0770 ownclouddata

    OwnCloud verlangte beim Start nach einem Ordner „owncloud“ bzw. „owncloud/data“.
    (siehe auch Apache-Konfiguration: )
    Ich habe die Ordner dann manuell neu angelegt (/var/www/owncloud/data) und die Rechte wie angegeben vergeben.
    Jetzt (oder später) geht es an die SSL-Einrichtung.

    Danke trotzdem für die gute Anleitung!
    Danach konnte ich die Installation von OwnCloud fertigstellen.

Schreibe einen Kommentar

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