- 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
- 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
2. Benutzer erstellen
3. Benötigte Pakete installieren
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
Füge folgendes an das Ende der Datei
Hier auch noch den Host eintragen
5. Owncloud Rechte gewähren
"AllowOverride None" zu "AllowOverride All" ändern
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
6. PHP Anpassen
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.
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
Danach aktivieren wir noch die Apache Rewrite Engine mit folgenden Befehlen:
Nun starten wir Apache neu und können mit der Installation von Qwncloud fortfahren
8. download von Owncloud
aktuelle Version beachten. In diesem Tutorial wurde die Version 5.0.0 benutzt
Nun entpacken wir das Archiv
Nun verschieben wir Owncloud von dem Download Verzeichnis in das Webverzeichnis
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.
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
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
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.
So sollte es aussehen:
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
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.
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.
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
Apache reloaden
SSL Modul aktivieren sowie einen force-reload von Apache2
SSL Webseite konfigurieren (vHost)
<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
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!