Slim Application Error Code 2

Hallo,

ich versuche die aktuelle shopware Version auf Ubuntu 16.04 zu installieren. Die Abhängigkeiten müssten soweit erfüllt sein. Bis zur Weboberfläche konnte ich aber noch nicht vordringen, aktuell erscheint diese Fehlermeldung:

Slim Application Error

The application could not run because of the following error:
Details
Type: ErrorException
Code: 2
Message: file_put_contents(/var/www/shopware/recovery/install/data/uniqueid.txt): failed to open stream: Permission denied
File: /var/www/shopware/recovery/common/src/Service/UniqueIdGenerator.php
Line: 85
Trace

#0 [internal function]: Slim\Slim::handleErrors(2, ‘file_put_conten…’, ‘/var/www/shopwa…’, 85, Array)
#1 /var/www/shopware/recovery/common/src/Service/UniqueIdGenerator.php(85): file_put_contents(’/var/www/shopwa…’, ‘6loMidKdabVVyL9…’)
#2 /var/www/shopware/recovery/common/src/Service/UniqueIdGenerator.php(58): Shopware\Recovery\Common\Service\UniqueIdGenerator->saveUniqueId(‘6loMidKdabVVyL9…’)
#3 /var/www/shopware/recovery/install/src/ContainerProvider.php(216): Shopware\Recovery\Common\Service\UniqueIdGenerator->getUniqueId()
#4 /var/www/shopware/recovery/common/vendor/pimple/pimple/src/Pimple/Container.php(113): Shopware\Recovery\Install\ContainerProvider->Shopware\Recovery\Install{closure}(Object(Pimple\Container))
#5 /var/www/shopware/recovery/install/src/app.php(206): Pimple\Container->offsetGet(‘shopware.notify’)
#6 [internal function]: {closure}()
#7 /var/www/shopware/recovery/common/vendor/slim/slim/Slim/Route.php(462): call_user_func_array(Object(Closure), Array)
#8 /var/www/shopware/recovery/common/vendor/slim/slim/Slim/Slim.php(1326): Slim\Route->dispatch()
#9 /var/www/shopware/recovery/common/vendor/slim/slim/Slim/Middleware/Flash.php(85): Slim\Slim->call()
#10 /var/www/shopware/recovery/common/vendor/slim/slim/Slim/Middleware/MethodOverride.php(92): Slim\Middleware\Flash->call()
#11 /var/www/shopware/recovery/common/vendor/slim/slim/Slim/Middleware/PrettyExceptions.php(67): Slim\Middleware\MethodOverride->call()
#12 /var/www/shopware/recovery/common/vendor/slim/slim/Slim/Slim.php(1271): Slim\Middleware\PrettyExceptions->call()
#13 /var/www/shopware/recovery/install/index.php(75): Slim\Slim->run()
#14 {main}

Ich habe schon mal den Cache mit dem im Verzeichnis liegenden Script gelöscht und die Berchtigungen für die Datei: /var/www/shopware/recovery/common/src/Service/UniqueIdGenerator.php erweitert. Hat aber beides nichts genutzt.

An welcher Stelle sollte ich weiter suchen?

Die Berechtigungen stimmen bei Dir nicht. Der PHP-Prozeß muß auf /var/www/shopware/recovery/install/data/uniqueid.txt schreibend und lesend zugreifen können.

Timme Hosting - schnelles nginx-Hosting

www.timmehosting.de

1 Like

Hallo TimmeHosting,

vielen Dank für deinen Hinweis, er hat zur Lösung geführt.

Die Datei /var/www/shopware/recovery/install/data/uniqueid.txt existierte gar nicht (wird vermutlich erst beim ersten Start erzeugt).

Ich habe dem Apache-User Lese/Schreibe und Ausführen Berechtigungen für das gesamte Webverzeichnis des shops erteilt. Danach klappte es problemlos.

Diese Konfiguration erscheint mir allerdings nicht besonders sicher, gibt es Empfehlungen wie die Berechtigungen idealer Weise konfiguriert werden sollen?

Das hängt immer davon ab, wie PHP mit Apache verbandelt ist - mod_php, FastCGI, PHP-FPM, etc.?

Timme Hosting - schnelles nginx-Hosting

www.timmehosting.de

In diesem Fall über das Apache PHP Modul (libphp7.0.so).

Im Falle von mod_php sollten Ordner und Dateien dem Benutzer und der Gruppe gehören, unter denen Apache läuft. Dateien sollten die Berechtigungen 644 und Ordner 755 erhalten.

Timme Hosting - schnelles nginx-Hosting

www.timmehosting.de

1 Like

I fixed this access isse by installing the missing php components. check the install requirements from the site and install the php componets, before trying to fix the file permissions, 777 is never a good idea, even though it fixes most issues.