From 9ddf49ba2468f40f99e1972e183ed81c2dbcaa3a Mon Sep 17 00:00:00 2001 From: Olivier Demah Date: Tue, 26 Apr 2016 09:58:57 +0200 Subject: [PATCH] Rights access to the folder of the project --- docs/en/user/installation.rst | 29 +++++++++++++++++++++++++++++ docs/fr/user/installation.rst | 28 ++++++++++++++++++++++++++++ 2 files changed, 57 insertions(+) diff --git a/docs/en/user/installation.rst b/docs/en/user/installation.rst index 8250d2d7d..dffedb60b 100644 --- a/docs/en/user/installation.rst +++ b/docs/en/user/installation.rst @@ -154,3 +154,32 @@ After reloading or restarting nginx, you should now be able to access wallabag a .. 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``. + + + + +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 + diff --git a/docs/fr/user/installation.rst b/docs/fr/user/installation.rst index 8282c4744..8682d3860 100644 --- a/docs/fr/user/installation.rst +++ b/docs/fr/user/installation.rst @@ -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. + .. 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``. + + +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 +