]> git.immae.eu Git - github/wallabag/wallabag.git/blobdiff - docs/fr/user/installation.rst
manage assets through npm
[github/wallabag/wallabag.git] / docs / fr / user / installation.rst
index 4220887190f45c2db3d2b5ba5d6867c184724b3b..b1136c12b33853c89f1b669135966c0f7f638c15 100644 (file)
@@ -32,6 +32,9 @@ wallabag utilise PDO afin de se connecter à une base de données, donc vous aur
 Installation
 ------------
 
+Sur un serveur dédié (méthode conseillée)
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
 wallabag utilise un grand nombre de bibliothèques pour fonctionner. Ces bibliothèques doivent être installées à l'aide d'un outil nommé Composer. Vous devez l'installer si ce n'est déjà fait.
 
 Installation de Composer :
@@ -40,7 +43,7 @@ Installation de Composer :
 
     curl -s http://getcomposer.org/installer | php
 
-Vous pouvez trouver des instructions spécifiques ici (en anglais) : __ https://getcomposer.org/doc/00-intro.md
+Vous pouvez trouver des instructions spécifiques `ici (en anglais) <https://getcomposer.org/doc/00-intro.md>`__ :
 
 Pour installer wallabag, vous devez exécuter ces deux commandes :
 
@@ -48,7 +51,7 @@ Pour installer wallabag, vous devez exécuter ces deux commandes :
 
     git clone https://github.com/wallabag/wallabag.git
     cd wallabag
-    git checkout 2.0.0
+    git checkout 2.0.5
     SYMFONY_ENV=prod composer install --no-dev -o --prefer-dist
     php bin/console wallabag:install --env=prod
 
@@ -60,15 +63,47 @@ Pour démarrer le serveur interne à php et vérifier que tout s'est installé c
 
 Et accéder wallabag à l'adresse http://lipdevotreserveur:8000
 
-.. note::
+.. tip::
+    Pour définir des paramètres via des variables d'environnement, vous pouvez les spécifier avec le préfixe ``SYMFONY__``. Par exemple, ``SYMFONY__DATABASE_DRIVER``. Vous pouvez lire `documentation Symfony <http://symfony.com/doc/current/cookbook/configuration/external_parameters.html>`__ pour en savoir plus.
+
+Sur un serveur mutualisé
+~~~~~~~~~~~~~~~~~~~~~~~~
+
+Nous mettons à votre disposition une archive avec toutes les dépendances à l'intérieur.
+La configuration par défaut utilise SQLite pour la base de données. Si vous souhaitez changer ces paramètres, vous devez modifier le fichier ``app/config/parameters.yml``.
+
+Nous avons déjà créé un utilisateur : le login et le mot de passe sont ``wallabag``.
+
+.. caution:: Avec cette archive, wallabag ne vérifie pas si les extensions obligatoires sont présentes sur votre serveur pour bien fonctionner (ces vérifications sont faites durant le ``composer install`` quand vous avez un serveur dédié, voir ci-dessus).
 
-    Pour définir des paramètres via des variables d'environnement, vous pouvez les spécifier avec le préfixe ``SYMFONY__``. Par exemple, ``SYMFONY__DATABASE_DRIVER``. Vous pouvez lire `documentation Symfony
-<http://symfony.com/doc/current/cookbook/configuration/external_parameters.html>`__ pour en savoir plus.
+Exécutez cette commande pour télécharger et décompresser l'archive :
 
-Installation avec Apache
+.. code-block:: bash
+
+    wget http://wllbg.org/latest-v2-package && tar xvf latest-v2-package
+
+Maintenant, lisez la documentation ci-dessous pour crééer un virtual host. Accédez ensuite à votre installation de wallabag.
+Si vous avez changé la configuration pour modifier le type de stockage (MySQL ou PostgreSQL), vous devrez vous créer un utilisateur via la commande ``php bin/console wallabag:install --env=prod``.
+
+Installation avec Docker
 ------------------------
 
-En imaginant que vous vouliez installer wallabag dans le dossier /var/www/wallabag et que vous utilisiez php comme un module Apache, voici un vhost pour wallabag :
+Nous vous proposons une image Docker pour installer wallabag facilement. Allez voir du côté de `Docker Hub <https://hub.docker.com/r/wallabag/wallabag/>`__ pour plus d'informations.
+
+Commande pour démarrer le containeur
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+.. code-block:: bash
+
+    docker pull wallabag/wallabag
+
+Virtual hosts
+-------------
+
+Configuration avec Apache
+~~~~~~~~~~~~~~~~~~~~~~~~~
+
+En imaginant que vous vouliez installer wallabag dans le dossier ``/var/www/wallabag`` et que vous utilisiez PHP comme un module Apache, voici un vhost pour wallabag :
 
 ::
 
@@ -110,10 +145,10 @@ En imaginant que vous vouliez installer wallabag dans le dossier /var/www/wallab
 
 Après que vous ayez rechargé/redémarré Apache, vous devriez pouvoir avoir accès à wallabag à l'adresse http://domain.tld.
 
-Installation avec Nginx
------------------------
+Configuration avec Nginx
+~~~~~~~~~~~~~~~~~~~~~~~~
 
-En imaginant que vous vouliez installer wallabag dans le dossier /var/www/wallabag, voici un fichier de configuration Nginx pour wallabag :
+En imaginant que vous vouliez installer wallabag dans le dossier ``/var/www/wallabag``, voici un fichier de configuration Nginx pour wallabag :
 
 ::
 
@@ -150,6 +185,90 @@ 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::
+.. tip::
 
     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``.
+
+Configuration avec lighttpd
+~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+En imaginant que vous vouliez installer wallabag dans le dossier ``/var/www/wallabag``, voici un fichier de configuration pour wallabag (éditez votre fichier ``lighttpd.conf`` collez-y cette configuration) :
+
+::
+
+    server.modules = (
+        "mod_fastcgi",
+        "mod_access",
+        "mod_alias",
+        "mod_compress",
+        "mod_redirect",
+        "mod_rewrite",
+    )
+    server.document-root = "/var/www/wallabag/web"
+    server.upload-dirs = ( "/var/cache/lighttpd/uploads" )
+    server.errorlog = "/var/log/lighttpd/error.log"
+    server.pid-file = "/var/run/lighttpd.pid"
+    server.username = "www-data"
+    server.groupname = "www-data"
+    server.port = 80
+    server.follow-symlink = "enable"
+    index-file.names = ( "index.php", "index.html", "index.lighttpd.html")
+    url.access-deny = ( "~", ".inc" )
+    static-file.exclude-extensions = ( ".php", ".pl", ".fcgi" )
+    compress.cache-dir = "/var/cache/lighttpd/compress/"
+    compress.filetype = ( "application/javascript", "text/css", "text/html", "text/plain" )
+    include_shell "/usr/share/lighttpd/use-ipv6.pl " + server.port
+    include_shell "/usr/share/lighttpd/create-mime.assign.pl"
+    include_shell "/usr/share/lighttpd/include-conf-enabled.pl"
+    dir-listing.activate = "disable"
+
+    url.rewrite-if-not-file = (
+        "^/([^?])(?:\?(.))?" => "/app.php?$1&$2",
+        "^/([^?]*)" => "/app.php?=$1",
+    )
+
+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 a 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 fournis 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
+
+Il en est de même pour les dossiers suivants :
+
+* /var/www/wallabag/bin/
+* /var/www/wallabag/app/config/
+* /var/www/wallabag/vendor/
+
+en tapant
+
+.. code-block:: bash
+
+   chown -R www-data:www-data /var/www/wallabag/bin
+   chown -R www-data:www-data /var/www/wallabag/app/config
+   chown -R www-data:www-data /var/www/wallabag/vendor
+
+sinon lors de la mise à jour vous finirez par rencontrer les erreurs suivantes :
+
+
+.. code-block:: bash
+
+    Unable to write to the "bin" directory.
+    file_put_contents(app/config/parameters.yml): failed to open stream: Permission denied
+    file_put_contents(/.../wallabag/vendor/autoload.php): failed to open stream: Permission denied