Installation - fehlende / falsche Zugangsdaten + Rechte adm_my_files

Topics from older beta tests.
Antworten
Offe
Beiträge: 568
Registriert: 30. Aug 2007, 17:42

Installation - fehlende / falsche Zugangsdaten + Rechte adm_my_files

Beitrag 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
magnet
Beiträge: 222
Registriert: 14. Feb 2012, 15:40

Re: Installation - fehlende / falsche Zugangsdaten + Rechte adm_my_files

Beitrag 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
XimeX
Developer
Beiträge: 1148
Registriert: 12. Jul 2015, 13:21
Wohnort: Austria

Re: Installation - fehlende / falsche Zugangsdaten + Rechte adm_my_files

Beitrag 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');
Offe
Beiträge: 568
Registriert: 30. Aug 2007, 17:42

Re: Installation - fehlende / falsche Zugangsdaten + Rechte adm_my_files

Beitrag 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
XimeX
Developer
Beiträge: 1148
Registriert: 12. Jul 2015, 13:21
Wohnort: Austria

Re: Installation - fehlende / falsche Zugangsdaten + Rechte adm_my_files

Beitrag von XimeX »

Sorry mein Fehler. Nicht index.php sondern installation.php
Offe
Beiträge: 568
Registriert: 30. Aug 2007, 17:42

Re: Installation - fehlende / falsche Zugangsdaten + Rechte adm_my_files

Beitrag 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
XimeX
Developer
Beiträge: 1148
Registriert: 12. Jul 2015, 13:21
Wohnort: Austria

Re: Installation - fehlende / falsche Zugangsdaten + Rechte adm_my_files

Beitrag 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');
Offe
Beiträge: 568
Registriert: 30. Aug 2007, 17:42

Re: Installation - fehlende / falsche Zugangsdaten + Rechte adm_my_files

Beitrag 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
XimeX
Developer
Beiträge: 1148
Registriert: 12. Jul 2015, 13:21
Wohnort: Austria

Re: Installation - fehlende / falsche Zugangsdaten + Rechte adm_my_files

Beitrag 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
Offe
Beiträge: 568
Registriert: 30. Aug 2007, 17:42

Re: Installation - fehlende / falsche Zugangsdaten + Rechte adm_my_files

Beitrag 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
XimeX
Developer
Beiträge: 1148
Registriert: 12. Jul 2015, 13:21
Wohnort: Austria

Re: Installation - fehlende / falsche Zugangsdaten + Rechte adm_my_files

Beitrag von XimeX »

Ja so könnten wir das Problem auch lösen.

@Fasse: Deine Meinung dazu?
Benutzeravatar
fasse
Administrator
Beiträge: 6044
Registriert: 12. Nov 2005, 16:06

Re: Installation - fehlende / falsche Zugangsdaten + Rechte adm_my_files

Beitrag 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.
Antworten