From 89d95cdd188a5f56fd7be0aff2b33b1e054eac11 Mon Sep 17 00:00:00 2001 From: Thomas Citharel Date: Sun, 21 Feb 2016 16:54:22 +0100 Subject: improve installation documentation --- docs/en/user/installation.rst | 126 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 124 insertions(+), 2 deletions(-) (limited to 'docs/en/user') diff --git a/docs/en/user/installation.rst b/docs/en/user/installation.rst index 278f918f..c2c6cc55 100644 --- a/docs/en/user/installation.rst +++ b/docs/en/user/installation.rst @@ -4,20 +4,142 @@ Install wallabag Requirements ------------ +wallabag is compatible with php >= 5.5 + +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-simplexml +- php-json +- php-gd +- php-mbstring +- php-xml +- php-tidy +- php-iconv +- php-curl +- php-gettext +- php-tokenizer + +wallabag uses PDO to connect to database, so you'll need one of: + +- php-pdo_mysql +- php-pdo_sqlite +- php-pdo_pgsql + +and it's corresponding database server. + Installation ------------ +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. + Install Composer: :: curl -s http://getcomposer.org/installer | php -Next, on your web server, run this command: +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.*@alpha" --no-dev php bin/console wallabag:install --env=prod -Now you can access to http://yourwebsite/wallabag. +To start php's build-in server and test if everything did install correctly, you can do: + +:: + + php bin/console server:run --env=prod + +And access wallabag at http://yourserverip:8000 + +Installing on Apache +-------------------- + +Assuming you install wallabag in the /var/www/wallabag folder and that you want to use php as an Apache module, here's a vhost for wallabag: + +:: + + + ServerName domain.tld + ServerAlias www.domain.tld + + DocumentRoot /var/www/wallabag/web + + AllowOverride None + Order Allow,Deny + Allow from All + + + Options -MultiViews + RewriteEngine On + RewriteCond %{REQUEST_FILENAME} !-f + RewriteRule ^(.*)$ app.php [QSA,L] + + + + # uncomment the following lines if you install assets as symlinks + # or run into problems when compiling LESS/Sass/CoffeScript assets + # + # Options FollowSymlinks + # + + # optionally disable the RewriteEngine for the asset directories + # which will allow apache to simply reply with a 404 when files are + # not found instead of passing the request into the full symfony stack + + + RewriteEngine Off + + + ErrorLog /var/log/apache2/wallabag_error.log + CustomLog /var/log/apache2/wallabag_access.log combined + + +After reloading or restarting Apache, you should now be able to access wallabag at http://domain.tld. + +Installing on Nginx +------------------- + +Assuming you install wallabag in the /var/www/wallabag folder, , here's the recipe for wallabag : + +:: + + server { + server_name domain.tld www.domain.tld; + root /var/www/wallabag/web; + + location / { + # try to serve file directly, fallback to app.php + try_files $uri /app.php$is_args$args; + } + location ~ ^/app\.php(/|$) { + fastcgi_pass unix:/var/run/php5-fpm.sock; + fastcgi_split_path_info ^(.+\.php)(/.*)$; + include fastcgi_params; + # When you are using symlinks to link the document root to the + # current version of your application, you should pass the real + # application path instead of the path to the symlink to PHP + # FPM. + # Otherwise, PHP's OPcache may not properly detect changes to + # your PHP files (see https://github.com/zendtech/ZendOptimizerPlus/issues/126 + # for more information). + fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name; + fastcgi_param DOCUMENT_ROOT $realpath_root; + # Prevents URIs that include the front controller. This will 404: + # http://domain.tld/app.php/some-path + # Remove the internal directive to allow URIs like this + internal; + } + + error_log /var/log/nginx/wallabag_error.log; + access_log /var/log/nginx/wallabag_access.log; + } + +After reloading or restarting nginx, you should now be able to access wallabag at http://domain.tld. -- cgit v1.2.3