Installation
------------
-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.
+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 et vous assurer que vous utilisez bien la version 1.2 (si vous avez déjà Composer, faite un ``composer selfupdate``).
Installation de Composer :
git clone https://github.com/wallabag/wallabag.git
cd wallabag
- git checkout 2.0.3
+ git checkout 2.0.8
SYMFONY_ENV=prod composer install --no-dev -o --prefer-dist
php bin/console wallabag:install --env=prod
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.
-Installation avec Apache
+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).
+
+Exécutez cette commande pour télécharger et décompresser l'archive :
+
+.. code-block:: bash
+
+ wget http://wllbg.org/latest-v2-package && tar xvf latest-v2-package
+
+(hash md5 de l'archive : ``4f84c725d1d6e3345eae0a406115e5ff``)
+
+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 :
::
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 :
::
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
+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.
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