Anfängerfrage Error saving config!

Begonnen von OliverN, 03 Juni 2016, 08:50:55

Vorheriges Thema - Nächstes Thema

OliverN

Hallo zusammen,

ich habe auf einem Raspi3 FHEM, RaZberry installiert und mit einem Zwischenstecker getestet. Läuft.
Daraufhin habe ich SmartVisu mit nginx als server nach Anleitung installiert und unter /pages/MeineWohnung aus einer Kopie angefangen die html Dateien zu bearbeiten.
Beim speichern "SAVE" auf der /smartvisu/index.php Seite, auf dem Raspi oder externen Browser, erhalte ich immer "Error saving config!".
Ich habe den Eindruck dass es zuvor ohne Fehler funktionierte - offenbar ein rechte Problem.
Kann mir jemand weiterhelfen?
Woran liegt es?

Gruß
OliverN

Wernieman

#1
Kontrolliere die Berechtigung des Zielordners

Edit:
Eine schnelle Suche bei Google:
https://knx-user-forum.de/forum/supportforen/smartvisu/28910-error-saving-config

P.S. Beim nächsten mal bitte einen besseren Threadtitel
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

dev0

Zitat von: OliverN am 03 Juni 2016, 08:50:55
Beim speichern "SAVE" auf der /smartvisu/index.php Seite, auf dem Raspi oder externen Browser, erhalte ich immer "Error saving config!".
Die Dateien unterhalb Deines Projektordners müssen so berechtig sein, dass der user/gruppe des Webservers sie lesen (r) kann und der User, den Du zum Bearbeiten nutzt, muss Schreibberechtigungen (w) haben. Der Projektordner selbst benötigt zusätzlich noch die Rechte in das Verzeichnis wechseln zu dürfen (x).

Beispiel: Dein Benutzer heisst "pi" und die Gruppe des Webservers "www-data", der Pfard des Projektordner ist "/var/www/smartvisu/pages/deinOrdner".
Eine Möglichkeit die Berechtigungen zu setzen sieht so aus:

chown -R pi:www-data /var/www/smartvisu/pages/deinOrdner
chmod -R 640 /var/www/smartvisu/pages/deinOrdner
chmod ug+x /var/www/smartvisu/pages/deinOrdner

Wenn Du unterhalb des Projektordners noch weitere Ordner benutzt, dann müssen diese ebenfalls das x flag bekommen.

OliverN

Hallo,
vielen Dank für die Antwort, aber sowohl
/var/www/smartvisu/index.php
als auch alle
/var/www/smartvisu/pages
mit allen Unterverzeichnisen, wie /MeineWohnung
haben die Rechte 777 = alles und Besitzer ist www-data.

Egal welche Pages ich speichern möchte, gleiche Error-Meldung.

OliverN



dev0

Kannst Du neue Dateien anlegen in diesen Ordnern?

Wernieman

Wie sieht es denn bei den "Höheren" Ordnern aus?
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

OliverN

Hallo,
mit Zugriff über winscp als user pi beispielsweise kann ich sowohl im Verzeichnis
/var/www/smartvisu
als auch im Unterverzeichnis
/var/www/smartvisu/pages
ein Verzeichnis und eine Datei anlegen. (hier: "test")
Besitzer ist dann natärlich "pi".

OliverN

Wernieman

Und wenn Du in den User www-data wechselst?

Eventuell must Du für diesen test noch die shell in /etc/passwd aktivieren
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

OliverN

Hallo,

sorry, wie kann/soll ich mich als anderen user anmelden?
Die Datei /var/www/smartvisu/index.php ist definitiv drei Tage alt (31.05.) also vom Installationstag.
D.h. zumindest diese Datei wurde noch nie aktualisiert.
Es ist auch kein Problem das alles zu löschen und nochmals mit "smartvisu" neu anzufangen, da das bisher
nur die Installationsdaten sind.

OliverN

dev0

Ich traue winscp an der Stelle nicht. Verbinde dich bitte mit einem ssh client und zeige die Berechtigungen mit ls -la

OliverN

OK
Putty: alles in /var/www/smartvisu hat alle Rechte 777 und www-data:www-data.
OliverN

dev0

Und lokal editieren mit vi,pico oder joe funktioniert auch nicht?

OliverN

Die Dateien kann man alle lokal editieren und speichern.
Nur die http://meineip/smartvisu/index.php?page=config
melded den Error saving config!.

Ich habe smartVisu nochmals installiert, jedoch ohne Veränderung.
Mir ist aufgefallen, dass die index.php unverändert mit dem Installationsdatum bleibt.
Die config.ini jedoch einen neuen Zeitstempel bekommt.

OliverN

dev0

Zitat von: OliverN am 05 Juni 2016, 17:10:50
Die Dateien kann man alle lokal editieren und speichern.
Nur die http://meineip/smartvisu/index.php?page=config
melded den Error saving config!.

Entweder ist das nur sehr missverständlich ausgedrückt oder Du versuchst wirklich die Datei "http://meineip/smartvisu/index.php?page=config" zu editieren. Dann könntest Du genauso gut versuchen http://google.com/inhaltxyz zu bearbeiten ;)
Um den Inhalt von "index.php?page=config" anzupassen müsstest Du die lokale Datei ./pages/base/config.html oder den Nachfolger bearbeiten.

OliverN

Hallo,

ich habe smartvisu nach dieser Anleitung des FHEM Wikies: http://www.fhemwiki.de/wiki/Installation_Fronthem
mit dem Webserver "nginx" und den nachfolgenden Details installiert.

Ich kann in meinen neuen /pages/MeineWohnung die html Dateien ändern. Diese werden auch gelesen und in irgend einem Brower angezeit.
ABER in diesem Brower funktioniert unter der Seite "page=config" das Speichern über den save button nicht. ---> Error saving config file!
Wie oben schon gezeits sind auf dem Raspi alle Rechte.

Anmerkung: In fhem habe ich noch keine Verbindung zu fronthem -> MeinFronthem: ???
Liegt es vielleich daran?

OliverN


dev0

Im Inhaltsverzeichnis (screenshot oben) ist zu sehen, dass es einen Ordner /var/www/smartvisu/smartvisu gibt, zu dem der Webserver keine Schreibberechtigung hat. ich gehe davon aus, dass das der Ordner ist, der vom Webserver benutzt wird. Würde den Effekt erklären. Schau Dir in der Webserver config die alias und document root settings an.

OliverN

Leider kein Erfolg.

weder chmod -R 777 ./smartvisu  Unterverzeichis,
noch /etc/nginx/sites-enabled/default Eintrag von root /var/www; auf root /var/www/smartvisu; setzten bringt etwas.

Ich habe nach der Anleitung installiert:
sudo nano /etc/nginx/sites-enabled/default
vornehmen.

Folgende Konfiguration sollte direkt funktionieren:
server {
listen 80;
root /var/www;
index index.html index.php;
server_name localhost;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}

OliverN

dev0

#17
So langsam gehen mir die Ideen aus. Typischerweise wird dieser Fehler durch nicht ausreichende Berechtigungen im filesystem ausgelöst. Da Deine Berechtigungen auf 777 stehen sollte es eigentlich auch so funktionieren. Um auszuschließen, dass noch mehr im argen ist, könntest du die config.ini auch direkt mit einem Editor anpassen und schauen ob der Rest funktioniert. Dazu müssten folgende Anpassungen an der config.ini gemacht werden. x.x.x.x durch die IP des FHEM Hosts ersetzen. Den Rest so lassen wie es ist.

[default]
driver = 'fhem'
driver_address = 'x.x.x.x'
driver_port = '2121'
driver_realtime = true
cache = false


Edit: Es kann natürlich auch nicht schaden nach Fehlermeldungen in den Logs (/var/log) und der Browser Konsole zu gucken.

OliverN

Hallo,

1. Wie sollte lt. Anleitung die Verzeichnisebene aufgebaut sein?
Ich habe unter /var/www/smartvisu  alle Unterverezichnisse /.git, /apps, /designs, /driver, /smartvisu-cleaninstall und auch die config.ini und index.php
Laut Anleitung habe ich das UV /smartvisu/smartvisu-cleaninstall kopiert nach /smartvisu/smartvisu und dort die config.ini.default als config.ini kopiert, index.php ist vorhanden.
2. In der /etc/nginx/sites-enabled/default verweise ich in root /var/www/smartvisu/smartvisu   und index.php
3. Wenn ich nginx neu starte und die /smartvisu Seite aufrufe, kann ich die beispielpages /fleischer usw. wählen und fehlerfrei speichern.
Der Webserver greift aber auf die Inhalte unter /smartvisu/pages zu und nicht auf die unter /smartvisu/smartvisu/pages.
Demnach wird auch die /smartvisu/config.ini fehlerfrei geschrieben.
Bis zu dem Zeitpunkt nachdem einige male die  pages gewechselt werden, dann sind nur noch "Error saving config file" zu sehen.
Wenn ich die startseite /smartvisu neu lade, klappt das save wieder fehlerfrei.

Ist das erklärbar?

OliverN

dev0

Die sv Dateien nach /var/www/smartvisu/smartvisu zu kopieren macht aus meiner Sicht nicht viel Sinn, auch wenn es so in einer Anleitung steht, ist im Endeffekt aber auch egal wo sie liegen. Bei Dir schienen sie aber doppelt vorhanden zu sein, was eher zur Verwirrung beiträgt. Welcher Ordner benutzt wird stellst du mit document root und/oder alias ein. Was ist mit den System/Webserverlogs, ist da etwas zu erkennen? Welche Platform/OS benutzt du?
Wenn du die pages in der konfig nicht einige mal änderst, funktioniert sv dann normal?

OliverN

Hallo,

System: RasPi 3, FHEM 5.7 neueste Version von Raspberry Geek Spezial.

Webserver nginx log zeigt einige errors (hier ein letzter Absatz) (ich habe jetzt auf Verzeichnis root /var/www/smartvisu umgestellt):
PHP message: PHP Notice:  Undefined index: server in /var/www/smartvisu/lib/service.php on line 43
PHP message: PHP Notice:  Undefined index: port in /var/www/smartvisu/lib/service.php on line 44
PHP message: PHP Notice:  Undefined index: url in /var/www/smartvisu/lib/service.php on line 45
PHP message: PHP Notice:  Undefined index: user in /var/www/smartvisu/lib/service.php on line 46
PHP message: PHP Notice:  Undefined index: pass in /var/www/smartvisu/lib/service.php on line 47
PHP message: PHP Notice:  Undefined index: D in /var/www/smartvisu/lib/functions.php on line 126
PHP message: PHP Notice:  Undefined index: D in /var/www/smartvisu/lib/functions.php on line 126
PHP message: PHP Notice:  Undefined index: D in /var/www/smartvisu/lib/functions.php on line 126
PHP message: PHP Notice:  Undefined index: D in /var/www/smartvisu/lib/functions.php on line 126" while reading response header from upstream, client: 10.1.2.185, server: , request: "GET /smartvisu/lib/weather/service/offline.php?location=Germany/Hamburg/Hamburg HTTP/1.1", upstream: "fastcgi://unix:/var/run/php5-fpm.sock:", host: "10.1.2.181", referrer: "http://10.1.2.181/smartvisu/index.php"
2016/06/07 21:22:19 [error] 4541#0: *171 FastCGI sent in stderr: "PHP message: PHP Notice:  Constant config_version already defined in /var/www/smartvisu/lib/functions_config.php on line 128" while reading response header from upstream, client: 10.1.2.185, server: , request: "GET /smartvisu/index.php?page=config HTTP/1.1", upstream: "fastcgi://unix:/var/run/php5-fpm.sock:", host: "10.1.2.181", referrer: "http://10.1.2.181/smartvisu/index.php"

OliverN

dev0

Wenn Du Logs oder Source Code postest, bitte zukünftig Code Tags (# Button) verweden, es ist so schwer zu lesen. Die Fehlermeldungen haben aber nichts mit dem Problem zu tun. Gibt es Fehlermeldungen in der Browser Console, wenn Du nicht speichern kannst?

Zitat von: dev0 am 07 Juni 2016, 20:57:15
Wenn du die pages in der konfig nicht einige mal änderst, funktioniert sv dann normal?
Die Antwort schuldest Du noch.

OliverN

Hallo,
ich habe fhem und nginx gestoppt.
Das komplette Verzeichnis /var/www/smartvisu gelöscht.
Nach der Installationsanleitung ab ....smartvisu-cleaninstall neu installiert, und die Rechte entsprechend gesetzt.
Nun kann ich zwischen den Pages hin- und herschalten und der "Error saving config file" zeigt sich offenbar nicht mehr.
Bei jedem save Vorgang erscheint kurz für ca. 1 Sekunde die Error-Ecke oben rechts, aber das könnte einer "zähen" Verbindung geschuldet sein.

Jetzt kann ich mich der Frage witmen, warum ich beim device fronthem nur immer drei ??? stehen habe.

Danke
OliverN

joshi04

Das ist normal und seit kurzem im Wiki beschrieben.


Gesendet von meinem iPhone mit Tapatalk
NUC: 2xJeeLink, PCA301/TX35DTH; HueBridge, LivingColors; vair-monitor (CO2); HMLan, Winmatic, HM-CC-RT-DN, HM-TC-IT-WM-W-EU, HM-ES-TX-WM, HM-WDS10-TH-O, HM-ES-PMSw1-Pl, HM-SEC-SC-2, HM-SEC-SCo; AVM DECT 200; panStamp; smartVISU