Owncloud 5 Server installieren (Raspbian Wheezy) - Dropbox Alternative

    • Official Post

    In dieser Anleitung möchte ich euch erklären wie ihr aus eurem Raspberry Pi einen Cloud Storage Server à la Dropbox macht. In diesem Tutorial wird dir die Installation von Owncloud 5.0.0 erklärt.
    Schritt 8 beinhaltet die Konfiguration von Owncloud und einen externen Speichermedium. Dieser ist optional. Nach Schritt 9 findest du zusätzliche noch optionale Schritte zur Konfiguration von SSL bzw HTTPS.


    Für alle die Owncloud mit dem nginx Webserver installieren wollen habe ich hier ein Tutorial erstellt.


    Wir verwenden dazu das Programm Owncloud. Und das in angenehmer Geschwindigkeit dank "php-pear" und "php-apc"
    Auf unseren Server installieren wir zusätzliche noch:

    • Apache2 Webserver
    • PHP5
    • SQLite (Datenbank auf Dateibasis)


    Grundlage ist das Betriebssystem Raspbian (2013-02-09-wheezy-raspbian)
    auch getestet unter 2012-12-16


    Vorab solltest du die root Partition an die Größe deiner SD-Karte angleichen und den Raspberry Pi übertakten

    Code
    sudo raspi-config


    • expand_rootfs ausführen damit wir genug Platz für Pakete, Owncloud an sich und Uploads haben
    • change_locale zu "en_US.UTF-8" für das komplette System (Ansonsten meckert owncloud, dass es zu Fehlern bei Dateinamen mit Sonderzeichen kommen kann)
    • memory_split auf "16" MB einstellen. Dies ist die kleinst mögliche Einstellung. Die GPU bekommt somit 16MB.
    • overclock auf "Medium" 4. "Finish" und danach die Frage nach dem Reboot mit "Yes" beantworten.


    1. Paketlisten aktualisieren

    Code
    sudo apt-get update
    sudo apt-get upgrade


    2. Benutzer erstellen

    Code
    sudo groupadd www-data
    sudo usermod -a -G www-data www-data


    3. Benötigte Pakete installieren

    Code
    sudo apt-get install apache2 php5 php5-gd php5-sqlite php5-curl php5-json php5-common php5-intl php-pear php-apc php-xml-parser libapache2-mod-php5 curl libcurl3 libcurl3-dev sqlite


    4. Apache Host
    Damit Apache nicht meckert tragen wir noch den Host ein

    Code
    sudo nano /etc/apache2/apache2.conf


    Füge folgendes an das Ende der Datei

    Code
    ServerName owncloud


    Hier auch noch den Host eintragen

    Code
    sudo nano /etc/hosts


    Code
    127.0.1.1       owncloud


    5. Owncloud Rechte gewähren

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


    "AllowOverride None" zu "AllowOverride All" ändern

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



    6. PHP Anpassen

    Code
    sudo nano /etc/php5/apache2/php.ini


    Hier passen wir "upload_max_filesize" und "post_max_size" an. Damit gehen wir sicher, dass PHP auch größere Dateien hoch läd und nicht abbricht!
    Wir wählen hier "2G".
    PHP gestattet die Angabe von K für kilo, M für mega und G für Giga bei der Angabe von Werten und rechnet diese automatisch um.

    Code
    upload_max_filesize = 2G
    post_max_size = 2G


    Kleiner tipp: Die php.ini ist eine sehr lange Datei. Es bietet sich also an die beiden Begriffe ("upload_max_filesize" sowie "post_max_size") mit "STRG + W" zu suchen. Damit ersparst du dir die zeit zum Suchen. ;)


    7. Apache anpassen
    Als erstes löschen wir die alte "index.html" aus dem "/var/www" Verzeichnis

    Code
    sudo rm /var/www/index.html


    Danach aktivieren wir noch die Apache Rewrite Engine mit folgenden Befehlen:

    Code
    sudo a2enmod rewrite
    sudo a2enmod headers


    Nun starten wir Apache neu und können mit der Installation von Qwncloud fortfahren

    Code
    sudo /etc/init.d/apache2 restart



    8. download von Owncloud
    aktuelle Version beachten. In diesem Tutorial wurde die Version 5.0.0 benutzt

    Code
    cd
    wget http://download.owncloud.org/community/owncloud-5.0.0.tar.bz2


    Nun entpacken wir das Archiv

    Code
    tar xvf owncloud-5.0.0.tar.bz2


    Nun verschieben wir Owncloud von dem Download Verzeichnis in das Webverzeichnis

    Code
    sudo mv owncloud/* /var/www
    sudo mv owncloud/.htaccess /var/www


    Als letztes löschen wir den Download und geben wir dem User "www-data" noch die benötigten Rechte und sind mit der Installation fertig.

    Code
    rm -rf owncloud owncloud-5.0.0.tar.bz2
    sudo chown -R www-data:www-data /var/www


    [hr]
    OPTIONALER SCHRITT:
    Du kannst auch eine externe Festplatte an deinen Raspberry Pi anschließen und dort die Dateien installieren. Wenn du dies möchtest, solltest du nach Schritt 8 diese Schritten befolgen. Schritt 9 entfällt, bzw ist bei dem Optionalen Schritt noch etwas anders.


    8.1 USB Stick / Externe Festplatte anschließen
    Nachdem du die Festplatte angeschlossen hast, müssen wir herausfinden, wie diese heißt, formatieren und mounten.


    8.2 Name herausfinden

    Code
    sudo fdisk -l


    Die Ausgaben könnte folgende sein:

    Quote


    Device Boot Start End Blocks Id System
    /dev/sda1 32 7829503 3914736 b W95 FAT32


    Mein USB-Stick ist also als "sda1" bekannt. Den Namen merken wir uns und fahren fort.


    8.2 Formatieren und mounten

    Code
    sudo mkfs.ext4 /dev/sda1
    sudo mkdir -p /media/usb1/owncloud/data
    sudo mount /dev/sda1 /media/usb1


    Nun müssen wir noch festlegen, dass nach jedem Reboot der mounh automatisch ausgeführt wird.
    Dazu editieren wir die datei "/etc/fstab" und fügen in der letzten Zeile unsere "sda1" ein.

    Code
    sudo nano /etc/fstab


    So sollte es aussehen:

    Code
    proc            /proc           proc    defaults          0       0
    /dev/mmcblk0p1  /boot           vfat    defaults          0       2
    /dev/mmcblk0p2  /               ext4    defaults,noatime  0       1
    /dev/sda1       /media/usb1     ext4    defaults          0       0



    8.3 Rechte vergeben

    Code
    sudo chown -R www-data:www-data /var/www
    sudo chown -R www-data:www-data /media/usb1/owncloud/data


    8.4: Konfiguration beenden
    Nun kannst du unter der Ip (192.168.x.xxx) deines Raspberry Pis den Server aufrufen. Du musst nun noch einen User anlegen und das neue Verzeichnis einstellen. Klicke dazu auf "Fortgeschritten" und trage in Datenverzeichnis folgendes ein: "/media/usb1/owncloud/data"
    Danach klickst du auf "Installation abschließen".
    Nun führen wir noch einen Neustart des Apache Servers aus und du bist fertig.

    Code
    sudo /etc/init.d/apache2 start



    [hr]




    9: Konfiguration beenden
    Nun kannst du unter der Ip (192.168.x.xxx) deines Raspberry Pis den Server aufrufen. Du musst nun noch einen User anlegen. Das wars!


    Wenn du deinen Owncloud Server auch außerhalb deines LANs benutzte möchtest und zum Beispiel mit dem Smartphone von unterwegs zugreifen willst, musst du nur einen DNS Service installieren. Tutorial dazu findest du hier!


    Optional: SSL bzw HTTPS hinzufügen.


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


    Apache muss auf TCP Port 443 hören
    Ändert die Datei so dass alle '#' verschwinden, die dort nicht hingehören



    Code
    sudo nano /etc/apache2/ports.conf


    Code
    Listen 192.168.1.10:80
    <IfModule mod_ssl.c>
        Listen 443
    </IfModule>



    Apache reloaden


    Code
    sudo service apache2 reload



    SSL Modul aktivieren sowie einen force-reload von Apache2


    Code
    sudo a2enmod ssl
    sudo service apache2 force-reload



    SSL Webseite konfigurieren (vHost)

    Code
    sudo nano /etc/apache2/sites-available/ssl


    Code
    <virtualhost *:443>
            SSLEngine On
            SSLCertificateFile /etc/apache2/ssl/apache.pem
            DocumentRoot /var/www
    </virtualhost>


    Die neue vHost Konfiguration aktivieren sowie einen force-reload von Apache2


    Code
    sudo a2ensite ssl
    sudo service apache2 force-reload


    Nun sollte euer Owncloudserver unter https://192.168.xx.xx erreichbar sein.



    Hier eine Liste verfügbarer Clients



    Wenn du Fragen und/oder Verbesserungsvorschläge hast, zögere nicht diese unter diesem Beitrag zu stellen.
    Über ein kurzes Feedback, ob es geklappt hat würde ich mich auch sehr freuen!

    Well in my humble opinion, of course without offending anyone who thinks differently from my point of view, but also by looking into this matter in a different way and without fighting and by trying to make it clear and by considering each and every one's opinion, I honestly believe that I completely forgot what I was going to say.

    Edited once, last by ps915 ().

  • Du hast die Sql-Datenbank ausgelassen, oder?


    Login:
    mysql -u root -h localhost -p


    Erstellen der DB:
    mysql> CREATE DATABASE cloud;


    Sql schließen:
    quit;



    Desweiteren müsstest du noch hinzufügen, wie man externe Speichermedien (Stick/Festplatte) statisch einbindet, um seiner Cloud
    etwas mehr Platz zu verschaffen.


    Ansonsten ist soweit ich das sehe alles wichtige da, well done :)

  • Hallo,
    ich würde gerne diese Owncloud installieren, habe allerdings schon einen Webserver laufen, mit MySql, Apache und PHP geht sowas und kann ich dort auch ein "Unterverzeichnis" nehmen damit ich im Verzeichnis /var/www noch meine Webseite erreiche?


    Gruß Simon

    • Official Post
    Quote from Fraggl pid=5701 dateline=1360677436


    Du hast die Sql-Datenbank ausgelassen, oder?


    Desweiteren müsstest du noch hinzufügen, wie man externe Speichermedien (Stick/Festplatte) statisch einbindet, um seiner Cloud
    etwas mehr Platz zu verschaffen.


    Ansonsten ist soweit ich das sehe alles wichtige da, well done :)


    Ich installiere das paket "sqlite". Das ist die Datenbank. Sie ist Datei basierend.
    Dein Vorschlag mit dem externen Medium greife ich gerne auf! ;) Danke



    Quote from Bizkit83 pid=5718 dateline=1360694608


    Hallo,
    ich würde gerne diese Owncloud installieren, habe allerdings schon einen Webserver laufen, mit MySql, Apache und PHP geht sowas und kann ich dort auch ein "Unterverzeichnis" nehmen damit ich im Verzeichnis /var/www noch meine Webseite erreiche?


    Gruß Simon


    Wenn du schon einen Webserver aufgesetzt hast, sollte es ausreichen, ein neues Unterverzeichnis in /var/www anzulegen und dort die Dateien aus dem Archiv zu entpacken. Danach sollte es schon funktionieren. Wenn er mit MySQL nicht klarkommt, installiere SQLite einfach nach. Melde dich ob es so geklappt hat.

    Well in my humble opinion, of course without offending anyone who thinks differently from my point of view, but also by looking into this matter in a different way and without fighting and by trying to make it clear and by considering each and every one's opinion, I honestly believe that I completely forgot what I was going to say.

  • haa, 2x gelesen und dennoch überlesen ;D


    @verschiedene Sachen - ich bin mir nicht sicher, ob ich jetzt "richtiges" Wissen preisgebe, aber - falls deine Website/Cloud im Internet erreichbar sein sollen, würde ich zusätzlich deine Homepage und deine Cloud, die du im /var/www dann hast, in Vhosts packen, und das Oberverzeichnis nichtmehr zugänglich machen.
    Auf die Art und Weise kannst du noch x-beliebige Serverdienste, Websites, etc erstellen, und von jedem die Zugriffsrechte einzelnd managen.
    Vgl.: http://httpd.apache.org/docs/2.2/de/vhosts/

    • Official Post

    Fraggl
    Das macht Sinn und würde ich auch so machen! ;)


    Habe das Tutorial noch erweitert sodass nun auch genung Speicherplatz vorhanden ist. Könnte ja mal jemand testen!

    Well in my humble opinion, of course without offending anyone who thinks differently from my point of view, but also by looking into this matter in a different way and without fighting and by trying to make it clear and by considering each and every one's opinion, I honestly believe that I completely forgot what I was going to say.

    Edited once, last by ps915 ().

  • hi cooles totourial das endlich mal funktioniert hat :)


    aber nach einen neu start als strom weg-strom drann geht des dann nicht mehr was muss da noch gestartet werden



    Edit: kann ich nach diesen totourial mit ext. usb stick noch eine zusätzliche website hosten :? wenn ja wie :D

    • Official Post

    Hast du einen USB Stick gemountet? Überprüfe ob der mount nach dem Neustart noch da ist. E sollte surch etc/fstab automatisch hinzugefügt werden. Wenn der mount nicht da ist, funktioniert owncloud nicht.


    Um zusätzliche Websites anzulegen würde (ich mir mal vhosts anschauen und) die Verzeichnisstruktur wie folgt wählen:
    var/www/owncloud
    var/www/website1
    var/www/website2



    (Vhost ist nicht zwingend notwendig)

    Well in my humble opinion, of course without offending anyone who thinks differently from my point of view, but also by looking into this matter in a different way and without fighting and by trying to make it clear and by considering each and every one's opinion, I honestly believe that I completely forgot what I was going to say.

  • Danke für die super Anleitung.
    Wie wär es noch mit einem Zertifikat, sodass man eine https Verbindung bekommt?
    Somit müsste ich doch über eine DynDns eine sichere Verbindung bekommen?
    Als Alternative zu Apache soll "nginx" sehr gut und sparsam für die Ressourcen sein.


    MfG

    Edited once, last by dataman ().

  • So... ich bin jetzt mal froh hab es endlich geschafft das owncloud läuft deswegen wollte ich meine probleme gleichmal hinschreiben wie man sie lösen kann weil ich denke dass ich nicht der einzige noob bin :D


    Also erstens konnte ich nicht das kommando zur formatierung des usb-sticks anwenden den durch diese kommando wurden alle partitionen gelöscht und nichts wieder angelegt so hab ich an mein xp rechner mir ein tool gedownloaded und den stick formatiert und das dateisystem ext4 angelegt


    als zweites musste ich noch den ordner auf den stick anlegen owncloud und data


    sonst ging alles sehr gut :)


    Danke

  • Habe die ganze Installation gemacht und hat auch alles gut geklappt nur bis auf dem letzten Befehl wo ich dann immer diese Fehler Meldung bekomme


    Code
    root@xbian:~#  sudo chown -R www-data:www-data /media/usb1/owncloud/data
    chown: changing ownership of `/media/usb1/owncloud/data/owncloud.db': Operation not permitted
    chown: changing ownership of `/media/usb1/owncloud/data/mario/files': Operation not permitted
    chown: changing ownership of `/media/usb1/owncloud/data/mario/cache': Operation not permitted
    chown: changing ownership of `/media/usb1/owncloud/data/mario': Operation not permitted
    chown: changing ownership of `/media/usb1/owncloud/data/.htaccess': Operation not permitted
    chown: changing ownership of `/media/usb1/owncloud/data/index.html': Operation not permitted
    chown: changing ownership of `/media/usb1/owncloud/data': Operation not permitted


    Kann mir hier wer sagen was ich da machen kann oder wo der Fehler liegen kann


    MfG

    • Official Post


    https bzw SSL habe ich hinzugefügt und nginx werde ich mir auch noch anschauen und das Tutorial erweitern.


    Mit dem SSL ist das so eine Sache. Wenn du es außerhalb deines LAN produktiv nutzten möchtest solltest du dir das Zertifikat kaufen. In der Anleitung habe ich es aber dennoch beschrieben, sodass man zwar einen Warnhinweis des Browser bekommt, aber es dennoch verschlüsselt ist.

    Well in my humble opinion, of course without offending anyone who thinks differently from my point of view, but also by looking into this matter in a different way and without fighting and by trying to make it clear and by considering each and every one's opinion, I honestly believe that I completely forgot what I was going to say.

  • Hi Leute, bin neu hier, habe wie zu sehen ist, ein B Model mit 512mb RAM, und habe mein soweit laufen...


    Mein Problem mit den Owncloud ist, das ich soweit alles eingerichtet habe, nur kommt bei der Konfiguration des Owncloud folgende Meldung :


    "Data directory (/media/USB/owncloud/Daten) is readable for other users

    Please change the permissions to 0770 so that the directory cannot be listed by other users."


    Also wenn ich das richtig verstehe, hat mein Ordner die falsche Freigabe. Habe mir den Raspberry Pi eigentlich als NAS geholt, und läuft auch soweit, und nun schaue ich was ich da noch mit alles machen kann.


    Also kann mir jemand sagen, wie ich das ganze Ändern kann? Der Besitzer ist der root, und habe bezüglich des NAS alles freigegeben, war das den richtig? Ist mir denn noch zu helfen?


    Zur Info, habe auf Youtube: http://www.youtube.com/user/Karesyk relativ viele Tutorials angeschaut/gemacht, ich fand das ganz nett gemacht.



    MFG


    Ivxy

  • Hallo Ivxy,


    Quote

    "Data directory (/media/USB/owncloud/Daten) is readable for other users


    Please change the permissions to 0770 so that the directory cannot be listed by other users."


    Also wenn ich das richtig verstehe, hat mein Ordner die falsche Freigabe. Habe mir den Raspberry Pi eigentlich als NAS geholt, und läuft auch soweit, und nun schaue ich was ich da noch mit alles machen kann.


    Nicht die falsche Freigabe, sondern die falchen Zugriffsrechte. Diese kannst du in einem Terminal mit dem folgenden Befehl ändern.


    Code
    sudo chmod -R 0770 /media/USB/owncloud/Daten


    Des Weiteren musst du laut der obigen Anleitung den Eigentümer des Verzeichnisses ändern.


    Code
    sudo chown -R www-data:www-data /media/USB/owncloud/Daten


    Gruß Georg

  • wenn ich owncloud in ein unterverzeichniss stecken will da vllt noch eine Homepage kommt muss ich dann einfach nur überall wo /var/www steht /var/www/owncloud hinschreiben?

    Raspberry Pi Rev. 2 512mb


  • Hat geklappt über 192.168.***.**/owncloud kann ich es jetzt erreichen :)


    wenn ich jetzt übers web drauf zugreiffen möchte muss ich ja eine DynDns andresse einrichten ein tut gibt es ja, wie erstelle ich ber ein neuen benutzer für ein kollegen oder so? so das er was runterladen und hochladen kann?

    Raspberry Pi Rev. 2 512mb


  • Ok habe jetzt mal ein Backup wiederhergestellt und die Anleitung verfolgt.
    Leider kommt der gleiche Fehler wieder, leider hat es nicht gebracht, aber danke boandlkramer. Zudem kommt nun bei jeder Eingabe im LXTerminal die Meldung : "sudo: unable to resolve host raspberrypi", geht ist weil in /etc/hosts war unter 127.0.1.1 raspberrypi eingetragen war.
    Wenn ich vom Windows-System Owncloud starte, kommt der Fehler: "Verbindung mit Owncloud vergeschlagen Unknown error". Bei der Eingabe der IP-Addresse kommt halt der 0770 Fehler -.-°...


    Bitte sagt mir nicht, dass ich jetzt das System neu drauf spielen muss -.-°

  • bei der fritzbox geht das mit der dyndns ja echt super :)


    über *****.no-ip.org komme ich auf die Homepage


    und über https://*****.no-ip.org komme ich auf owncloud das ist echt super :)


    tolles tutorial :)


    nur muss ich nur noch wissen wie mein einen zweiten benutzer einfügt kann mir da jemand helfen?


    gruß und danke
    prace

    Raspberry Pi Rev. 2 512mb


    • Official Post

    Einen neuen Benutzer kannst du unter Administration bzw Einstellungen erstellen. Einfach mal durchklicken.

    Well in my humble opinion, of course without offending anyone who thinks differently from my point of view, but also by looking into this matter in a different way and without fighting and by trying to make it clear and by considering each and every one's opinion, I honestly believe that I completely forgot what I was going to say.

    Edited once, last by ps915 ().