Setting up wallabag + MySQL + nginx

Open source Pocket replacement

  1. Follow most of the instructions here: Install Wallabag on Ubuntu 12.04 LTS VPS
    a. MySQL apt-get install mysql-server mysql-client
    b. nginx mainline: grab the key, modify /etc/apt/sources.list
    c. nginx and PHP-FPM: apt-get install nginx php5-fpm php5-cli php5-mysql php5-mcrypt php5-curl php5-tidy php5-sqlite
    d. git: apt-get install git
    e. composer:

            curl -sS | php
            mv composer.phar /usr/local/bin/composer
  2. Create a directory for wallabag and clone the wallabag git into it:

            mkdir /var/www
            cd /var/www
            git clone
  3. Use composer to install some dependencies:

            cd /var/www/wallabag
            composer install
            chown -R www-data: /var/www
  4. Set up a database for wallabag run mysql -uroot -p then:

    CREATE DATABASE wallabag;
    GRANT ALL PRIVILEGES ON wallabag.* TO 'wallabag'@'localhost' IDENTIFIED BY '_PASSWORD_';
  5. Fix some settings in PHP:

            nano /etc/php5/fpm/php.ini

    Uncomment ;cgi.fix_pathinfo=0 and change to cgi.fix_pathinfo=0

  6. Remove default nginx configs and add one for wallabag
    rm /etc/nginx/conf.d/*.conf nano /etc/nginx/conf.d/wallabag.conf

    server {
        listen 80;
        root /var/www/wallabag;
        access_log /var/log/nginx/access.wallabag.log;
        error_log /var/log/nginx/error.wallabag.log;
        index index.html index.php;
    location / {
        try_files $uri $uri/ /index.php;
    location ~ /(db) {
        deny all;
        return 404;
    location ~ \.php$ {
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        try_files $uri = 404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        include /etc/nginx/fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
        fastcgi_index index.php;
  7. Restart/reload nginx service nginx restart

  8. Access wallabag at http://<IP ADDRESS>