X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=docs%2Fen%2Fuser%2Finstallation.rst;h=bab8f0a5743adad8c665c53ed068118894a0a17c;hb=5958597ba6c54abe0922e1950f301f6f40cdb430;hp=d22f8549bf994f5e012b41dd4228b23bfbe48a01;hpb=1556c925a42619c1298edebb73eb86c009b3f3c8;p=github%2Fwallabag%2Fwallabag.git diff --git a/docs/en/user/installation.rst b/docs/en/user/installation.rst index d22f8549..bab8f0a5 100644 --- a/docs/en/user/installation.rst +++ b/docs/en/user/installation.rst @@ -22,14 +22,15 @@ You'll need the following extensions for wallabag to work. Some of these may alr - php-curl - php-gettext - php-tokenizer +- php-bcmath -wallabag uses PDO to connect to database, so you'll need one of: +wallabag uses PDO to connect to the database, so you'll need one of the following: - pdo_mysql - pdo_sqlite - pdo_pgsql -and it's corresponding database server. +and its corresponding database server. Installation ------------ @@ -37,7 +38,7 @@ Installation On a dedicated web server (recommended way) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -wallabag uses a big number of libraries in order to function. These libraries must be installed with a tool called Composer. You need to install it if you don't already have. +wallabag uses a large number of PHP libraries in order to function. These libraries must be installed with a tool called Composer. You need to install it if you have not already done so and be sure to use the 1.2 version (if you already have Composer, run a ``composer selfupdate``). Install Composer: @@ -45,15 +46,15 @@ Install Composer: curl -s http://getcomposer.org/installer | php -You can find specific instructions `here `__: +You can find specific instructions `here `__. -To install wallabag itself, you must run these two commands: +To install wallabag itself, you must run the following commands: :: git clone https://github.com/wallabag/wallabag.git cd wallabag - git checkout 2.0.3 + git checkout 2.1.1 --force SYMFONY_ENV=prod composer install --no-dev -o --prefer-dist php bin/console wallabag:install --env=prod @@ -67,17 +68,17 @@ And access wallabag at http://yourserverip:8000 .. tip:: - 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 `__. + 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 at `Symfony documentation `__. On a shared hosting ~~~~~~~~~~~~~~~~~~~ -We provide you a package with all dependancies inside. +We provide a package with all dependencies inside. The default configuration uses SQLite for the database. If you want to change these settings, please edit ``app/config/parameters.yml``. We already created a user: login and password are ``wallabag``. -.. caution:: With this package, wallabag don't check mandatory extensions used in the application (theses checks are made during ``composer install`` when you have a dedicated web server, see above). +.. caution:: With this package, wallabag doesn't check for mandatory extensions used in the application (theses checks are made during ``composer install`` when you have a dedicated web server, see above). Execute this command to download and extract the latest package: @@ -85,7 +86,9 @@ Execute this command to download and extract the latest package: wget http://wllbg.org/latest-v2-package && tar xvf latest-v2-package -Now, read the following documentation to create your virtual host, then access to your wallabag. +(md5 hash of the 2.1.0 package: ``6c33520e29cc754b687f9cee0398dede``) + +Now, read the following documentation to create your virtual host, then access your wallabag. If you changed the database configuration to use MySQL or PostgreSQL, you need to create a user via this command ``php bin/console wallabag:install --env=prod``. Installation with Docker @@ -151,7 +154,7 @@ After reloading or restarting Apache, you should now be able to access wallabag Configuration on Nginx ~~~~~~~~~~~~~~~~~~~~~~ -Assuming you install wallabag in the ``/var/www/wallabag`` folder, here's the recipe for wallabag : +Assuming you installed wallabag in the ``/var/www/wallabag`` folder, here's the recipe for wallabag : :: @@ -226,7 +229,7 @@ Assuming you install wallabag in the /var/www/wallabag folder, here's the recipe dir-listing.activate = "disable" url.rewrite-if-not-file = ( - "^/([^?])(?:\?(.))?" => "/app.php?$1&$2", + "^/([^?]*)(?:\?(.*))?" => "/app.php?$1&$2", "^/([^?]*)" => "/app.php?=$1", ) @@ -252,3 +255,73 @@ This is due to the fact that we will need to grant the same rights access on the .. code-block:: bash chown -R www-data:www-data /var/www/wallabag/var + +It has to be the same for the following folders + +* /var/www/wallabag/bin/ +* /var/www/wallabag/app/config/ +* /var/www/wallabag/vendor/ +* /var/www/wallabag/data/ + +by entering + +.. 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 + chown -R www-data:www-data /var/www/wallabag/data/ + +otherwise, sooner or later you will see these error messages: + +.. 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 + +Additional rules for SELinux +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +If SELinux is enabled on your system, you will need to configure additional contexts in order for wallabag to function properly. To check if SELinux is enabled, simply enter the following: + +``getenforce`` + +This will return ``Enforcing`` if SELinux is enabled. Creating a new context involves the following syntax: + +``semanage fcontext -a -t `` + +For example: + +``semanage fcontext -a -t httpd_sys_content_t "/var/www/wallabag(/.*)?"`` + +This will recursively apply the httpd_sys_content_t context to the wallabag directory and all underlying files and folders. The following rules are needed: + ++-----------------------------------+----------------------------+ +| Full path | Context | ++===================================+============================+ +| /var/www/wallabag(/.*)? | ``httpd_sys_content_t`` | ++-----------------------------------+----------------------------+ +| /var/www/wallabag/data(/.*)? | ``httpd_sys_rw_content_t`` | ++-----------------------------------+----------------------------+ +| /var/www/wallabag/var/logs(/.*)? | ``httpd_log_t`` | ++-----------------------------------+----------------------------+ +| /var/www/wallabag/var/cache(/.*)? | ``httpd_cache_t`` | ++-----------------------------------+----------------------------+ + +After creating these contexts, enter the following in order to apply your rules: + +``restorecon -R -v /var/www/wallabag`` + +You can check contexts in a directory by typing ``ls -lZ`` and you can see all of your current rules with ``semanage fcontext -l -C``. + +If you're installing the preconfigured latest-v2-package, then an additional rule is needed during the initial setup: + +``semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/wallabag/var"`` + +After you successfully access your wallabag and complete the initial setup, this context can be removed: + +:: + + semanage fcontext -d -t httpd_sys_rw_content_t "/var/www/wallabag/var" + retorecon -R -v /var/www/wallabag/var