ubuntuusers.de

Nextcloud auf Raspberry PI 2 mit nginx

Status: Ungelöst | Ubuntu-Version: Kein Ubuntu
Antworten |

Jerox

Anmeldungsdatum:
12. November 2015

Beiträge: 20

Hi Zusammen,

ich hoffe das ihr mir weiterhelfen könnt, da ich eine Cloud auf meinen Pi2 installieren möchte mich aber zu wenig damit auskenne vor allem mit nginx. Zuerst möchte ich euch mitteilen das ich schon Owncloud mit Apache2 erfolgreich auf meinen Pi installiert hatte, aber möchte nun zu Nextcloud und nginx wechseln. Habe gehört das nginx auf schwächerer Hardware besser laufen soll und Ressourcen schonender ist.

Also Anleitung dazu habe ich damals folgendes verwendet: http://raspberry.tips/server-2/owncloud-8-1-auf-dem-raspberry-pi-2-mit-apache/ Diese Anleitung kann ich bei manchen Stellen verwenden, jedoch nicht alles! Und google und Duckduckgo sind mir geläufig!

Ich verwende die aktuelle Debian Lite die ich direkt von der PI Seite habe, warum die Lite Version? Ganz Einfach, ich brauche da keine Grafische Oberfläche oder ähnliches. Außerdem kommt noch ein PI Drive mit 314 GB von WD Labs hinzu wo die Nextcloud alles speichern soll.

Diese habe ich mit dd auf die SD Karte kopiert "check" Die SD Karte in den PI und mit

sudo passwd
paspi-config
apt-get update
apt-get upgrade

alles einmal auf Up to Date gemacht! "check"

Als nächstes würde ich jetzt mal den nginx Webserver sowie mysql installieren, ist dies korrekt?

apt-get install nginx
apt-get install mysql-server

Jerox

misterunknown Team-Icon

Ehemalige
Avatar von misterunknown

Anmeldungsdatum:
28. Oktober 2009

Beiträge: 4403

Wohnort: Sachsen

Jerox schrieb:

Als nächstes würde ich jetzt mal den nginx Webserver sowie mysql installieren, ist dies korrekt?

apt-get install nginx
apt-get install mysql-server

Ja.

Siehe auch:

Jerox

(Themenstarter)

Anmeldungsdatum:
12. November 2015

Beiträge: 20

Hi, nun bin ich aus dem Urlaub zurück und möchte mich nun wieder der Cloud kümmern.

apt-get install nginx
apt-get install mysql-server

mysql und nginx wurden installiert.

Als nächstes würde ich DynDNS einrichten.

wget http://www.noip.com/client/linux/noip-duc-linux.tar.gz

Entpacken:
tar xvfz noip-duc-linux.tar.gz

Und in das Verzeichnis wechseln und installieren
cd noip-2.1.9-1/
sudo make install

Und zu guter letzt noch einen Autostart Eintrag machen
crontab -e

und folgendes Eingeben
@reboot sudo /usr/local/bin/noip2

Soweit so gut, nun meldet sich der noip Client alle 30 Minuten an den DynDNS

Als nächstes würde ich nextcloud installieren, leider habe ich noch keine ppa gefunden somit muss ich es Manuel herunterladen und installieren.

cd /var/www/
sudo wget https://download.nextcloud.com/server/releases/nextcloud-10.0.0.zip
sudo unzip nextcloud-10.0.0.zip
sudo rm nextcloud-10.0.0.zip
sudo chown -R www-data:www-data /var/www/nextcloud

Sollte ich falsch liegen korrigiert mich bitte, oder falls jemand Tips hat bitte melden. Bin in diesem Thema nicht so bewandert und hoffe auf Unterstützung ☺

lg Jerox

misterunknown Team-Icon

Ehemalige
Avatar von misterunknown

Anmeldungsdatum:
28. Oktober 2009

Beiträge: 4403

Wohnort: Sachsen

Jerox schrieb:

Sollte ich falsch liegen korrigiert mich bitte, oder falls jemand Tips hat bitte melden. Bin in diesem Thema nicht so bewandert und hoffe auf Unterstützung ☺

Was erwartest du denn? Bisher hast du nichts falsch gemacht. Und alles, was du nicht weißt, kannst du nachlesen. Für Nextcloud gibt es ein recht umfangreiches Administrations-Manual. Guck dir das an und les die für dich relevanten Abschnitte. Speziell Hinweisen möchte ich vor allem auf den Abschnitt Hardening and Security Guidance. Für den nginx gilt das gleiche: Hier gibts eine Übersicht über die Dokumentation. Für dich interessant ist eventuell der Beginners Guide (das ist wirklich überschaubar viel) und relevante Teile des Admin Guides.

Bei konkreten Problemen wird dir hier natürlich gern geholfen, aber wir sind keine Lehrer, die dir alles erklären 😉

PS: Zu vielen Themen wirst du auch hier im Wiki fündig (nginx). Für NextCloud gibt es noch keinen eigenen Artikel, aber der ownCloud-Artikel ist immer noch weitestgehend gültig.

Jerox

(Themenstarter)

Anmeldungsdatum:
12. November 2015

Beiträge: 20

Vielen Dank.

Bist jetzt habe ich alles Richtig gemacht 👍 Nextcloud ist ohne Probleme erreichbar!

3 Fehler waren in der Administration ersichtlich.

1. der Mem Cache habe ich mit APCu beheben können 2. auch der max-age wurde gelöst

Nur der 3. Fehler verstehe ich nicht und auch Google hilft mir nicht wirklich weiter.

Dein Datenverzeichnis und Deine Dateien sind wahrscheinlich vom Internet aus erreichbar. Die .htaccess-Datei funktioniert nicht. Es wird dringend empfohlen, Deinen Webserver dahingehend zu konfigurieren, dass das Datenverzeichnis nicht mehr vom Internet aus erreichbar ist oder dass Du es aus dem Document-Root-Verzeichnis des Webservers herausverschiebst.

Was muss ich da machen? 😲

Danke Jerox

misterunknown Team-Icon

Ehemalige
Avatar von misterunknown

Anmeldungsdatum:
28. Oktober 2009

Beiträge: 4403

Wohnort: Sachsen

Jerox schrieb:

Was muss ich da machen? 😲

Das heißt, dass dein Datenverzeichnis im DocumentRoot liegt. Verschiebe es einfach irgendwo anders hin (bei mir liegen die Daten unter /data/nextcloud) und konfiguriere es entsprechend. Die Konfiguration liegt unter config/config.php und der entsprechende Wert heißt datadirectory.

Ich würde aber definitiv noch das Problem mit der .htaccess-Datei lösen. Hier gibts Infos.

Jerox

(Themenstarter)

Anmeldungsdatum:
12. November 2015

Beiträge: 20

So weit so gut.

Ich habe jedoch 2 .htaccess Dateien

root@raspberrypi:/home/pi# find /var -name .htaccess
/var/www/nextcloud/config/.htaccess
/var/www/nextcloud/.htaccess

Welche ist die Richtige? Oder soll ich beide verschieben?

Und ich habe noch ein weiteres Problem, da ich von WDlabs ein PiDrive mit 314GB nutze wurde diese Festplatte nun hinzugefügt

nano /etc/fstab
proc            /proc           proc    defaults          0       0
/dev/mmcblk0p1  /boot           vfat    defaults          0       2
/dev/mmcblk0p2  /               ext4    defaults,noatime  0       1
/dev/sda1       /var/www/nextcloud/data/        ext4    defaults        0       1

nach einem Neustart erkennt der Pi diese und wird auch automatisch eingebunden.

Aber wenn ich jetzt nextcloud anwähle kommt folgende Fehlermeldung:

Data directory (/var/www/nextcloud/data) is invalid Please check that the data directory contains a file ".ocdata" in its root. Data directory (/var/www/nextcloud/data) not writable Permissions can usually be fixed by giving the webserver write access to the root directory.

Muss also der nextcloud schreib Rechte geben oder?

Jerox

misterunknown Team-Icon

Ehemalige
Avatar von misterunknown

Anmeldungsdatum:
28. Oktober 2009

Beiträge: 4403

Wohnort: Sachsen

Jerox schrieb:

Ich habe jedoch 2 .htaccess Dateien

root@raspberrypi:/home/pi# find /var -name .htaccess
/var/www/nextcloud/config/.htaccess
/var/www/nextcloud/.htaccess

Welche ist die Richtige? Oder soll ich beide verschieben?

Du sollst die .htaccess-Dateien nicht verschieben, sondern das Datenverzeichnis. Das Problem mit den .htaccess-Dateien sollst du nur lösen. Was genau das Problem ist, siehst du im Error-Log des Apachen. Vermutlich fehlt einfach die entsprechende Erlaubnis für die Anweisungen in der htaccess-Datei.

proc            /proc           proc    defaults          0       0
/dev/mmcblk0p1  /boot           vfat    defaults          0       2
/dev/mmcblk0p2  /               ext4    defaults,noatime  0       1
/dev/sda1       /var/www/nextcloud/data/        ext4    defaults        0       1

Wie gesagt: Das Datenverzeichnis sollte außerhalb des DocumentRoots liegen.

nach einem Neustart erkennt der Pi diese und wird auch automatisch eingebunden. Aber wenn ich jetzt nextcloud anwähle kommt folgende Fehlermeldung:

Data directory (/var/www/nextcloud/data) is invalid Please check that the data directory contains a file ".ocdata" in its root.

Das heißt einfach, dass du eine Partition in den Pfad gemountet hast, ohne vorher die Daten zu übernehmen. Schlechte Idee. Mounte die Partition erst woanders, übernehme die Daten, dann hänge sie wieder ein.

Data directory (/var/www/nextcloud/data) not writable Permissions can usually be fixed by giving the webserver write access to the root directory.

Muss also der nextcloud schreib Rechte geben oder?

Ja.

Jerox

(Themenstarter)

Anmeldungsdatum:
12. November 2015

Beiträge: 20

Du sollst die .htaccess-Dateien nicht verschieben, sondern das Datenverzeichnis. Das Problem mit den .htaccess-Dateien sollst du nur lösen. Was genau das Problem ist, siehst du im Error-Log des Apachen. Vermutlich fehlt einfach die entsprechende Erlaubnis für die Anweisungen in der htaccess-Datei.

Leider weiß ich nicht was du meinst stehe auf der Leitung, vielleicht kann man es mir einfach Erklären? Ich kann das Datenverzeichnis

var/www/nextcloud/config/.htaccess

verschieben, löschen, und keine Ahnung was noch alles...

misterunknown Team-Icon

Ehemalige
Avatar von misterunknown

Anmeldungsdatum:
28. Oktober 2009

Beiträge: 4403

Wohnort: Sachsen

Jerox schrieb:

Leider weiß ich nicht was du meinst stehe auf der Leitung, vielleicht kann man es mir einfach Erklären?

Ja, das kann ich. Eigentlich wäre es aber deine Aufgabe das herauszufinden. Die Links poste ich ja nicht zum Spaß.

Ich kann das Datenverzeichnis

var/www/nextcloud/config/.htaccess

verschieben, löschen, und keine Ahnung was noch alles...

Du solltest schon ein gewisses Grundwissen aufbauen. /var/www/nextcloud/config/.htaccess ist eine Datei. Das ist also schonmal nicht das Datenverzeichnis, sondern eine Konfigurationsdatei für den Apache-Webserver. Diese Datei steuert bestimmtes Verhalten. Hier gibt es Informationen dazu. Da du keinen Apache betreibst, sondern einen nginx hat die Datei dort keine Wirkung. Damit kannst du sie löschen, oder ignorieren. Wie wird nun aber der nginx konfiguriert? Das steht hier. Und gleichzeitig steht dort: "Note that Nginx is not officially supported, and this page is community-maintained.".

Zum eigentlichen Problem: Das Datenverzeichnis ist bei dir vermutlich /var/www/nextcloud/data. Das heißt dieses Verzeichnis ist potentiell direkt durch den Webserver aufrufbar. Das wird als Sicherheitsrisiko angesehen. Daher sollte man das Datenverzeichnis außerhalb des DocumentRoots schieben. Ich habe dafür /data/nextcloud angelegt. Du kannst es aber auch nach /var/nextcloud schieben oder sonstwohin. Wichtig ist nur, dass du den Pfad anschließend in der Konfigurationsdatei änderst. Diese liegt unter /var/www/nextcloud/config/config.php. Dort gibt es dann den Wert "datadirectory". Das änderst du auf den von dir gewählten Pfad.

Jerox

(Themenstarter)

Anmeldungsdatum:
12. November 2015

Beiträge: 20

So nun melde ich mich wieder zu Wort.

Leider musste ich feststellen das Nextcloud mit Apache2 lief, mein vorhaben war jedoch mit nginx gewollt. Nun musste ich wieder von vorne anfangen.

Bin jetzt alle schritte nochmals durchgegangen jedoch diesmal expliziert mit nginx!

Derzeit stehe ich leider etwas an! Wenn ich meine ddns.net Seite aufrufe kommt nur eine leere Seite die weiß ist.

Hat jemand einen Rat für mich?

Jerox

misterunknown Team-Icon

Ehemalige
Avatar von misterunknown

Anmeldungsdatum:
28. Oktober 2009

Beiträge: 4403

Wohnort: Sachsen

Jerox schrieb:

Leider musste ich feststellen das Nextcloud mit Apache2 lief, mein vorhaben war jedoch mit nginx gewollt.

nginx wird von Nextcloud nicht offiziell supported.

Derzeit stehe ich leider etwas an! Wenn ich meine ddns.net Seite aufrufe kommt nur eine leere Seite die weiß ist.

Was ist mit den Logs? Meine Glaskugel ist gerade kaputt...

Jerox

(Themenstarter)

Anmeldungsdatum:
12. November 2015

Beiträge: 20

Was ist mit den Logs?

Gerne, wo sind diese zu finden?

misterunknown Team-Icon

Ehemalige
Avatar von misterunknown

Anmeldungsdatum:
28. Oktober 2009

Beiträge: 4403

Wohnort: Sachsen

Jerox schrieb:

Gerne, wo sind diese zu finden?

In der Standardeinstellung unter /var/log/nginx/.

Jerox

(Themenstarter)

Anmeldungsdatum:
12. November 2015

Beiträge: 20

Vielen Dank.

Dies ist die Ausgabe:

2016/09/29 16:27:37 [emerg] 1280#0: unexpected end of file, expecting "}" in /etc/nginx/sites-enabled/default:83

Mehr erscheint nicht

Antworten |