Owncloud 5 Server installieren (nginx Webserver)

    • Official Post

    In dieser Anleitung möchte ich euch erklären wie man Owncloud 5 mit dem Webserver nginx installiert.
    Einige User haben mit mir Kontakt aufgenommen und um das Tutorial gebeten, da Owncloud auf dem Ressourcen schonenden Webserver nginx sehr "flüssig" laufen soll.


    Ich habe es getestet und muss sagen, dass das Arbeitstempo wirklich besser ist als mit dem Apache Server (Anleitung).



    Wir verwenden dazu das Programm Owncloud.
    Auf unseren Server installieren wir zusätzliche noch:

    • nginx Webserver
    • PHP5
    • SQLite (Datenbank auf Dateibasis)
    • diverse Pakete für den Performancegewinn


    Grundlage ist das Betriebssystem Raspbian (2013-02-09-wheezy-raspbian)




    1. Installation mit raspi-config vorbereiten

    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.


    2. Paketlisten aktualisieren

    Code
    sudo apt-get update
    sudo apt-get upgrade



    3. Benutzer erstellen

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


    4. Installation der Pakete

    Code
    sudo apt-get install nginx openssl ssl-cert php5-cli php5-sqlite php5-gd php5-curl php5-common php5-cgi sqlite php-pear php-apc curl libapr1 libtool curl libcurl4-openssl-dev php-xml-parser php5 php5-dev php5-gd php5-fpm memcached php5-memcache varnish


    5. SSL Zertifikat erstellen (gültig für 1 Jahr)

    Code
    sudo openssl req $@ -new -x509 -days 365 -nodes -out /etc/nginx/cert.pem -keyout /etc/nginx/cert.key
    sudo chmod 600 /etc/nginx/cert.pem
    sudo chmod 600 /etc/nginx/cert.key


    6. nginx Webserver konfigurieren

    Code
    sudo nano /etc/nginx/sites-available/default


    Hier löscht ihr den KOMPLETTEN Inhalt und fügt diesen ein.
    Achtet darauf, dass ihr die IP-Adresse "192.168.XXX.XXX" mit der eures Raspberry Pi ersetzt. Ihr findet eure lokale Ip-Adresse mit dem Befehl "ifconfig". Je nachdem wie ihr den Pi verbunden habt, entnehmt ihr den Devices "eth" oder "wlan" eure IP-Adresse aus folgender Zeile: "inet addr:192.168.0.109 Bcast:192.168.0.255 Mask:255.255.255.0".




    Danach setzten wir in folgender Datei die Werte "upload_max_filesize" sowie "post_max_size" auf 1000M.

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


    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. ;)

    Code
    upload_max_filesize = 1000M
    post_max_size = 1000M


    An das Ende der Datei fügen wir nun noch folgendes an:

    Code
    upload_tmp_dir = /srv/http/owncloud/data


    Als nächstes erstellen wir diesen Ordner mit den dazugehörigen Rechten

    Code
    sudo mkdir -p /srv/http/owncloud/data
    sudo chown www-data:www-data /srv/http/owncloud/data


    7. PHP konfigurieren



    Code
    sudo nano /etc/php5/fpm/pool.d/www.conf


    Hier ändert ihr folgende Zeile von:

    Code
    listen = /var/run/php5-fpm.sock


    zu

    Code
    listen = 127.0.0.1:9000




    8. Webserver und PHP neustarten

    Code
    sudo /etc/init.d/php5-fpm restart
    sudo /etc/init.d/nginx restart



    9. Owncloud installieren
    Als letztes installieren wir Owncloud. Arbeite folgende Befehle nacheinander ab.
    Unter anderem Erstellen wir hier das Verzeichnis "/var/www/owncloud", laden und entpacken owncloud, verschieben es in das korrekte Verzeichnis, vergeben die benötigten Rechte und löschen das zuvor herunter geladene Archiv.


    aktuelle Version beachten. In diesem Tutorial wurde die Version 5.0.5 benutzt

    Code
    sudo mkdir -p /var/www/owncloud
    sudo wget http://download.owncloud.org/community/owncloud-5.0.5.tar.bz2
    sudo tar xvf owncloud-5.0.5.tar.bz2
    sudo mv owncloud/ /var/www/
    sudo chown -R www-data:www-data /var/www
    rm -rf owncloud owncloud-5.0.5.tar.bz2



    Nun kannst du unter der Ip-Adresse des Raspberry PIs den Server aufrufen. Bei mir ist es in dem Falle "https://192.168.0.109/owncloud"
    Als letztes musst du nun Administratorkennwort und Benutzername festlegen. Die Installation ist nun abgeschlossen.



    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 ().

  • 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!


    Hi vielen Dank für die Anleitung, werde ich gleich versuchen müssen :)


    vielleicht eine blöde Frage - aber für einen ext. Speicher z.b. USB Stick oder was auch immer gehe ich so wie in der anderen Anleitung vor oder geht das bei dieser "Version" nicht ?


    ok eine zweite Frage hab ich auch noch - ich würde gerne aus der gleichen PI "Maschine" meinen
    zukünftigen Webserver (z.b. für kleine Wordpress Seite??) und VPN Zugangspunkt machen. Ist das möglich oder überfordert man damit das Gerät und sollt das auf andere Geräte aufgeteilt werden ?!
    (Hab Variante B mit 512MB Speicher und SSD Platte als "Webspace") Any Ideas ? Muß man da auf etwas spezielles beim installieren der diversen Dienste achten ? ? Bin für jegliche Tipps dankbar,


    UND NOCHMALS VIELEN DANK FÜR DIE SUPER ANLEITUNGEN, haben bis jetzt immer gut funktioniert !!!


    lg Al

    • Official Post


    vielleicht eine blöde Frage - aber für einen ext. Speicher z.b. USB Stick oder was auch immer gehe ich so wie in der anderen Anleitung vor oder geht das bei dieser "Version" nicht ?


    Es gibt nur "blöde Antworten" - Für den externen Speicher sollte die andere Anleitung genauso funktionieren.



    ok eine zweite Frage hab ich auch noch - ich würde gerne aus der gleichen PI "Maschine" meinen
    zukünftigen Webserver (z.b. für kleine Wordpress Seite??) und VPN Zugangspunkt machen.
    Ist das möglich oder überfordert man damit das Gerät und sollt das auf andere Geräte aufgeteilt werden ?!


    Das sollte alles kein Problem darstellen. Bin ich sehr zuversichtlich. Wenn du jedoch gerade 20 Dateien parallel in die Cloud lädst und zusätzlich noch tausende Zugriffe auf Wordpress hast wird es knapp. Will sagen - es kommt immer darauf an wieviel Traffic/Nutzer und so weiter du hast. Am besten ausprobieren.



    (Hab Variante B mit 512MB Speicher und SSD Platte als "Webspace") Any Ideas ? Muß man da auf etwas spezielles beim installieren der diversen Dienste achten ? ? Bin für jegliche Tipps dankbar,


    bezieht sich "Any Ideas" auf deine zweite Frage oder die SSD?
    für Wordpress würde ich einen eigenen Ordner anlegen.
    1. https://192.168.0.109/owncloud
    2. https://192.168.0.109/blog


    Ansonsten ist nichts anders als sonst auch. Es ist ein "normales" Raspbian auf dem du viele weitere Dienste installieren kannst.

    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.

  • Ist es nicht besser OwnCloud über die Debian Paketverwaltung zu installieren ??


    Immerhin erleichtert einem das Update nachher ungemein.

    ;) Gruß Outi :D
    Pis: 2x Pi B (Rente) / 1x Pi B+ (Rente) / 1x Pi 2 B (Tests) / 2x Pi 3 B (RaspberryMatic / Repetier Server) / 2x Pi Zero 1.2 (B. Lite) / 2x Pi Zero 1.3 (B. Lite) /
    2x Pi Zero W 1.1 (B. Lite) / 1x Pi Zero 2 (noch ohne) / 1x Pi 3 B+ (Tests) / 1x Pi 4 B 4GB (Bullseye 64 Bit Lite (Webserver)) / Pi 400 (Bullseye 64 Bit) / 2x Pi Pico / 2x Pi Pico W
    Platinen: Sense HAT / RPI-RF-MOD / PiFi DAC+ V2.0 / TV HAT

    • Official Post

    Würde das Update erleichtern, aber dann musst du es so oder so anpassen. Owncloud bekommst du mit nginx als Webserver auch gar nicht als Paket. Da lohnt es sich nicht wirklich.
    http://packages.debian.org/de/sid/owncloud


    Wenn ich da falsch liege, berichtigt mich. Habe Owncloud noch nicht über das Paket installiert.


    By the way: Es reicht, wenn du es in einem Beitrag anmerkst! ;)

    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 ().

  • Jo, waren halt 2 Beiträge mit dem Thema und net jeder liest alles aber Danke für den Hinweis, werd ich drauf achten.

    ;) Gruß Outi :D
    Pis: 2x Pi B (Rente) / 1x Pi B+ (Rente) / 1x Pi 2 B (Tests) / 2x Pi 3 B (RaspberryMatic / Repetier Server) / 2x Pi Zero 1.2 (B. Lite) / 2x Pi Zero 1.3 (B. Lite) /
    2x Pi Zero W 1.1 (B. Lite) / 1x Pi Zero 2 (noch ohne) / 1x Pi 3 B+ (Tests) / 1x Pi 4 B 4GB (Bullseye 64 Bit Lite (Webserver)) / Pi 400 (Bullseye 64 Bit) / 2x Pi Pico / 2x Pi Pico W
    Platinen: Sense HAT / RPI-RF-MOD / PiFi DAC+ V2.0 / TV HAT

    Edited once, last by Outlaw ().

  • Super Tutorial!


    Werde demnächst gerne berichten, wie es läuft!


    Ist jedoch ein ganz kleiner Tippfehler im letzten Codeabschnitt des Tutorials. Dort ist die falsche Owncloud Version zum Löschen angegeben ;)



    Vielen Dank und viele Grüße,
    Tim

    • Official Post


    Ist jedoch ein ganz kleiner Tippfehler im letzten Codeabschnitt des Tutorials. Dort ist die falsche Owncloud Version zum Löschen angegeben ;)


    Danke, habe es natürlich geändert.
    Gruß

    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 ().

  • Wie viel besser sieht das denn nun aus mit der Performance im Vergleich zu Apache2?


    Mit Apache hatte ich es nämlich mal eingerichtet aber den iTunes Ordner zu syncen dauerte eine Ewigkeit wegen den ganzen kleinen einzelnen Dateien, und war somit eigetnlich unbenutzbar...

  • Hey ps915,


    sehr schöne Anleitung vorab. Ich habe alles Schritt für Schritt befolgt, bekomme aber bei dem Neustarten des Webservers folgende Meldung:


    Code
    pi@raspberrypi ~ $ sudo /etc/init.d/nginx restart
    Restarting nginx: nginx: [emerg] unknown directive " listen" in /etc/nginx/sites-enabled/default:3
    nginx: configuration file /etc/nginx/nginx.conf test failed


    Ich weiß nicht woran es liegt. Natürlich funktioniert das ganze zum Schluss nicht bei mir. Bitte um Hilfe!


    Gruß,
    squavel

    • Official Post

    Hallo squavel,
    Hast du Punkt 6 befolgt?
    Wie schaut der Inhalt deiner "/etc/nginx/sites-available/default" aus?


    Gruß,
    ps915

    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.

  • Hey ps915,


    wie gesagt ich habe alle Schritte befolgt.


    Sowhol die Datei "/etc/nginx/sites-enabled/default" und "/etc/nginx/sites-available/default" sehen exakt gleich aus, so wie in Schritt 6 beschrieben.


    Stimmt vielleicht etwas mit der nginx.conf nicht?


    Gruß,
    squavel

  • schaut meiner Meinung nach auch nach einem Fehler in deiner default aus.
    Bei mir funktioniert sie wunderbar.
    Poste doch bitte mal die Zeilen mit "listen 80" und "listen 443" + die jeweils zwei Zeilen davor.

    Edited once, last by arndttob ().

  • Heyah,


    hier der Ausschnitt:



    Braucht ihr noch weitere Informationen? Ging heute leider nicht schneller. Danke für eure Hilfe!


    Gruß,
    squavel

  • Hey Leute,


    ich sollte ja nur einen kleinen Ausschnitt posten, aber wie gesagt daran liegt es nicht, da ich es 1 zu 1 kopiert habe hier aus der Anleitung.


    Gruß,
    squavel

  • Moin Raspi Gemeinde,


    Da am We mein Pi kommen wird, möchte ich als erstes dieses Tutorial durcharbeiten !
    Es stellt sich mir eine Frage des externen Speicherorts. Ich möchte gern eine externe 500Gb Festplatte im NTFS Format nutzen (eingängen), und auch so das sich die Platte nach einem Neustart automatisch mountet.


    Kann ich den Punkt 8.2 aus der Apache Anleitung so übernehmen, außer dem Formatieren ?
    Oder gibt es da noch was zu beachten ? Sorry ich bin blutiger Linuxanfänger ! :blush:


    Gruß
    Matze1975



    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
  • Hallo ps915
    ich hatte die ganze Zeit Owncloud mit deinem Apache Tutorial genutzt und würde nun gerne auf nginx wechseln.
    Da ich aber keine Ahnung habe, wie ich Apache und die ganzen dazu gehörigen Einstellungen entfernen kann (will meinen Pi nicht "zu müllen" aber auch nichts falsches löschen), wollte ich mal kurz fragen, ob du mir evtl beim Apache löschen helfen könntest? (Also welche Befehle ich ausführen muss)


    Vielen dank :)