Rights access to the folder of the project

This commit is contained in:
Olivier Demah 2016-04-26 09:58:57 +02:00
parent edf3e88d88
commit 9ddf49ba24
2 changed files with 57 additions and 0 deletions

View file

@ -154,3 +154,32 @@ After reloading or restarting nginx, you should now be able to access wallabag a
.. note:: .. note::
When you want to import large file into wallabag, you need to add this line in your nginx configuration ``client_max_body_size XM; # allows file uploads up to X megabytes``. When you want to import large file into wallabag, you need to add this line in your nginx configuration ``client_max_body_size XM; # allows file uploads up to X megabytes``.
Rights access to the folders of the project
-------------------------------------------
Test Environment
~~~~~~~~~~~~~~~~
When we just want to test Wallabag, we just run the command ``php bin/console server:run --env=prod`` to start our Wallabag instance and everything will go smoothly because the user who started the project can access to the current folder naturally, without any problem.
Production Environment
~~~~~~~~~~~~~~~~~~~~~~
As soon as we use Apache or Nginx to access to our Wallabag instance, and not from the command ``php bin/console server:run --env=prod`` to start it, we should take care to grant the good rights on the good folders to keep safe all the folders of the project.
To do so, the folder name, known as ``DocumentRoot`` (for apache) or ``root`` (for Nginx), has to be absolutely accessible by the Apache/Nginx user. Its name is generally ``www-data``, ``apache`` or ``nobody`` (depending on linux system used).
So the folder ``/var/www/wallabag/web`` has to be accessible by this last one. But this could be not enough if we just care about this folder, because we could meet a blank page or get an error 500 when trying to access to the home page of the project.
This is due to the fact that we will need to grant the same rights access on the folder ``/var/www/wallabag/var`` like those we gave on the folder ``/var/www/wallabag/web``. Thus, we fix this problem with the following command:
.. code-block:: bash
chown -R www-data:www-data /var/www/wallabag/var

View file

@ -148,6 +148,34 @@ En imaginant que vous vouliez installer wallabag dans le dossier /var/www/wallab
Après que vous ayez rechargé/redémarré Nginx, vous devriez pouvoir avoir accès à wallabag à l'adresse http://domain.tld. Après que vous ayez rechargé/redémarré Nginx, vous devriez pouvoir avoir accès à wallabag à l'adresse http://domain.tld.
.. note:: .. note::
Si vous voulez importer un fichier important dans wallabag, vous devez ajouter cette ligne dans votre configuration nginx ``client_max_body_size XM; # allows file uploads up to X megabytes``. Si vous voulez importer un fichier important dans wallabag, vous devez ajouter cette ligne dans votre configuration nginx ``client_max_body_size XM; # allows file uploads up to X megabytes``.
Droits d'accès aux dossiers du projet
-------------------------------------
Environnement de test
~~~~~~~~~~~~~~~~~~~~~
Quand nous souhaitons juste tester Wallabag, nous lançons simplement la commande ``php bin/console server:run --env=prod`` pour démarrer l'instance Wallabag et tout se passe correctement car l'utilisateur qui a démarré le projet à accès naturellement au repertoire courant, tout va bien.
Environnement de production
~~~~~~~~~~~~~~~~~~~~~~~~~~~
Dès lors que nous utilisons Apache ou Nginx pour accéder à notre instance Wallabag, et non plus la commande ``php bin/console server:run --env=prod`` pour la démarrer, il faut prendre garde à octroyer les bons droits aux bons dossiers afin de préserver la sécurité de l'ensemble des fichiers fourni par le projet.
Aussi, le dossier, connu sous le nom de ``DocumentRoot`` (pour apache) ou ``root`` (pour Nginx), doit être impérativement accessible par l'utilisateur de Apache ou Nginx. Le nom de cet utilisateur est généralement ``www-data``, ``apache`` ou ``nobody`` (selon les systèmes linux utilisés).
Donc le dossier ``/var/www/wallabag/web`` doit être accessible par ce dernier. Mais cela ne suffira pas si nous nous contentons de ce dossier, et nous pourrions avoir, au mieux une page blanche en accédant à la page d'accueil du projet, au pire une erreur 500.
Cela est dû au fait qu'il faut aussi octroyer les mêmes droits d'accès au dossier ``/var/www/wallabag/var`` que ceux octroyés au dossier ``/var/www/wallabag/web``. Ainsi, on règle le problème par la commande suivante :
.. code-block:: bash
chown -R www-data:www-data /var/www/wallabag/var