abonneren

Leeslijst Wallabag installeren op eigen server

wallabag

Inhoudsopgave

  1. Inleiding
  2. Lees verder op pagina 2
Webpagina’s in een leeslijst opslaan om later te lezen, is mogelijk met diensten zoals Pocket of Instapaper. Maar dat kan wel privacygevoelige informatie zijn. Gelukkig kun je ook eenvoudig een leeslijst bijhouden op je eigen webserver, bijvoorbeeld met het opensource-programma Wallabag.

We gaan er in deze masterclass vanuit dat je een eigen vps (virtual private server) met root-toegang hebt en dat je daarop Ubuntu 16.04 LTS en Apache draait. Andere configuraties werken ook, maar daarvoor verwijzen we naar de installatiedocumentatie van Wallabag. Bekijk op de officiële site eens wat de dienst kan.

Breng je installatie eerst up-to-date met

sudo apt update

En

sudo apt upgrade

Installeer als je dit nog niet hebt gedaan Apache met

sudo apt install apache2 apache2-utils

Installeer daarna de database MariaDB met

sudo apt install mariadb-server mariadb-client

Draai daarna het beveiligingsscript voor na de installatie van MariaDB:

sudo mysql_secure_installation

Druk op Enter omdat je nog geen rootwachtwoord voor MariaDB hebt, bevestig dan met Y dat je een rootwachtwoord wilt instellen en vul er dan een in. Op de vragen erna bevestig je allemaal met enter om aan de basisvereisten van een veilige database te voldoen.

Installeer PHP7 en enkele extensies en hulpprogramma’s die we nodig hebben:

sudo apt install php7.0-mysql php7.0-common php7.0-gd php7.0-json php7.0-cli php7.0-curl libapache2-mod-php7.0 php7.0-bcmath php7.0-xml php7.0-zip php7.0-mbstring php7.0-tidy php-amqp unzip make git

Daarna installeer je composer met het commando

curl -s https://getcomposer.org/installer | php

en plaats je het op een beschikbare plaats met

sudo mv composer.phar /usr/local/bin/composer

Wallabag configureren en installeren

Wallabag installeren

Na deze voorbereiding zijn we klaar om Wallabag te installeren. Ga naar de directory van je webserver met

cd /var/www

download de broncode met

git clone https://github.com/wallabag/wallabag.git

en ga naar de directory met

cd wallabag

Kijk onderaan de homepage van Wallabag wat de meest recente versie is. Tijdens de redactiesluiting was dat versie 2.2.3 van 18 mei 2017. Verander naar die versie met

git checkout 2.2.3

Installeer daarna Wallabag met de opdracht

make install

Composer installeert eerst de benodigde pakketten. Daarna krijg je nog de vraag om enkele parameters in het configuratiebestand in te vullen, vooral over de database. Vul het volgende in (de standaardwaardes staan tussen haakjes):

database_driver (pdo_sqlite): pdo_mysql database_host (127.0.0.1): database_port (null): 3306 database_name (symfony): wallabag database_user (root): wallabag database_password (null): “WACHTWOORD” database_path (‘%kernel.root_dir%/../data/db/wallabag.sqlite’): wallabag database_table_prefix (wallabag_): database_socket (null): database_charset (utf8):

Let op: als je wachtwoord met een @ begint, maak er dan @@ van en zet dubbele aanhalingstekens rond je wachtwoord. Voor de vragen over de mailserver en alles erna neem je met enter de standaardwaardes aan. Pas ze indien gewenst later aan.

Hierna controleert het installatiescript of je aan alle vereisten voldoet en of de databaseserver bereikbaar is. Daarna maakt het de database en het databaseschema voor Wallabag aan. Maak tot slot een nieuwe beheerder aan met de naam admin, kies een wachtwoord voor de beheerder en vul een e-mailadres in.

Zodra het installatieprogramma klaar is, maak je de gebruiker www-data (die de webserver draait) de eigenaar van de directory van Wallabag met

sudo chown -R www-data:www-data /var/www/wallabag

Apache en Wallabag

Creëer met nano een nieuw vhost-configuratiebestand voor je Wallabag-installatie:

sudo nano /etc/apache2/sites-available/wallabag.conf

Kopieer daarin de code van https://doc.wallabag.org/en/admin/installation/virtualhosts.html, maar vervang ServerName en ServerAlias door je eigen (sub)domeinnaam, zoals wallabag.example.com. In de instellingen van je dns-provider dien je dit domein nog naar het ip-adres van je webserver te laten verwijzen. Volg ook de aanwijzingen op die pagina van Wallabag over Apache 2.4, de versie die in Ubuntu 16.04 zit.

Druk op Ctrl+O om het bestand op te slaan en Ctrl+X om nano af te sluiten. Activeer nu de module rewrite met

sudo a2enmod rewrite

, schakel de webconfiguratie voor Wallabag in met

sudo a2ensite wallabag.conf

en herstart Apache met

sudo systemctl restart apache2

Wallabag-account instellen

Als je nu de domeinnaam van je Wallabag-installatie bezoekt in je webbrowser, krijg je een aanmeldvenster te zien. Log in met de naam admin en het wachtwoord dat je daarvoor tijdens de installatie hebt gekozen. Je krijgt nu een quickstart te zien met links naar documentatie, instellingen en meer. Klik eerst op Users management en maak een nieuwe gebruiker aan. Log daarna uit en log opnieuw in als die gebruiker. Zo ben je niet de hele tijd als beheerder ingelogd.

Klik op Config om je Wallabag-account te configureren. In het tabblad Settings stel je in hoe snel je leest, zodat Wallabag correcte schattingen van de leestijd geeft. In RSS creëer je rss-feeds van je leeslijst, zodat je je artikelen ook in een rss-reader kunt lezen. In User information configureer je tweefactor-authenticatie, zodat je een e-mail met een code ontvangt als je via een onbekende verbinding op Wallabag inlogt. Je dient dan wel nog een mailserver te configureren.

In Tagging rules creëer je regels om automatisch tags aan je artikelen toe te voegen. Vul je bijvoorbeeld de regel readingTime >= 5 en tag longread in en klik je op Save, dan krijgen alle artikelen die meer dan 5 minuten leestijd vergen de tag longread. Vergeet niet om na elke wijziging van de configuratie op Save te klikken.

SSL configureren

Je kunt het beste een ssl-certificaat aanmaken, zodat de communicatie met Wallabag versleuteld verloopt. We draaien Wallabag op een afzonderlijk subdomein, zoals wallabag.example.com. Het ssl-certificaat voor dat domein maken we aan met Let’s Encrypt. Installeer daarvoor eerst de client van Let’s Encrypt:

sudo apt install python-letsencrypt-apache

En creëer dan een certificaat voor het subdomein van je Wallabag-installatie:

sudo letsencrypt --apache -d wallabag.example.com

Volg daarna de instructies van het programma. Vul je e-mailadres in en kies of je https-toegang verplicht (het veiligst) of ook http toelaat. Daarna is je subdomein uitgerust met ssl. Controleer dit door het in je webbrowser te bezoeken en analyseer de veiligheid.

Geschreven door: Koen Vervloesem op

Category: Workshop, Programmeren

Tags: server, Hosting, Programmeren, wallabag