Skip to content

Instantly share code, notes, and snippets.

@jonasstein
Forked from rzbrk/RasPI-OwnCloud-Anleitung.txt
Last active August 29, 2015 13:56
Show Gist options
  • Select an option

  • Save jonasstein/9041938 to your computer and use it in GitHub Desktop.

Select an option

Save jonasstein/9041938 to your computer and use it in GitHub Desktop.

Revisions

  1. jonasstein revised this gist Feb 16, 2014. 1 changed file with 7 additions and 1 deletion.
    8 changes: 7 additions & 1 deletion RasPI-OwnCloud-Anleitung.txt
    Original file line number Diff line number Diff line change
    @@ -98,6 +98,12 @@ Vorarbeiten
    # cd /root


    Update
    ======
    * Softwareliste aktualisieren
    # apt-get update


    Webserver "lighttpd" installieren
    =================================

    @@ -147,7 +153,7 @@ Das Zertifikat in lighttpd installieren
    Mit <STRG+X>, <y>, <Enter> den Editor nano beenden und Datei speichern.

    * Nun den Webserver neu starten:
    service lighttpd restart
    # service lighttpd restart

    * Jetzt kann man vom Arbeitsrechner überprüfen, ob der Webserver korrekt
    funktioniert. Hierzu in einem Webbrowser die Webadresse des RasPi
  2. @rzbrk rzbrk revised this gist Feb 2, 2014. 1 changed file with 10 additions and 21 deletions.
    31 changes: 10 additions & 21 deletions RasPI-OwnCloud-Anleitung.txt
    Original file line number Diff line number Diff line change
    @@ -111,29 +111,18 @@ Selbst-signiertes SSL-Zertifikat erstellen
    * Privaten Schlüssel erzeugen (2048 Bit lang)
    # openssl genrsa -out server.key 2048

    * Certificate Signing Request (CSR) erstellen
    # openssl req -new -key server.key -out server.csr
    * Mit eigenen privaten Schlüssel signiertes Zertifikat erstellen:
    # openssl req -new -key server.key -x509 -days 365 -out server.crt

    Folgende Daten werden abgefragt:
    Country Name (2 letter code) [AU]:DE
    State or Province Name (full name) [Some-State]:Nordrhein-Westfalen
    Locality Name (eg, city) []:Troisdorf
    Organization Name (eg, company) [Internet Widgits Pty Ltd]:TroLUG
    Organizational Unit Name (eg, section) []:Rechenzentrum
    Common Name (e.g. server FQDN or YOUR name) []:localhost
    Email Address []:trolug at trolug dot de

    Please enter the following 'extra' attributes
    to be sent with your certificate request
    A challenge password []: <empty>
    An optional company name []: <empty>

    * Das CSR mit dem eigenen privaten Schlüssel unterschreiben:
    # openssl x509 -req -days 3650 -in server.csr -signkey server.key \
    -out server.crt

    * Das CSR wird nun nicht mehr benötigt und kann gelöscht werden:
    # rm server.csr

    Country Name (2 letter code) [AU]:DE
    State or Province Name (full name) [Some-State]:Nordrhein-Westfalen
    Locality Name (eg, city) []:Troisdorf
    Organization Name (eg, company) [Internet Widgits Pty Ltd]:TroLUG
    Organizational Unit Name (eg, section) []:Rechenzentrum
    Common Name (e.g. server FQDN or YOUR name) []:localhost
    Email Address []:trolug at trolug dot de

    * Das Zertifikat server.crt und den privaten Schlüssel zusammenführen:
    # cat server.key server.crt > server.pem
  3. @rzbrk rzbrk created this gist Feb 2, 2014.
    272 changes: 272 additions & 0 deletions RasPI-OwnCloud-Anleitung.txt
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,272 @@
    HOWTO: INSTALLATION VON LIGHTTPD UND OWNCLOUD AUF DEM RASPBERRY PI
    ===========================================================

    Autor: Jan Grosser <[email protected]>
    Erstellt: 2014/02/02
    Lizenz: CC-BY-4.0 Unported

    Quellen
    =======

    * http://www.akadia.com/services/ssh_test_certificate.html
    * http://www.dahlen.org/2013/02/die-eigene-cloud-1/
    * http://www.dahlen.org/2013/02/die-eigene-cloud-2/

    Vorbemerkungen
    ==============

    > Shell auf dem "Arbeitsrechner", also _nicht_ auf dem Raspberry PI
    (kurz: RasPi)
    $ Normale Benutzer-Shell auf dem RasPi (z.B. User pi)
    # Root-Shell auf dem RasPi

    * Voraussetzungen:
    Vorausgesetzt wird eine lauffähige Installation des Raspbian
    Linux. Ein Image für SD-Karte kann unter folgender Adresse herunter-
    geladen werden:

    http://www.raspberrypi.org/downloads

    Um den RasPi mit Raspbian etwas performanter zu machen, gibt es einige
    Software-Modifikationen, die sehr gut auf folgender Seite beschrieben
    sind:

    https://extremeshok.com/1081/raspberry-pi-raspbian-tuning-optimising-optimizing-for-reduced-memory-usage/

    VORSICHT ist jedoch beim Übertakten geboten - ggf. sind zusätzliche
    Kühlkörper erforderlich, damit der Prozessor durch die stärkere
    Wärmeentwicklung nicht beschädigt wird!

    Der Raspberry PI sollte mit einer Netzwerkverbindung gebootet werden. Von
    einem anderen Rechner mit Terminalprogramm muß man sich nun auf den RasPi
    einloggen. Unter Raspbian wird standardmäßig die IP dynamisch vom DHCP-
    Server im eigenen Netzwerk geholt.


    Vorarbeiten
    ===========

    * Im Zweifelsfall IP-Adresse des RasPi vom "Arbeitsrechner" aus ermitteln.
    Wenn das lokale Netz den Adressraum 192.168.1.0/24 umspannt, folgenden
    Befehl in der Shell ausführen (IP-Scan):
    > sudo nmap -nsP 192.168.1.0/24

    Nach einiger Zeit erfolgt die Antwort. In den Ergebnissen müssen folgende
    ähnliche Zeilen auftauchen (MAC Adresse abweichend):

    Nmap scan report for 192.168.1.207
    Host is up (0.00066s latency).
    MAC Address: B8:27:EB:5B:xx:xx (Raspberry Pi Foundation)

    Die IP-Adresse des RasPi ist in diesem Beispiel damit die 192.168.1.207.

    * Auf RasPi via SSH einloggen. Das Standard-Kennwort der Raspbian Distro für
    den User "pi" lautet "raspberry". Das sollte man aus Sicherheitsgründen
    gleich nach dem ersten Anmelden mit dem Befehl "passwd" ändern! Aber
    zunächst via SSH einloggen:
    > ssh [email protected]

    * Nun auf dem RasPi Superuser werden:
    $ sudo su

    * Statische IP-Adresse vergeben. Hierzu folgende Konfigurationsdatei öffnen:
    # nano /etc/network/interfaces

    Dort den Abschnitt für die Netzwerkkarte "eth0" wie folgt ändern (IP-Adresse
    und Adressraum an die eigenen Bedürfnisse anpassen!!):

    #iface eth0 inet dhcp
    iface eth0 inet static
    address 192.168.1.4
    netmask 255.255.255.0
    gateway 192.168.1.1

    Mit <STRG+X>, <y>, <Enter> den Editor nano beenden und Datei speichern.

    * Rebooten, damit die Netzwerkkarte mit der statischen Adresse konfiguriert
    wird:
    # reboot

    * Via SSH erneut einloggen. Jetzt muß die statische IP-Adresse verwendet
    werden:
    > ssh [email protected]

    * Wieder Superuser werden:
    $ sudo su

    * In /root wechseln
    # cd /root


    Webserver "lighttpd" installieren
    =================================

    * Installation des lighttpd Pakets
    # apt-get install lighttpd


    Selbst-signiertes SSL-Zertifikat erstellen
    ==========================================

    * Privaten Schlüssel erzeugen (2048 Bit lang)
    # openssl genrsa -out server.key 2048

    * Certificate Signing Request (CSR) erstellen
    # openssl req -new -key server.key -out server.csr

    Folgende Daten werden abgefragt:
    Country Name (2 letter code) [AU]:DE
    State or Province Name (full name) [Some-State]:Nordrhein-Westfalen
    Locality Name (eg, city) []:Troisdorf
    Organization Name (eg, company) [Internet Widgits Pty Ltd]:TroLUG
    Organizational Unit Name (eg, section) []:Rechenzentrum
    Common Name (e.g. server FQDN or YOUR name) []:localhost
    Email Address []:trolug at trolug dot de

    Please enter the following 'extra' attributes
    to be sent with your certificate request
    A challenge password []: <empty>
    An optional company name []: <empty>

    * Das CSR mit dem eigenen privaten Schlüssel unterschreiben:
    # openssl x509 -req -days 3650 -in server.csr -signkey server.key \
    -out server.crt

    * Das CSR wird nun nicht mehr benötigt und kann gelöscht werden:
    # rm server.csr

    * Das Zertifikat server.crt und den privaten Schlüssel zusammenführen:
    # cat server.key server.crt > server.pem


    Das Zertifikat in lighttpd installieren
    =======================================

    * Das Zertifikat in das lighttpd Konfigurationsverzeichnis kopieren:
    # cp server.pem /etc/lighttpd/.

    * Webserver Konfigurationsdatei ändern:
    # nano /etc/lighttpd/lighttpd.conf

    Die Zeile "server.port = 80" (etwa Zeile 15) suchen und dann die Datei
    wie folgt anpassen:

    server.port = 443
    ssl.engine = "enable"
    ssl.pemfile = "/etc/lighttpd/server.pem"

    Mit <STRG+X>, <y>, <Enter> den Editor nano beenden und Datei speichern.

    * Nun den Webserver neu starten:
    service lighttpd restart

    * Jetzt kann man vom Arbeitsrechner überprüfen, ob der Webserver korrekt
    funktioniert. Hierzu in einem Webbrowser die Webadresse des RasPi
    eingeben:

    https://192.168.1.4

    Da es sich um ein selbstsigniertes Zertifikat handelt, sollte in der Regel
    eine Sicherheitsmeldung erscheinen. Wenn man eine Ausnahmeregel erstellt und
    das Zertifikat lokal speichert, so erscheint diese Meldung in Zukunft nicht
    mehr.

    OwnCloud installieren
    =====================

    * Installation der benötigten Pakete:
    # apt-get install php5-gd php5-curl php5-sqlite php5-cgi

    * In der PHP-Konfiguration die Größe für maximale Uploads anpassen:
    # nano /etc/php5/cgi/php.ini

    Dort folgende Zeilen anpassen (16 MB sollten für typische Anwendungen
    ausreichen, ggf. individuell anpassen). Tipp: Im Editor nano kann man nach
    Wörtern/Zeichenketten mit dem Befehl <STRG+W> suchen.

    upload_max_filesize = 16M
    post_max_size = 16M

    Mit <STRG+X>, <y>, <Enter> den Editor nano beenden und Datei speichern.

    * Einbindung von PHP5 via FastCGI in den Webserver lighttpd und Neustart des
    Webservers:
    # lighttpd-enable-mod fastcgi-php
    # service lighttpd force-reload

    * OwnCloud Installationsskript in das Webserver-Verzeichnis kopieren:
    # wget -O /var/www/setup-owncloud.php \
    https://download.owncloud.com/download/community/setup-owncloud.php
    # chown www-data:www-data /var/www /var/www/setup-owncloud.php

    * Nun zum Arbeitsrechner wechseln und das Installationsskript im Webbrowser
    aufrufen:

    https://192.168.1.4/setup-owncloud.php

    Im folgenden Fenster erscheint ein Willkommensfenster. Dort auf die
    Schaltfläche "Next" klicken. Im folgenden Fenster das Unterverzeichnis
    für OwnCloud ("owncloud" also /var/www/owncloud) bestätigen und auf die
    Schaltfläche "Next" klicken.
    Der folgende Schritt kann EINIGE MINUTEN dauern - bitte Geduld! Das
    Installationsskript läd im Hintergrund eine umfangreiche ZIP-Datei mit
    den Installationsdateien herunter. Etwaige Fehlermeldungen des
    Webservers können ggf. in der RasPi-Shell mit folgendem Befehl gelesen
    werden:
    # tail -f /var/log/lighttpd/error.log

    Die Ansicht kann mit <STRG+C> beendet werden.

    Nach Abschluß der Installtion erscheint im Browser-Fenster des Arbeits-
    rechners der Text "Success". Die Meldung durch Klick auf die Schaltfläche
    "Next" bestätigen.

    Auf der folgenden Seite im Browser erscheint eine Warnung, daß die Daten
    möglicherweise ungeschützt sind. Das wird im folgenden behoben. Zunächst
    legen wir einen ersten OwnCloud-User (z.B. Username "trolug"). Bitte das
    Zugangskennwort merken! Auch das Anlegen des Users kann EINIGE MINUTEN
    dauern - bitte Geduld!

    OwnCloud Installationsverzeichnis anpassen
    ==========================================

    * Zu der RasPi-Shell wechseln und dort zunächst den Webserver stoppen:
    # service lighttpd stop

    * Nun führen wir folgende Befehle nacheinander aus (der cp-Befehl kann
    einige Zeit benötigen!):
    # mv /var/www /var/www-old
    # cp -r /var/www-old/owncloud /var/www
    # chown -R www-data:www-data /var/www/
    # mkdir -p /srv/owncloud-data
    # chown -R www-data:www-data /srv/owncloud-data
    # mv /var/www/data/ /srv/owncloud-data

    Das OwnCloud Datenverzeichnis liegt nun also außerhalb des Root-
    Verzeichnisses des Webservers. Das Verzeichnis /var/www-old wird nicht
    mehr gebraucht und kann gelöscht werden:
    # rm -rf /var/www-old

    Nun müssen wir OwnCloud noch den neuen Ort des Datenverzeichnisses bekannt
    machen. Hierzu öffnen wir die Konfigurationsdatei:
    # nano /var/www/config/config.php

    Die Datei wird wie folgt angepaßt:

    <?php
    $CONFIG = array (
    'instanceid' => 'oc681e4166ef',
    'passwordsalt' => 'e747365e3cce1ffc0d359aca8a42ba',
    // 'datadirectory' => '/var/www/owncloud/data',
    'datadirectory' => '/srv/owncloud-data/data',
    'dbtype' => 'sqlite3',
    'version' => '6.0.0.16',
    'installed' => true,
    );

    Mit <STRG+X>, <y>, <Enter> den Editor nano beenden und Datei speichern.

    * Nun den Webserver wieder starten:
    # service lighttpd start

    Ende des HowTo