Today, I’ll focus on the open source and minimalist RSS Reader Miniflux.
Optimized for readability (Clean, white design with the focus on content), it will download the full content directly even though the feed only display the summary and will remove the trackers and ads. Without any fancy features but with efficient keyboard shortcuts, Miniflux is very easy to install and require few dependencies.
Developed as a Single User authentication, you can actually easily make it multi-user by creating new SQLite from the admin interface.
Indeed, to install Miniflux, you will need Apache + PHP (>5.3.7) + SQLite, nothing more.
1) Most probably you already have Apache with PHP, but may be not SQLite.
To install it, simply run:
sudo apt-get install php5-sqlite
2) Create a dedicated folder to download and extract the latest Miniflux version (1.1.3 as of date of this post)
Run (as root user, or add sudo at the beginning)
mkdir /var/www/miniflux wget http://miniflux.net/miniflux-1.1.3.zip unzip miniflux-1/1/3.zip mv miniflux/* . rm -R miniflux*
3) Change the owner of the folder to ensure apache web user can access
sudo chown -R www-data:www-data /var/www/miniflux/
4) Set up a cron job for regular update
Let’s say you want to update your feeds every 15mn, you can set up a cron job as following
sudo crontab -e
and at the end of the file, copy/paste
*/15 * * * * wget -q http://localhost/miniflux/cronjob.php --output-document=- >/dev/null 2>&1
Save (CTRL+X, then Yes)
and well…that’s all for a first access…
You can go to http://YourIP/miniflux and log in using admin/admin credentials.
Don’t forget to change this password in the options.
Now you got your RSS reader working and you want to access it from rss.domain.tld or directly from mywebmail.tld, instead of using the IP/miniflux link, you will need to set up a virtualhost. And you 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 miniflux (In root):
and paste the following content:
<VirtualHost *:80> ServerAdmin firstname.lastname@example.org ServerName rss.domain.tld Redirect / https://rss.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 rss.domain.tld DocumentRoot /var/www/miniflux <Directory /> Options FollowSymLinks AllowOverride All </Directory> <Directory /var/www/miniflux> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all </Directory> <Directory /var/www/miniflux/data> Order deny, allow deny from all </Directory> </VirtualHost> </IfModule>
Adapt the content (Servername, webmaster, SSL certificate and directory, …).
Note that to improve the security/privacy of your instance, you need to deny access to the data folder (Where is store the SQLite database for example). The last part of the shared virtualhost is made for that.
When done, save the file (CTRL+X then Yes) and reload apache: (In root)
You should now have a working Miniflux RSS Reader. For more information, I suggest you read the official document on Github.