Requirements
------------
-wallabag is compatible with php >= 5.5
+wallabag is compatible with PHP >= 5.5, including PHP 7.
-You'll need the following extensions for wallabag to work. Some of these may already activated in your version of php, so you may not have to install all corresponding packages.
+You'll need the following extensions for wallabag to work. Some of these may already activated in your version of PHP, so you may not have to install all corresponding packages.
- php-session
- php-ctype
- php-dom
-- pĥp-hash
+- php-hash
- php-simplexml
- php-json
- php-gd
wallabag uses PDO to connect to database, so you'll need one of:
-- php-pdo_mysql
-- php-pdo_sqlite
-- php-pdo_pgsql
+- pdo_mysql
+- pdo_sqlite
+- pdo_pgsql
and it's corresponding database server.
curl -s http://getcomposer.org/installer | php
-You can find specific instructions here : __ https://getcomposer.org/doc/00-intro.md
+You can find specific instructions `here <https://getcomposer.org/doc/00-intro.md>`__:
To install wallabag itself, you must run these two commands:
::
- SYMFONY_ENV=prod composer create-project wallabag/wallabag wallabag "2.0.0-beta.1" --no-dev
+ git clone https://github.com/wallabag/wallabag.git
+ cd wallabag
+ git checkout 2.0.3
+ SYMFONY_ENV=prod composer install --no-dev -o --prefer-dist
php bin/console wallabag:install --env=prod
To start php's build-in server and test if everything did install correctly, you can do:
And access wallabag at http://yourserverip:8000
+.. note::
+
+ To define parameters with environment variables, you have to set these variables with ``SYMFONY__`` prefix. For example, ``SYMFONY__DATABASE_DRIVER``. You can have a look to the `Symfony documentation <http://symfony.com/doc/current/cookbook/configuration/external_parameters.html>`__.
+
Installing on Apache
--------------------
}
After reloading or restarting nginx, you should now be able to access wallabag at http://domain.tld.
+
+.. 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
+