Kein Zugriff auf Nexcloud nach PHP und Webserver update

Status
Für weitere Antworten geschlossen.

T-Bone1806

Benutzer
Mitglied seit
05. Dez 2009
Beiträge
82
Punkte für Reaktionen
0
Punkte
6
Hallo liebe Forumsgemeinde,

seit ein paar Tagen komm ich nicht mehr auf meine Nextcloud.
Ich vermute seit dem update des PHP5.6 und des Webservers.
Folgende Fehlermeldung wird angezeigt:
Bildschirmfoto 2017-01-05 um 21.19.56.jpg

Es wurde nichts an den Rechten geändert.
Hat einer von euch einen Tipp?

Danke für eure Mühe

Viele Grüße
Timon
 

rednag

Benutzer
Mitglied seit
08. Nov 2013
Beiträge
3.954
Punkte für Reaktionen
11
Punkte
104
Wie wurde denn Nextcloud installiert? Hast Du für "data" einen gemeinsamen Ordner? Sprichst Du NC lokal mit der internen IP oder dem FQDN an?
 

Fusion

Benutzer
Sehr erfahren
Mitglied seit
06. Apr 2013
Beiträge
14.137
Punkte für Reaktionen
898
Punkte
424
Auch wenn du selbst nichts geändert hast gilt trotzdem der Ratschlag der Fehlermeldung.
Zudem solltest du bei allem Versions-Informationen mitliefern, auch wenn wir "vermutlich" wissen von welchen du redest. Aber der Teufel ist ein Eichhörnchen.

- Zugrifffsrechte für http/gruppe auf das Verzeichnis prüfen (File Station > Genehmigungsprüfung)
- php-Einstellungen prüfen (php56, open_basedir, vHost)
 

rednag

Benutzer
Mitglied seit
08. Nov 2013
Beiträge
3.954
Punkte für Reaktionen
11
Punkte
104
@Fusion, bist Du noch nicht naß. :p :eek:
 

T-Bone1806

Benutzer
Mitglied seit
05. Dez 2009
Beiträge
82
Punkte für Reaktionen
0
Punkte
6
Danke für eure Antworten.

Also.....
Meine NC lief ja schon einige Monate. Auch das letze update über die Weboberfläche lief ohne Probleme. Was mich sehr wunderte.
Wie damals NC installierte, habe ich gleich das Data-Verzeichnis ausgelagert, weil ich dachte, dass wichtige Daten nicht ins web-Verzeichnis gehören. (Zweck's Sicherheit???? KA?)

Der Ordner Data liegt in meinem gemeinsamen Ordner "Cloud" im Unterverzeichnis "nextcloud.
Ich spreche NC über lokal und I-Net an.(https, SSL zertifiziert)

FQDN? Weis leider nicht was du da meinst? :confused:

Rechte prüfe ich gleich....

Gruß Timon
 

heavy

Benutzer
Mitglied seit
13. Mai 2012
Beiträge
3.748
Punkte für Reaktionen
152
Punkte
129

T-Bone1806

Benutzer
Mitglied seit
05. Dez 2009
Beiträge
82
Punkte für Reaktionen
0
Punkte
6
Zudem solltest du bei allem Versions-Informationen mitliefern, auch wenn wir "vermutlich" wissen von welchen du redest. Aber der Teufel ist ein Eichhörnchen.

- Zugrifffsrechte für http/gruppe auf das Verzeichnis prüfen (File Station > Genehmigungsprüfung)
- php-Einstellungen prüfen (php56, open_basedir, vHost)

Versionen:
NC = 10.2
PHP5 = 5.6.28-0049
Webstation = 2.0.0-0100

Daten im DATA Verzeichnis haben die Zugriffsrechte: http/http
Data hat: admin/http

php Einstellungen:

open_basedir:
/etc.defaults:/etc:/usr/syno/synoman:/tmp:/var/services/tmp:/var/services/web:/var/services/homes:/volume1/Cloud/nextcloud/data

Ich hoffe das hilft euch um mir zu helfen....

Ach ja, wie kann ich dem Webserver schreibrechte auf das Wurzelverzeichnis geben? Was ist das Wurzelverzeichnis?

Gruß Timon
 

Fusion

Benutzer
Sehr erfahren
Mitglied seit
06. Apr 2013
Beiträge
14.137
Punkte für Reaktionen
898
Punkte
424
NC 10.2 gibt es schon mal nicht, vermutlich 10.0.2
Ab Web Station 2 gibt es jetzt verschiedene Backend-Webserver und PHP Umgebungen zur Auswahl.

Läuft die Nextcloud als vHost? Also ala nextcloud.domain.de
Oder einfach aus dem /web/nextcloud Verzeichnis aufgerufen ala sub.domain.de/nextcloud?

open_basedir sieht gut aus, wenn es der Eintrag von php56 ist.
Zur Verifikation welche php Umgebung benutzt wird kannst du eine Datei info.php in deinen nextcloud Installationsordner legen und dann mit nextcloud-domain/info.php aufrufen.
Inhalt ist
<?PHP
phpinfo ();
?>

Der Server root ist auf /web. Der Document Root ist entweder auch /web oder was im jeweiligen Host definiert ist. Welchen davon jetzt die Nextcloud Leute mit Wurzel meinen müsste ich auch erst nachschauen.
Der Webserver läuft unter dem Benutzer http. Was http darf, darf also auch der webserver.
Also mal in der File Station die Eigenschaften von /volume1/Cloud/nextcloud/data öffenen und dort mit der Genehmigungsprüfung schauen, was http darf und was nicht.
http/http ist kein Zugriffsrecht sondern Besitzer und Gruppe. Die Zugriffsrechte sind mit rwx oder oktal, also ala 750, angegeben.
Wichtig ist dabei auch, dass http oder die Gruppe http mindestens Rechte zum durchqueren der Ordner Cloud und nextcloud hat.

Ich hab das ganze mit einer Ebene weniger, also praktisch nur Volume1/Cloud/data. So sieht das in der File Station aus. Links Cloud, rechts data
http hat Lese/Schreib, http-gruppe hat Lese-Rechte auf der benutzerdefinierten Seite (data Ordner). Besitzer/gruppe auch http/http.
2017-01-06 04_07_39-Synology DiskStation.png2017-01-06 04_08_29-Synology DiskStation.png
Auf der Konsole sieht es so aus:
d---------+ 1 root root 504 Jan 6 04:10 Cloud
und der data Ordner
drwxr-x--- 1 http http 1680 Dec 13 18:45 data
 

T-Bone1806

Benutzer
Mitglied seit
05. Dez 2009
Beiträge
82
Punkte für Reaktionen
0
Punkte
6
Hallo Fusion,
erstmal Danke für deine sehr ausführliche Antwort.
Ich habe jetzt einfach mal ein paar Screenshots gemacht, damit man erkennen kann, welche Einstellungen bei mir vorhanden sind.
Bildschirmfoto 2017-01-06 um 15.06.28.jpg
Bildschirmfoto 2017-01-06 um 15.06.46.jpg
Bildschirmfoto 2017-01-06 um 15.08.29.jpgBildschirmfoto 2017-01-06 um 15.08.42.jpg
Bildschirmfoto 2017-01-06 um 15.09.07.jpgBildschirmfoto 2017-01-06 um 15.09.14.jpg

Der Server root ist auf /web. Der Document Root ist entweder auch /web oder was im jeweiligen Host definiert ist. Welchen davon jetzt die Nextcloud Leute mit Wurzel meinen müsste ich auch erst nachschauen.
Der Webserver läuft unter dem Benutzer http. Was http darf, darf also auch der webserver.
Also mal in der File Station die Eigenschaften von /volume1/Cloud/nextcloud/data öffenen und dort mit der Genehmigungsprüfung schauen, was http darf und was nicht.
http/http ist kein Zugriffsrecht sondern Besitzer und Gruppe. Die Zugriffsrechte sind mit rwx oder oktal, also ala 750, angegeben.
Wichtig ist dabei auch, dass http oder die Gruppe http mindestens Rechte zum durchqueren der Ordner Cloud und nextcloud hat.

Da steig ich noch nicht richtig durch. Sorry. Ich glaube ich hol mir erst mal ne Tasse Kaffee..... :confused:
Bis gleich....
 

rednag

Benutzer
Mitglied seit
08. Nov 2013
Beiträge
3.954
Punkte für Reaktionen
11
Punkte
104
Wie wird denn nun NC aufgerufen. Mit einem vHost wie z. B. cloud.domain.de oder regulär mit domain.de/cloud?
Wenn über einen Vhost sind dafür auch Apache2.2 und PHP5.6 gesetzt?
 

Fusion

Benutzer
Sehr erfahren
Mitglied seit
06. Apr 2013
Beiträge
14.137
Punkte für Reaktionen
898
Punkte
424
ok, also wenn die info.php direkt aus der obersten Ebene aufgerufen wurde (also cloud.domain.de/info.php oder sub.domain.de/nextcloud/info.php) so wie du normal deine Nextcloud aufrufst, dann greift schon mal die richtige php version.
Dabei ist es denke ich dann jetzt auch egal, wie du das technisch gemacht hast (vhost oder nicht z.B.)

Für /volume1/Cloud/nextcloud/data sieht es schon mal ok aus.
Interessant wäre jetzt noch die Lage für "Cloud" und für "nextcloud", nicht, dass hier auf dem Weg "hinunter" in die Unterordner irgendwo ne Straßensperre steht. :)

Die Rechte für /volume1/web/nextcloud/apps finde ich viel zu freizügig, aber interessanter ist auch hier die Lage für "web" und für "nextcloud"

Hier sind mal die zwei Scripte als Referenz, die in der owncloud/nextcloud Doku als Empfehlung für den laufenden Betrieb bzw. für ein owncloud/nextcloud update empfohlen werden.
Hab mir erlaubt schon deine Pfade rein zu schreiben, aber keine Garantie auf Vollständigkeit, bitte selber überprüfen bei Benutzung!

Betrieb
#!/bin/bash
ocpath='/volume1/web/nextcloud'
htuser='http'
htgroup='http'
rootuser='root'

#printf "Creating possible missing Directories\n"
#mkdir -p $ocpath/data
mkdir -p $ocpath/assets
mkdir -p $ocpath/updater

printf "chmod Files and Directories\n"
find ${ocpath}/ -type f -print0 | xargs -0 chmod 0640
find ${ocpath}/ -type d -print0 | xargs -0 chmod 0750

printf "chown Directories\n"
chown -R ${rootuser}:${htgroup} ${ocpath}/
chown -R ${htuser}:${htgroup} ${ocpath}/apps/
chown -R ${htuser}:${htgroup} ${ocpath}/assets/
chown -R ${htuser}:${htgroup} ${ocpath}/config/
chown -R ${htuser}:${htgroup} /volume1/Cloud/nextcloud/data/
chown -R ${htuser}:${htgroup} ${ocpath}/themes/
chown -R ${htuser}:${htgroup} ${ocpath}/updater/

chmod +x ${ocpath}/occ

printf "chmod/chown .htaccess\n"
if [ -f ${ocpath}/.htaccess ]
then
chmod 0644 ${ocpath}/.htaccess
chown ${rootuser}:${htgroup} ${ocpath}/.htaccess
fi
if [ -f /volume1/Cloud/nextcloud/data/.htaccess ]
then
chmod 0644 /volume1/Cloud/nextcloud/data/.htaccess
chown ${rootuser}:${htgroup} /volume1/Cloud/nextcloud/data/.htaccess
fi

Update
#!/bin/bash
ocpath='/volume1/web/nextcloud'
htuser='http'
htgroup='http'

printf "chown Directories\n"
chown -R ${htuser}:${htgroup} ${ocpath}
 

T-Bone1806

Benutzer
Mitglied seit
05. Dez 2009
Beiträge
82
Punkte für Reaktionen
0
Punkte
6
Für /volume1/Cloud/nextcloud/data sieht es schon mal ok aus.
Interessant wäre jetzt noch die Lage für "Cloud" und für "nextcloud", nicht, dass hier auf dem Weg "hinunter" in die Unterordner irgendwo ne Straßensperre steht. :)
Der Cloud Ordner liegt im Hauptverzeichnis und wurde in der DSM in der gemeinsamen Ordner Verwaltung erstellt.
In diesem Ordner habe ich (bzw. Nextcloud bei Installation) den Ordner nextcloud/data erstellt.
NC selbst wurde im WEB Verzeichnis "Nextcloud" installiert.

Das script habe ich schon gestern durchlaufen lassen. Leider auch ohne Erfolg.
Vielleicht habe ich da was falsch angegeben..
Werde jetzt gleich mal dein Skript ausprobieren, bzw. vergleichen, was in meinem Skript falsch ist.

Danke für eure Hilfe ;)
 

T-Bone1806

Benutzer
Mitglied seit
05. Dez 2009
Beiträge
82
Punkte für Reaktionen
0
Punkte
6
Mit was für Rechten muss ich denn das Skript ausführen?
Ich hoffe es reichen meine admin Rechte....

Ich glaube, ich komme nämlich nicht mehr mit root Rechten auf meine DS. :(
Rich (BBCode):
admin@MeineDS:~$ sudo -i
sudo: /bin/sudo must be owned by uid 0 and have the setuid bit set
admin@MeineDS:~$


"UPDATE"
Also beim Ausführen des Skripts kommen folgende Meldungen:
(nur ein kurzer Auszug)

chmod: changing permissions of ‘/volume1/web/nextcloud/ocs/routes.php’: Operation not permitted
chmod: changing permissions of ‘/volume1/web/nextcloud/ocs/v2.php’: Operation not permitted
chmod: changing permissions of ‘/volume1/web/nextcloud/ocs/v1.php’: Operation not permitted
chmod: changing permissions of ‘/volume1/web/nextcloud/ocs/providers.php’: Operation not permitted
chmod: changing permissions of ‘/volume1/web/nextcloud/console.php’: Operation not permitted
chmod: changing permissions of ‘/volume1/web/nextcloud/ocs-provider/index.php’: Operation not permitted

Scheint als brauche ich root rechte....

Und die bekomme ich komischer Weise seit diesem Jahr nicht mehr. :mad:
Ich glaube da ist mehr im argen!

Wie geht Ihr eigentlich vor, wenn das System neu aufgesetzt werden soll?
Aktuelle DS: 216J
Neue DS, die mitte der Woche kommt: DS216+II
 
Zuletzt bearbeitet:

Fusion

Benutzer
Sehr erfahren
Mitglied seit
06. Apr 2013
Beiträge
14.137
Punkte für Reaktionen
898
Punkte
424
Ja, mit root. Wer hat denn bei dir schon an /bin/sudo rumgepfuscht? Das ist schon etwas komisch....
 

T-Bone1806

Benutzer
Mitglied seit
05. Dez 2009
Beiträge
82
Punkte für Reaktionen
0
Punkte
6
Das letzte mal als ich mich mit root anmelden konnte, war vor 4 oder 5 Tagen.
Da habe ich schon versucht die einzelnen Punkte aus dem Skript um zu setzten.
Wahrscheinlich habe ich da einen Fehler gemacht, da einer der Schritte ewig lange brauchte. :confused:
Ist jetzt meine Vermutung.
Mal sehen, ob ich den Befehl noch finde..
 

T-Bone1806

Benutzer
Mitglied seit
05. Dez 2009
Beiträge
82
Punkte für Reaktionen
0
Punkte
6
War der Befehlt:
chown -R ${rootuser}:${htgroup} ${ocpath}/

Allerdings abgeändert in:
chown -R root:http /
Im Ordner Nextcloud ausgeführt.

Ich glaube jetzt wird mir klar warum ich da nicht mehr ran komm.....

Das / was falsch oder?
 

Fusion

Benutzer
Sehr erfahren
Mitglied seit
06. Apr 2013
Beiträge
14.137
Punkte für Reaktionen
898
Punkte
424
Genau. Damit hast du ALLE Dateien im gesamten System auf Besitzer root und Gruppe http geändert.
Der Slash bezieht sich auf die Wurzel des Dateisystems, ob du da vorher mit cd etc in ein Verzeichnis gewechselt bist spielt keine Rolle.

chown -R root:http ./ hätte funktioniert, weil der Punkt festlegt, dass vom aktuellen Verzeichnis ausgegangen wird (relativer Bezug zur Wurzel).

P.S. das "${ocpath}/" wäre ausgeschrieben eben /volume1/web/nextcloud/ (absoluter Bezug zur Wurzel)
 
Zuletzt bearbeitet:

T-Bone1806

Benutzer
Mitglied seit
05. Dez 2009
Beiträge
82
Punkte für Reaktionen
0
Punkte
6
Oha.. Das ist nicht gut.

Dann werde ich das System neu aufsetzen müssen. So ein M***!
Aber naja, Dummheit muss bestraft werden.
Gott sei dank habe ich ein HyperBackup vom 01.01.2017 noch auf eine Externen HDD.
Mal sehen, ob ich da was rüberspielen kann.

Danke Fusion für deinen Hinweis!
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat