Aufgrund der vielen Anfragen bezüglich einer Anleitung zur Installation von Nextcloud auf dem Banana Pi, folgt hier die Schritt-für-Schritt Anleitung. Wer sich noch nicht sicher ist, ob und welche Cloud Anwendung er installieren möchte, dem empfehle ich meinen Artikel Nextcloud vs. Seafile.
Relativ wichtiger Hinweis:
Diese Anleitung bezieht auf Nextcloud Version 13. Nextcloud 14 benötigt zwingend PHP7, welches in Bananian 16.04 nicht enthalten ist.
Kurzum: Wenn du auf deinem Banana Pi Bananian installiert hast, verwende diese Anleitung, achte jedoch darauf, dass du Nextcloud nicht aktualisierst!
Verwendest du ein anderes OS, wie beispielsweise Armbian, dann ersetzte alle php5 durch ein php7. Dann kannst du nach Herzenslust auf neue Versionen aktualisieren.
Schritt 1 – Abhängigkeiten installieren
Diese Anleitung ist für Bananian 16.04 mit Kernel 4.4 konzipiert. Bitte nocheinmal sicherstellen, dass der neuste Kernel installiert ist! Dies lässt sich überprüfen mit:
uname -r
Sollte die hier angezeigte Version nicht 4.4.XX-bananian entsprechen, bitte Kernel 4.4 nachinstallieren und neustarten:
apt-get install linux-image-4.4-bananian && reboot
Nun geht es aber wirklich an die Abhängigkeiten. Hinweis: Maria-DB wird nach einem root Passwort für die Datenbank fragen. Hier bitte ein sicheres Passwort wählen. Klick mich um ein sicheres Passwort zu generieren.
apt-get install nginx mariadb-server unzip
apt-get install php5 php5-fpm php5-mysql php5-curl php5-intl php5-mcrypt php5-apcu php5-imagick libapache2-mod-php5
Schritt 1.5 – Nextcloud herunterladen
…Da ich zu meiner Schande gar nicht den Download erwähnt habe, reiche ich ihn an dieser Stelle nach, habe aber keine Lust, alle Überschriften mit neuen Nummern zu versehen 😉
Wir wechseln in das Verzeichnis /var/www
cd /var/www
und laden hier die Nextcloud herunter:
wget https://download.nextcloud.com/server/releases/latest-13.zip
Diese entpacken wir noch. Dabei sollte automatisch ein Unterordner namens „nextcloud“ erstellt werden:
unzip https://download.nextcloud.com/server/releases/latest-13.zip
Abschließend passen wir mittels
chown -R www-data:www-data nextcloud && chmod -R 755 nextcloud
noch die Rechte der Nextcloud Installation an.
Schritt 2 – Nginx konfigurieren
Zu Erst deaktivieren wir Apache:
/etc/init.d/apache2 stop
update-rc.d apache2 disable
Nun deaktivieren wir die Nginx default page …
rm /etc/nginx/sites-enabled/default
… und erstellen eine neue Datei für Nextcloud. In die Datei bitte diesen Inhalt einfügen.
nano /etc/nginx/sites-available/nextcloud
Abschließend muss die „Seite“ noch aktiviert werden:
ln -s /etc/nginx/sites-available/nextcloud /etc/nginx/sites-enabled/nextcloud
Schritt 3 – SSL Zertifikat erstellen
Diese Prozedur sollte euch bekannt sein. Kurz-um: Es wird ein Ordner erstellt und in diesem Wiederrum ein 4096-bit langer Schlüssel, aus dem wir ein selbst signiertes Zertifikat mit einer Gültigkeit von 10 Jahren erzeugen.
mkdir /etc/ssl
mkdir /etc/ssl/nginxcd /etc/ssl/nginx
openssl genrsa -out nextcloud.key 4096
openssl req -new -sha512 -key nextcloud.key -out nextcloud.csr
openssl x509 -req -sha512 -days 3650 -in nextcloud.csr -signkey nextcloud.key -out nextcloud.crt
Um die Einstellungen anzuwenden, Nginx und PHP neu starten:
/etc/init.d/nginx restart && /etc/init.d/php5-fpm restart
Schritt 4 – Datenbank einrichten
Im letzten Schritt erstellen wir nun noch eine Datenbank für Nextcloud.
Dafür mittels:
mysql -uroot -p
einloggen. Ihr müsst nun das gewählte root Passwort aus Schritt 1 eingeben.
Jetzt noch die Datenbank erstellen und wieder mit einem sicheren Passwort absichern: (password durch euer Passwort ersetzten)
CREATE USER 'nextcloud'@'localhost' IDENTIFIED BY 'password';
CREATE DATABASE IF NOT EXISTS nextcloud;
GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextcloud'@'localhost' IDENTIFIED BY 'password';
Abschließend die Konfiguration mit exit
verlassen.
Es sollte jetzt möglich sein, das Webinterface von Nextcloud zu erreichen und die Konfiguration abschließen. (TODO: Screenshots)
Zusätzliche Schritte zur Optimierung
Theoretisch ist eure Nextcloud Installation bereit zum Einsatz. Wem das ganze jedoch zu langsam läuft, der wird hier bei den Optimierungen fündig.
Wichtig: Ich bitte euch, falls ihr die Optimierungen durchführen wollt, alle hier aufgelisteten Schritte auszuführen.
Hinweis für alle Anfänger: Dateien unter Linux lassen sich mit nano
bearbeiten.
Z.B. nano /etc/testdatei
mittels „strg + x“, „j“ und „enter“ lassen sich alle Änderungen speichern.
… in /etc/php5/fpm/php.ini
folgendes auskommentieren („#“ entfernen)
opcache.enable=1
opcache.enable_cli=1
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.memory_consumption=128
opcache.save_comments=1
opcache.revalidate_freq=1
in /etc/php5/fpm/php.ini
… folgendes zu /var/www/nextcloud/config/config.php
hinzufügen:
'memcache.local' => '\OC\Memcache\APCu',
'memcached_servers' => array(
array('localhost', 11211),
),
… in /etc/php5/fpm/pool.d/www.conf
folgendes auskommentieren:
env[HOSTNAME] = $HOSTNAME
env[PATH] = /usr/local/bin:/usr/bin:/bin
env[TMP] = /tmp
env[TMPDIR] = /tmp
env[TEMP] = /tmp
… in /etc/nginx/nginx.conf
den Eintrag „worker_processes“ auf „auto“ setzten.
Abschließend den Banana Pi neu starten:
shutdown -r now
Viel Spaß mit Nextcloud 😉
10 Gedanken zu “Banana Pi: Nextcloud installieren”
Thanks designed for sharing such a fastidious opinion, article is nice, thats why i have read it fully
Hi,
danke für die Anleitung. Hat prima funktioniert. Kleiner Hinweis: Ich musste noch php5-gd installieren. Dann lief alles rund!
Nochmal danke und schönen Gruß
Hallo, ich habe versucht nach deiner Anleitung vorzugehen. „IchHabeKeinenNamen“ hat schon recht mit php5-fpm; das installiert sich nicht von alleine, bei mir zumindest nicht…
Das wird wohl auch für den Fehler beim /etc/init.d/nginx restart && /etc/init.d/php5-fpm restart ausmachen, oder ?
Ich meine, da gibt es gleich zwei Fehlermeldungen…:
/etc/init.d/nginx restart && /etc/init.d/php5-fpm restart
[FAIL] Restarting nginx: nginx Failed,
zsh: no such file or directory: /etc/init.d/php5-fpm restart
Wäre schön, wenn Du nochmal erläutern kannst, wiso Du php5-fpm hast und ich/wir nicht..
Und warum nginx bei mir nicht startet…
Hallo ttt,
vielen Dank für deinen Kommentar. Bei mir hatte es immer funktioniert, da ich mir ein kleines Script dafür gebastelt hatte. Dort hatte ich
php-fpm
schon seit Monaten drin, deswegen habe ich den Fehler auf meiner Seite nicht entdeckt. Ich habe es jetzt korrigiert.Installiere es einfach nach, mit
apt-get install php-fpm
danach sollte alles funktionieren.
Vielen Dank & einen schönen Sonntag,
Daniel
Und wo genau installierst du Nextcloud? Wann startest du wieder den apache server? und was soll dieses script mit der ip? (server_name 192.168.0.111;)
Hallo Derskeptiker,
mir ist gerade aufegfallen, dass ich das herunterladen der Nextcloud gar nich beschrieben habe. Das werde ich demnächst nachholen. Vielen Dank, dass du mich darauf aufmerksam gemacht hast.
Du wechselst in das Verzeichniss /var/www
Dann downloadest du die Nextcloud 12: wget https://download.nextcloud.com/server/releases/nextcloud-12.0.11.zip
Nun noch ein unzip nextcloud-12.0.11.zip
Und die Rechte anpassen: chown -R www-data:www-data nextcloud && chmod -R 755 nextcloud
Den Apache Server starten wir nie wieder, da wir mit nginx arbeiten und nicht mit apache.
Das Script mit der IP ist die Konfigurationsdatei für den Webserver, damit er weiß, welche Dateien er wo zur Verfügung stellen soll. Außerdem wird daran geregelt, dass Dateien hochgealden werden können, etc.
Falls noch weitere Fragen bestehen, einfach antworten 😉
Danke für deinen Kommentar!
Moin,
ich wollte mir anhand deiner Anleitung die nextcloud installieren.
Ein paar „Fehler“ sind mir aufgefallen:
– php5-fpm muss noch zur apt-get install hinzugefügt werden
– Bei der SSL-Generierung vermute ich mal dass du den Pfad /etc/ssl/nginx anstelle von /etc/nginx/ssl meinst
– Du hast leider hier nicht beschrieben wie man überhaupt an die Nextcloud kommt. Ich habe mir die 12er heruntergeladen, aber da ist nur eine leere Default-Config. Wie geht es von hier aus weiter?
Vielen Dank für das Lob! Der Kommentar ist leider in den Spam Ordner gerutscht. Deswegen die späte Antwort.
Warum muss php5-fpm ergänzt werden? Davon steht nichts auf der offiziellen Webseite (https://docs.nextcloud.com/server/12/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation). Und wenn ich mich recht erinnere, habe ich es auch nicht gebraucht?! Oder bin ich da gerade blind?
Nein, der Pfad für die SSL Generierung ist korrekt. Du kannst natürlich auch einen anderen Pfad verwenden, musst dann aber die verlinkte Config Datei anpassen (ssl_certificate und ssl_certificate_key). Ich sortiere die SSL Zertifiakte eben gern in /etc/nginx/ssl ein. Das ist aber eine persöhnliche Präferenz.
Wie man die Nextcloud downloadet habe ich leider vergessen zu schreiben. Ich werde die Anleitung dahingehend korrigieren.
Für dich zur schnellen Hilfe eine Kurzanleitung:
Du wechselst in das Verzeichniss /var/www
Dann downloadest du die Nextcloud 12: wget https://download.nextcloud.com/server/releases/nextcloud-12.0.11.zip
Nun noch ein unzip nextcloud-12.0.11.zip
Und die Rechte anpassen: chown -R www-data:www-data nextcloud && chmod -R 755 nextcloud
Und noachmal sorry für die späte Antwort!
Schade es funktioniert mit der Anleitung nicht.
Der nginx startet nicht und wenn ich deinen Tipp :
„Installiere es einfach nach, mit
apt-get install php-fpm
danach sollte alles funktionieren.“
durchführe erhalte ich folgende Meldung:
„/etc/ssl/nginx # Abhängigkeitsbaum wird aufgebaut. 🙁
zsh: command not found: Abhängigkeitsbaum“
Kannst du da vielleicht helfen??
LG
Frank.
Hallo Frank,
es erscheint mir sehr komisch, dass die Zeile „/etc/ssl/nginx“ erscheint, wenn du „apt-get install php-fpm“ eingibst. Das ist defacto nicht möglich.
Das die shell hier Abhängigkeitsbaum nicht finden kann, deutet darauf hin, dass du etwas falsches eingegeben hast.
Die Installation von php-fpm hat auch nichts mit nginx zu tun. Ich verstehe daher nicht den Zusammenhang. Wenn nginx nicht startet, hilft es auch nicht, php-fpm zu installieren.
Kannst du bitte nocheinmal exakt das, was du eingegeben hast, hier in Anführungszeichen posten? Und es wäre hilfreich ein paar Informationen über dein System zu haben (Raspberry Pi oder Banana Pi? Welche Version von Bananian?) und Fehlermeldungen. Damit meine ich nicht nur Auszüge, sondern „Eingabe xyz“ führt zu folgendem Fehler: „Fehler xyz“. Sonst kann ich dir leider nicht helfen.
Viele Grüße
Daniel