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
  • Save jonasstein/9041938 to your computer and use it in GitHub Desktop.
Save jonasstein/9041938 to your computer and use it in GitHub Desktop.
HOWTO: INSTALLATION VON LIGHTTPD UND OWNCLOUD AUF DEM RASPBERRY PI
===========================================================
Autor: Jan Grosser <email@jan-grosser.de>
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 pi@192.168.1.207
* 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 pi@192.168.1.4
* Wieder Superuser werden:
$ sudo su
* In /root wechseln
# cd /root
Update
======
* Softwareliste aktualisieren
# apt-get update
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
* 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
* 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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment