Test running Grav + Admin on the httpd webroot /srv/http/grav-admin
in Arch Linux (EndeavourOS) gives a blank screen.
I have installed all the necessary PHP Modules. I enabled PHP for the server. My user is the one who httpd runs on. I changed ownership of the grav-admin folder to my user. ls -l
shows my user owns it. There is no user group through which either grav-admin is owned or httpd runs, just my default user. I have seen the other similar questions and they all boiled down to permissions. However none of the solutions worked for me. I still get a blank screen after creating all the changes and restarting httpd.service
.
I created an error reporting script in Grav’s folder. It includes the index.php
file so it can report every error. This is what I get and I have no idea why:
Fatal error: Uncaught RuntimeException: Failed to save file /srv/http/grav-admin/user/config/security.yaml in /srv/http/grav-admin/vendor/rockettheme/toolbox/File/src/AbstractFile.php:374 Stack trace: #0 /srv/http/grav-admin/system/src/Grav/Common/File/CompiledFile.php(133): RocketTheme\Toolbox\File\AbstractFile->save() #1 /srv/http/grav-admin/system/src/Grav/Common/Config/Setup.php(416): Grav\Common\File\CompiledYamlFile->save() #2 /srv/http/grav-admin/system/src/Grav/Common/Config/Setup.php(294): Grav\Common\Config\Setup->check() #3 /srv/http/grav-admin/system/src/Grav/Common/Service/ConfigServiceProvider.php(40): Grav\Common\Config\Setup->init() #4 /srv/http/grav-admin/vendor/pimple/pimple/src/Pimple/Container.php(122): Grav\Common\Service\ConfigServiceProvider->Grav\Common\Service{closure}() #5 /srv/http/grav-admin/system/src/Grav/Common/Grav.php(217): Pimple\Container->offsetGet() #6 /srv/http/grav-admin/system/src/Grav/Common/Grav.php(258): Grav\Common\Grav->setup() #7 /srv/http/grav-admin/index.php(47): Grav\Common\Grav->process() #8 /srv/http/grav-admin/errorreport.php(4): include(‘…’) #9 {main} Next RuntimeException: Grav failed to initialize: Failed to save file /srv/http/grav-admin/user/config/security.yaml in /srv/http/grav-admin/system/src/Grav/Common/Config/Setup.php:420 Stack trace: #0 /srv/http/grav-admin/system/src/Grav/Common/Config/Setup.php(294): Grav\Common\Config\Setup->check() #1 /srv/http/grav-admin/system/src/Grav/Common/Service/ConfigServiceProvider.php(40): Grav\Common\Config\Setup->init() #2 /srv/http/grav-admin/vendor/pimple/pimple/src/Pimple/Container.php(122): Grav\Common\Service\ConfigServiceProvider->Grav\Common\Service{closure}() #3 /srv/http/grav-admin/system/src/Grav/Common/Grav.php(217): Pimple\Container->offsetGet() #4 /srv/http/grav-admin/system/src/Grav/Common/Grav.php(258): Grav\Common\Grav->setup() #5 /srv/http/grav-admin/index.php(47): Grav\Common\Grav->process() #6 /srv/http/grav-admin/errorreport.php(4): include(‘…’) #7 {main} thrown in /srv/http/grav-admin/system/src/Grav/Common/Config/Setup.php on line 420
Since I changed grav’s ownership directly to the same user that the Apache httpd server runs on, I shouldn’t be getting this problem.
The only way I can run Grav is through the built-in web server when the folder is somewhere in my home directory. But those are not ideal testing and learning conditions.
What can I do?