I bothered him enough on the post of Windows
No worry @anouar2002.
I’m happy to help and your feedback will let me improve the docker-ojs documentation… so take this as a synergy.
After that I filled out the form as mentioned in the link, then after clicking on the install button, the displayed page is blank! I’ve tried to track if there is a php error by consulting the “error.log” file but I didn’t find anything !
The “white screen of dead” (aka. WSOD) is a tricky problem to fix with web applications because it can be motivated by a lot of different issues (permissions, memory, db, network, configuration…). Basically first steep is finding any clue to discover what is hitting you so we can fix it.
Let’s start with the most probable so we can narrow it:
0) Check your containers…
First we need to be sure all goes well with docker. To check your containers, do:
$ docker-compose ps
That will return the status of your stack with something like follows:
Name Command State Ports
ojs_app_demo /usr/bin/supervisord -c /e ... Up 0.0.0.0:8486->443/tcp, 0.0.0.0:8081->80/tcp
ojs_db_demo docker-entrypoint.sh mysqld Up 3306/tcp
Journal’s site in container’s names ("_demo") and ports app ports (8486 and 8081) may be different, but “Stat” need to be Up or something is wrong here.
1) Ensure you are checking the right logs…
In confidence I don’t remember if I redirected logs to stdout to let docker report about it but let’s try with this first. Go to the site folder and run:
$ docker-compose logs -f
Then refresh the web and see if you are getting something.
If not, press “Control+C” to finish and let’s check the regular logs inside the ojs_app container.
You can do it as follows:
$ docker exec -it ojs_app_demo tail -f /var/log/apache2/errors.log
May be is obvious but I assume here your container is called “ojs_app_demo” (that if I remember well is the default journal name) but check it and replace with the right name.
Again, in this case, the “-f” parameter will keep reading the file, so you can Alt+Tab and refresh your website with your WSOD. Then, go back to the terminal to see if you are getting something.
If not, don’t despair… we still have a third option to see what is happening behind this white screen and is making OJS more verbose in frontend.
2) How to make OJS more verbose.
To do this, you need to edit your config.inc.php and enable the following variables:
display_errors = On
debug = On
Modify the values or (if this is just for testing) add at the end of your config file.
I almost forget: You can edit you running container or edit your persistent config-file.
To edit your running container, you need go inside the container and then use vi or nano to edit the file, as follows:
$ docker exec -it ojs_app_demo tail -f /var/log/apache2/error.log
If you prefer editing your persistent config-file, you can use your favorite editor to edit this file:
"./volumes/config/ojs.config.inc.php" (from your site folder).
But and after this remember to restart the container to let docker re-read the permanent file, as follows:
$ docker-compose restart
Please, start with this and let’s see if we are lucky and we can get more info.
If all fails, we still have a few more options like the ones in this Drupal’s guide… or as you did before, you can upload a “tarball” of your site folder to let me take a look and check what happens.
PD: If you want a shortcut… my guess this is an issue with DB credentials and OJS code can’t reach the database.