]> git.immae.eu Git - github/wallabag/wallabag.git/blame - docs/fr/user/installation.rst
Update documentation
[github/wallabag/wallabag.git] / docs / fr / user / installation.rst
CommitLineData
4bf0d4e0
NL
1Installer wallabag
2==================
e6ebb14f
NL
3
4Pré-requis
89d95cdd
TC
5------------
6
eff75729 7wallabag est compatible avec PHP >= 5.5, PHP 7 inclus.
89d95cdd 8
84e3c36e
NL
9.. note::
10Pour installer wallabag facilement, nous avons créé un ``Makefile``, vous avez donc besoin d'avoir installé l'outil ``make``.
11
7eff4736
NL
12wallabag utilise un grand nombre de bibliothèques PHP 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``).
13
14Installation de Composer :
15
16::
17
18 curl -s http://getcomposer.org/installer | php
19
20Vous pouvez trouver des instructions spécifiques `ici (en anglais) <https://getcomposer.org/doc/00-intro.md>`__.
21
eff75729 22Vous aurez besoin des extensions suivantes pour que wallabag fonctionne. Il est possible que certaines de ces extensions soient déjà activées dans votre version de PHP, donc vous n'avez pas forcément besoin d'installer tous les paquets correspondants.
89d95cdd
TC
23
24- php-session
25- php-ctype
26- php-dom
7bf4dd89 27- php-hash
89d95cdd
TC
28- php-simplexml
29- php-json
30- php-gd
31- php-mbstring
32- php-xml
33- php-tidy
34- php-iconv
35- php-curl
36- php-gettext
37- php-tokenizer
f7265b4b 38- php-bcmath
89d95cdd
TC
39
40wallabag utilise PDO afin de se connecter à une base de données, donc vous aurez besoin d'une extension et d'un système de bases de données parmi :
41
eff75729
NL
42- pdo_mysql
43- pdo_sqlite
44- pdo_pgsql
e6ebb14f
NL
45
46Installation
47------------
48
bba9907d
NL
49Sur un serveur dédié (méthode conseillée)
50~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
51
8fed8d1b 52Pour installer wallabag, vous devez exécuter ces commandes :
e6ebb14f
NL
53
54::
55
c1181313 56 git clone https://github.com/wallabag/wallabag.git
7c122534 57 cd wallabag && make install
e6ebb14f 58
89d95cdd
TC
59Pour démarrer le serveur interne à php et vérifier que tout s'est installé correctement, vous pouvez exécuter :
60
61::
62
7c122534 63 make run
89d95cdd
TC
64
65Et accéder wallabag à l'adresse http://lipdevotreserveur:8000
66
bba9907d 67.. tip::
8846ad0a 68 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.
7704ef5d 69
bba9907d
NL
70Sur un serveur mutualisé
71~~~~~~~~~~~~~~~~~~~~~~~~
72
73Nous mettons à votre disposition une archive avec toutes les dépendances à l'intérieur.
74La 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``.
75
76Nous avons déjà créé un utilisateur : le login et le mot de passe sont ``wallabag``.
77
e546a2d6 78.. 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).
bba9907d
NL
79
80Exécutez cette commande pour télécharger et décompresser l'archive :
81
82.. code-block:: bash
83
84 wget http://wllbg.org/latest-v2-package && tar xvf latest-v2-package
85
7eff4736 86Vous trouverez `le hash md5 du dernier package sur notre site <https://www.wallabag.org/pages/download-wallabag.html>`_.
94d1dae4 87
e546a2d6 88Maintenant, lisez la documentation ci-dessous pour crééer un virtual host. Accédez ensuite à votre installation de wallabag.
bba9907d
NL
89Si 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``.
90
91Installation avec Docker
7eff4736 92~~~~~~~~~~~~~~~~~~~~~~~~
89d95cdd 93
bba9907d
NL
94Nous 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.
95
96Commande pour démarrer le containeur
7eff4736 97^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
bba9907d
NL
98
99.. code-block:: bash
100
101 docker pull wallabag/wallabag
102
103Virtual hosts
104-------------
105
106Configuration avec Apache
107~~~~~~~~~~~~~~~~~~~~~~~~~
108
109En 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 :
89d95cdd
TC
110
111::
112
113 <VirtualHost *:80>
114 ServerName domain.tld
115 ServerAlias www.domain.tld
116
117 DocumentRoot /var/www/wallabag/web
118 <Directory /var/www/wallabag/web>
119 AllowOverride None
120 Order Allow,Deny
121 Allow from All
122
123 <IfModule mod_rewrite.c>
124 Options -MultiViews
125 RewriteEngine On
126 RewriteCond %{REQUEST_FILENAME} !-f
127 RewriteRule ^(.*)$ app.php [QSA,L]
128 </IfModule>
129 </Directory>
130
131 # uncomment the following lines if you install assets as symlinks
132 # or run into problems when compiling LESS/Sass/CoffeScript assets
133 # <Directory /var/www/wallabag>
134 # Options FollowSymlinks
135 # </Directory>
136
137 # optionally disable the RewriteEngine for the asset directories
138 # which will allow apache to simply reply with a 404 when files are
139 # not found instead of passing the request into the full symfony stack
140 <Directory /var/www/wallabag/web/bundles>
141 <IfModule mod_rewrite.c>
142 RewriteEngine Off
143 </IfModule>
144 </Directory>
145 ErrorLog /var/log/apache2/wallabag_error.log
146 CustomLog /var/log/apache2/wallabag_access.log combined
147 </VirtualHost>
148
426bfdc3 149Après que vous ayez rechargé/redémarré Apache, vous devriez pouvoir avoir accès à wallabag à l'adresse http://domain.tld.
89d95cdd 150
bba9907d
NL
151Configuration avec Nginx
152~~~~~~~~~~~~~~~~~~~~~~~~
89d95cdd 153
bba9907d 154En imaginant que vous vouliez installer wallabag dans le dossier ``/var/www/wallabag``, voici un fichier de configuration Nginx pour wallabag :
89d95cdd
TC
155
156::
157
158 server {
159 server_name domain.tld www.domain.tld;
160 root /var/www/wallabag/web;
161
162 location / {
163 # try to serve file directly, fallback to app.php
164 try_files $uri /app.php$is_args$args;
165 }
166 location ~ ^/app\.php(/|$) {
167 fastcgi_pass unix:/var/run/php5-fpm.sock;
168 fastcgi_split_path_info ^(.+\.php)(/.*)$;
169 include fastcgi_params;
170 # When you are using symlinks to link the document root to the
171 # current version of your application, you should pass the real
172 # application path instead of the path to the symlink to PHP
173 # FPM.
174 # Otherwise, PHP's OPcache may not properly detect changes to
175 # your PHP files (see https://github.com/zendtech/ZendOptimizerPlus/issues/126
176 # for more information).
177 fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
178 fastcgi_param DOCUMENT_ROOT $realpath_root;
179 # Prevents URIs that include the front controller. This will 404:
180 # http://domain.tld/app.php/some-path
181 # Remove the internal directive to allow URIs like this
182 internal;
183 }
184
185 error_log /var/log/nginx/wallabag_error.log;
186 access_log /var/log/nginx/wallabag_access.log;
187 }
188
426bfdc3 189Après que vous ayez rechargé/redémarré Nginx, vous devriez pouvoir avoir accès à wallabag à l'adresse http://domain.tld.
cea846d4 190
bba9907d 191.. tip::
cea846d4 192
61fcbe9f 193 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``.
9ddf49ba 194
8b563fc0 195Configuration avec lighttpd
e546a2d6
NL
196~~~~~~~~~~~~~~~~~~~~~~~~~~~
197
8b563fc0 198En 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) :
e546a2d6
NL
199
200::
201
202 server.modules = (
8b563fc0
NL
203 "mod_fastcgi",
204 "mod_access",
205 "mod_alias",
206 "mod_compress",
207 "mod_redirect",
208 "mod_rewrite",
e546a2d6
NL
209 )
210 server.document-root = "/var/www/wallabag/web"
211 server.upload-dirs = ( "/var/cache/lighttpd/uploads" )
212 server.errorlog = "/var/log/lighttpd/error.log"
213 server.pid-file = "/var/run/lighttpd.pid"
214 server.username = "www-data"
215 server.groupname = "www-data"
216 server.port = 80
217 server.follow-symlink = "enable"
218 index-file.names = ( "index.php", "index.html", "index.lighttpd.html")
219 url.access-deny = ( "~", ".inc" )
220 static-file.exclude-extensions = ( ".php", ".pl", ".fcgi" )
221 compress.cache-dir = "/var/cache/lighttpd/compress/"
222 compress.filetype = ( "application/javascript", "text/css", "text/html", "text/plain" )
223 include_shell "/usr/share/lighttpd/use-ipv6.pl " + server.port
224 include_shell "/usr/share/lighttpd/create-mime.assign.pl"
225 include_shell "/usr/share/lighttpd/include-conf-enabled.pl"
226 dir-listing.activate = "disable"
227
228 url.rewrite-if-not-file = (
8b563fc0
NL
229 "^/([^?])(?:\?(.))?" => "/app.php?$1&$2",
230 "^/([^?]*)" => "/app.php?=$1",
e546a2d6
NL
231 )
232
9ddf49ba
OD
233Droits d'accès aux dossiers du projet
234-------------------------------------
235
9ddf49ba
OD
236Environnement de test
237~~~~~~~~~~~~~~~~~~~~~
238
87b8461e 239Quand 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.
9ddf49ba 240
e546a2d6 241Environnement de production
9ddf49ba
OD
242~~~~~~~~~~~~~~~~~~~~~~~~~~~
243
87b8461e 244Dè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.
9ddf49ba
OD
245
246Aussi, 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).
247
248Donc 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.
249
250Cela 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 :
251
252.. code-block:: bash
253
254 chown -R www-data:www-data /var/www/wallabag/var
ab46a256
OD
255
256Il en est de même pour les dossiers suivants :
257
258* /var/www/wallabag/bin/
259* /var/www/wallabag/app/config/
260* /var/www/wallabag/vendor/
261
262en tapant
263
264.. code-block:: bash
265
266 chown -R www-data:www-data /var/www/wallabag/bin
267 chown -R www-data:www-data /var/www/wallabag/app/config
268 chown -R www-data:www-data /var/www/wallabag/vendor
269
270sinon lors de la mise à jour vous finirez par rencontrer les erreurs suivantes :
271
272
273.. code-block:: bash
274
275 Unable to write to the "bin" directory.
276 file_put_contents(app/config/parameters.yml): failed to open stream: Permission denied
277 file_put_contents(/.../wallabag/vendor/autoload.php): failed to open stream: Permission denied