Seite 1 von 1
Installation - fehlende / falsche Zugangsdaten + Rechte adm_my_files
Verfasst: 12. Nov 2016, 17:24
von Offe
Wenn man eine Installation durchführen möchte, man aber das DB-Passwort vergisst oder ein falsches eingibt und zeitlich die Rechte auf dem Ordner adm_my_files nicht auf 777 gesetzt sind, wird dieser Fehler nicht sauber abgefangen, es erscheint nur eine weiße Seite und im Errorlog sind folgende Einträge vorhanden:
PHP Fatal error: Uncaught exception 'UnexpectedValueException' with message 'There is no existing directory at "/var/www/html/adm_my_files/logs" and its not buildable: Permission denied' in /var/www/html/adm_program/libs/monolog/src/Monolog/Handler/StreamHandler.php:161\nStack trace:\n#0 /var/www/html/adm_program/libs/monolog/src/Monolog/Handler/StreamHandler.php(97): Monolog\\Handler\\StreamHandler->createDir()\n#1 /var/www/html/adm_program/libs/monolog/src/Monolog/Handler/RotatingFileHandler.php(107): Monolog\\Handler\\StreamHandler->write(Array)\n#2 /var/www/html/adm_program/libs/monolog/src/Monolog/Handler/AbstractProcessingHandler.php(37): Monolog\\Handler\\RotatingFileHandler->write(Array)\n#3 /var/www/html/adm_program/libs/monolog/src/Monolog/Logger.php(336): Monolog\\Handler\\AbstractProcessingHandler->handle(Array)\n#4 /var/www/html/adm_program/libs/monolog/src/Monolog/Logger.php(657): Monolog\\Logger->addRecord(550, 'Could not conne...', Array)\n#5 /var/www/html/adm_program/system/classes/database.php(146): Monolog\\Logger->alert('C in /var/www/html/adm_program/libs/monolog/src/Monolog/Handler/StreamHandler.php on line 161, referer:
http://localhost/adm_program/installati ... php?mode=3
Wenn die Rechte auf adm_my_files gesetzt sind, dann werden die Fehlermeldungen auf Grund der falschen Zugangsdaten sauber angezeigt.
Gruß Offe
Re: Installation - fehlende / falsche Zugangsdaten + Rechte adm_my_files
Verfasst: 13. Nov 2016, 00:14
von magnet
Also ich bekam vorhin nach dem Update auch mit den richtigen Credentials eine weiße Seite, da ich die korrekten Berechtigungen auf adm_my_files noch nicht vergeben hatte. Erst anhand der Logs wurde mir das dann bewusst.
Grüße,
magnet
Re: Installation - fehlende / falsche Zugangsdaten + Rechte adm_my_files
Verfasst: 13. Nov 2016, 01:49
von XimeX
Bitte mal folgendes versuchen in der index.php. Also den Teil zwischen den requires einfügen
Code: Alles auswählen
require_once(ADMIDIO_PATH . '/adm_program/installation/install_functions.php');
require_once(ADMIDIO_PATH . '/adm_program/system/function.php');
require_once(ADMIDIO_PATH . '/adm_program/system/string.php');
$logPath = ADMIDIO_PATH . FOLDER_DATA . '/log';
if (!is_dir($logPath))
{
@mkdir($logPath);
}
if (!is_writable($logPath))
{
chmod($logPath, 0777);
}
require_once(ADMIDIO_PATH . '/adm_program/system/logging.php');
Re: Installation - fehlende / falsche Zugangsdaten + Rechte adm_my_files
Verfasst: 13. Nov 2016, 10:48
von Offe
in welcher index.php soll ich dies genau einfügen? Es gibt da aus meiner Sicht mehrere Möglichkeiten. Ich konnte aber noch nicht die 3 require_once Anweisungen finden, daher bitte kurz den genauen Pfad angeben. Danke
Re: Installation - fehlende / falsche Zugangsdaten + Rechte adm_my_files
Verfasst: 13. Nov 2016, 15:41
von XimeX
Sorry mein Fehler. Nicht index.php sondern installation.php
Re: Installation - fehlende / falsche Zugangsdaten + Rechte adm_my_files
Verfasst: 13. Nov 2016, 15:57
von Offe
ok ich habe dies nun eingefügt. Beim Aufruf der Installation erscheint im Errorlog nun folgender Fehler
PHP Warning: chmod(): No such file or directory in /var/www/html/adm_program/installation/intallation.php on line 74
Die Zeile 74 ist genau dort, wo die Rechte gesetzt werden sollen: chmod($logPath, 0777);
Es existiert in adm_my_files kein Ordner log und die Rechte auf adm_my_files sind auf 0755 anstatt von 0777
Entsprechend existiert der beschriebene Bug auch weiterhin.
Gruß Offe
Re: Installation - fehlende / falsche Zugangsdaten + Rechte adm_my_files
Verfasst: 13. Nov 2016, 16:21
von XimeX
Ok dann ändern wir das noch ab in:
Code: Alles auswählen
require_once(ADMIDIO_PATH . '/adm_program/installation/install_functions.php');
require_once(ADMIDIO_PATH . '/adm_program/system/function.php');
require_once(ADMIDIO_PATH . '/adm_program/system/string.php');
$dataPath = ADMIDIO_PATH . FOLDER_DATA;
if (!is_dir($dataPath))
{
@mkdir($dataPath);
}
if (!is_writable($dataPath))
{
chmod($dataPath, 0777);
}
$logPath = $dataPath . '/log';
if (!is_dir($logPath))
{
@mkdir($logPath);
}
if (!is_writable($logPath))
{
chmod($logPath, 0777);
}
require_once(ADMIDIO_PATH . '/adm_program/system/logging.php');
Re: Installation - fehlende / falsche Zugangsdaten + Rechte adm_my_files
Verfasst: 13. Nov 2016, 16:52
von Offe
Bei der Zeile (chmod($dataPath, 0777);) erscheint folgender Fehler
PHP Warning: chmod(): Operation not permitted in /var/www/html/adm_program/installation/installation.php on line 74
und bei der Zeile (chmod($logPath, 0777);) dierser:
PHP Warning: chmod(): No such file or directory in /var/www/html/adm_program/installation/installation.php on line 84
Gruß Offe
Re: Installation - fehlende / falsche Zugangsdaten + Rechte adm_my_files
Verfasst: 13. Nov 2016, 20:05
von XimeX
Ok das hört sich seltsam an. Bitte paar infos geben:
- Betriebssystem
- PHP Version
- safemode
- welchen owner/group und welche rechte hat adm_my_files
Re: Installation - fehlende / falsche Zugangsdaten + Rechte adm_my_files
Verfasst: 13. Nov 2016, 20:48
von Offe
Hier die Infos:
- Betriebssystem: Debian Jessie auf Raspberry Pi 2
- PHP Version: 5.6.27
- safemode: off
- welchen owner/group und welche rechte hat adm_my_files: pi / pi
Ich glaube das ganze liegt daran, dass die Reche dem User pi gehören und nicht www-data. Daher habe ich die Rechte unter /var/www/html alle mal www-data/www-data gegeben und der zuerst beschriebene Fehler wird abgefangen. Die Rechte von adm_my_files müssen auf Grund der Besitzrechte für www-data nicht auf 777 gesetzt werden (erste 7 reicht ja und Ordner ist dadurch beschreibbar), daher wird der Ordner log und alle adm_my_files mit 755 genutzt.
Da man solche Themen (unterschiedliche Besitzrechte als der Webserveruser) teilweise nicht abfangen kann, wäre es nicht sinnvoller den Status 777 von adm_my_files zu Beginn der Installation zu prüfen und eine entsprechende Meldung auszugeben. Bevor die Rechte nicht gesetzt sind, sollte es nicht möglich sein, die Installation weiter durchzuführen.
Gruß Offe
Re: Installation - fehlende / falsche Zugangsdaten + Rechte adm_my_files
Verfasst: 14. Nov 2016, 00:28
von XimeX
Ja so könnten wir das Problem auch lösen.
@Fasse: Deine Meinung dazu?
Re: Installation - fehlende / falsche Zugangsdaten + Rechte adm_my_files
Verfasst: 15. Nov 2016, 21:53
von fasse
Wir prüfen dies während der Installation schon. Kann die config.php nicht angelegt werden, dann erscheint der Hinweis
Die Konfigurationsdatei #VAR1_BOLD# konnte nicht im Ordner #VAR2_BOLD# abgelegt werden. Bitte gib dem Ordner Schreibrechte (über FTP die Dateiattribute auf 0777 bzw. drwxrwxrwx setzen) oder lade die Konfigurationsdatei herunter und kopiere diese mit einem FTP-Programm in das Admidio Verzeichnis #VAR3_BOLD#.\n\nNachdem du die Datei dort abgelegt hast, kannst du die Installation fortsetzen.
Der Benutzer kann dies dann bewusst umgehen und die Datei manuell hochladen, ohne die Rechte zu ändern. Eigentlich finde ich diesen Weg nicht schlecht, anstatt es komplett zu verbieten. Wir sollten dann allerdings anderen Stellen, wo wie auf adm_my_files zugreifen und Ordner mit Rechten erstellen, dann einen Hinweis ausgeben, dass Ordner wegen fehlender Rechte nicht erstellt werden können.