Wallabag (formerly known as poche) is a free (as free speech), open source and self hostable application for saving web pages, to simply read them later.
On top of allowing you to review later your content (Both text and pictures), Wallabag save only the useful content (remove all the cookies, ads,…). Wallabag fit all devices (PC, Tablet, Smartphone, …) and allow you to share the articles you like through email, twitter, …and even shaarli. A large choice of extension ease the way to save your pages (extensions for Chrome and Firefox, iOS, Android and Windows Phone application, a bookmarklet, or even a simple field in your config webpage) but even more convenient, it will generate a RSS feed that you could follow with your favourite RSS Reader.
Multilingual, multiuser, with a set of different templates, the scroll position is even saved (when you return on an article, you come back where you was). You can even flattr flattrable articles directly from your Wallabag and best of all, all your data are exportable.
You can either install Wallabag on your own server (compatible with sqlite, mysql and postgresql) or directly create an account for free at Framabag (maintained by the development team).
Want to see a demo first?
Obviously I assume you already have a working Apache/PHP/MySQL configuration or similar, if not, you can follow my previous tutorial on how to install a LAMP server.
You can check Wallabag full list of requirements directly on their website.
The installation is quite straightforward and here are the majors steps:
1) Download the latest Wallabag archive under your /var/www:
cd /var/www wget http://wllbg.org/latest -O wallabag.zip
2) Extract the archive and rename it as wallabag:
unzip wallabag.zip rm wallabag.zip mv wallabag-1.6.1b/ wallabag
3) Use composer to download the PHP dependencies:
apt-get install curl cd wallabag curl -s http://getcomposer.org/installer | php php composer.phar install
4) Change the owner of the folder to www-data:www-data (To grant full access to apache)
chown -R www-data:www-data /var/www/wallabag
5) Go to http://IP/wallabag with your favourite Web Browser to access the web installer.
Make sure you got all the requirements met by checking the server compatibility (Link on the web installer, or you can directly go to http://YourIP/wallabag/wallabag_compatibility_test.php
apt-get install php5-tidy
If all good, on the compatibilty test page, you should see:
On the web installer you have 3 SQL database choices (SQLite, MySQL or PostgreSQL), choose the one you prefer. SQLite is usually more simple (No configuration to do) but slower than MySQL or PostgreSQL.
As I already run a MySQL database on my server, I’ll use this method. In that case you will need to create a dedicated database, I recommend you to use PHPMyAdmin to do so.
Now you got your Wallabag working and you want to access it from wal.domain.tld or directly from mywebmail.tld, instead of using the IP/wallabag link, you will need to set up a virtualhost. And you even could force HTTPS connection.
You will need to:
1) Create a A redirection in your DNS server/registrar
2) Have SSL certificate ready. If not you can read this tutorial.
3) Create your virtualhost as following:
In /etc/apache2/sites-enabled/, create a file called wallabag (In root):
and paste/adapt the following content:
<VirtualHost *:80> ServerAdmin firstname.lastname@example.org ServerName wal.domain.tld Redirect / https://wal.domain.tld </VirtualHost> <IfModule mod_ssl.c> <VirtualHost *:443> SSLEngine on SSLCertificateFile /etc/ssl/certs/myblog.pem SSLCertificateKeyFile /etc/ssl/private/myblog.key ServerAdmin email@example.com ServerName wal.domain.tld DocumentRoot /var/www/wallabag <Directory /> Options FollowSymLinks AllowOverride All </Directory> <Directory /var/www/wallabag> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all </Directory> </VirtualHost> </IfModule>
Adapt the content (Servername, webmaster, SSL certificate and directory, …).
The first part will redirect all the connection from port 80 (HTTP) to port HTTPS (port 443) to force secure connection. If so, please configure your SSL certificate.
When done, save the file (CTRL+X then Yes) and reload apache: (In root)
You should now be all set!