2016-02-21 12:55:10 +00:00
Install wallabag
================
Requirements
------------
2016-04-03 08:08:22 +00:00
wallabag is compatible with PHP >= 5.5, including PHP 7.
2016-02-21 15:54:22 +00:00
2016-04-03 08:08:22 +00:00
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.
2016-02-21 15:54:22 +00:00
- php-session
- php-ctype
- php-dom
2016-03-04 00:07:45 +00:00
- php-hash
2016-02-21 15:54:22 +00:00
- 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:
2016-04-03 08:08:22 +00:00
- pdo_mysql
- pdo_sqlite
- pdo_pgsql
2016-02-21 15:54:22 +00:00
and it's corresponding database server.
2016-02-21 12:55:10 +00:00
Installation
------------
2016-02-21 15:54:22 +00:00
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.
2016-02-21 12:55:10 +00:00
Install Composer:
::
curl -s http://getcomposer.org/installer | php
2016-04-12 08:45:25 +00:00
You can find specific instructions `here <https://getcomposer.org/doc/00-intro.md> `__ :
2016-02-21 15:54:22 +00:00
To install wallabag itself, you must run these two commands:
2016-02-21 12:55:10 +00:00
::
2016-03-10 12:04:56 +00:00
git clone https://github.com/wallabag/wallabag.git
cd wallabag
2016-04-11 09:11:42 +00:00
git checkout 2.0.1
2016-03-10 12:04:56 +00:00
SYMFONY_ENV=prod composer install --no-dev -o --prefer-dist
2016-02-21 12:55:10 +00:00
php bin/console wallabag:install --env=prod
2016-02-21 15:54:22 +00:00
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
2016-04-08 12:09:31 +00:00
.. note ::
2016-04-12 08:45:25 +00:00
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> `__ .
2016-04-08 12:09:31 +00:00
2016-02-21 15:54:22 +00:00
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:
::
<VirtualHost *:80>
ServerName domain.tld
ServerAlias www.domain.tld
DocumentRoot /var/www/wallabag/web
<Directory /var/www/wallabag/web>
AllowOverride None
Order Allow,Deny
Allow from All
<IfModule mod_rewrite.c>
Options -MultiViews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ app.php [QSA,L]
</IfModule>
</Directory>
# uncomment the following lines if you install assets as symlinks
# or run into problems when compiling LESS/Sass/CoffeScript assets
# <Directory /var/www/wallabag>
# Options FollowSymlinks
# </Directory>
# 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
<Directory /var/www/wallabag/web/bundles>
<IfModule mod_rewrite.c>
RewriteEngine Off
</IfModule>
</Directory>
ErrorLog /var/log/apache2/wallabag_error.log
CustomLog /var/log/apache2/wallabag_access.log combined
</VirtualHost>
After reloading or restarting Apache, you should now be able to access wallabag at http://domain.tld.
Installing on Nginx
-------------------
2016-02-21 16:25:22 +00:00
Assuming you install wallabag in the /var/www/wallabag folder, here's the recipe for wallabag :
2016-02-21 15:54:22 +00:00
::
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.
2016-04-10 12:12:25 +00:00
.. 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 `` .