ID.nl logo
Huis

Leeslijst Wallabag installeren op eigen server

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

©PXimport

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.

Een nieuw artikel aan je leeslijst toevoegen is eenvoudig: klik op het plus-teken rechtsboven, plak een url in het tekstveld en druk op enter om het artikel toe te voegen. Het artikel komt nu in de lijst Unread. Klik op de titel om het artikel te lezen. Je krijgt alleen het artikel zelf te lezen, zonder de lay-out van de oorspronkelijke webpagina.

Links zie je knopjes met een heleboel mogelijkheden: het originele artikel openen, het artikel terug van de originele url ophalen (Wallabag slaat bij het toevoegen van de url immers een kopie op), als gelezen aanduiden, als favoriet opslaan, verwijderen, tags toevoegen, delen, afdrukken en downloaden. Dat laatste is mogelijk in diverse formaten, zoals epub, mobi, pdf en platte tekst. Je kunt overigens ook aantekeningen maken bij een artikel: selecteer gewoon een stuk tekst en voeg je aantekening toe in het tekstveld dat verschijnt.

©PXimport

Wallabag-extensie

Waarschijnlijk ga je geen artikelen aan je leeslijst toevoegen via de webinterface van Wallabag, maar werk je voornamelijk via een browserextensie of de mobiele app, zodat je leeslijst in je dagelijkse tools geïntegreerd is. De browserextensie voor Firefox heet Wallabagger. Na de installatie van de extensie open je in de webinterface van Wallabag de pagina API clients management en dan Create a new client. Geef je client een naam, laat de redirect url open en klik op Create a new client. Je krijgt dan een client ID en client secret te zien.

Open dan in Firefox de extensies in de instellingen en klik bij Wallabagger op Preferences. Vul de url van je Wallabag-installatie in en klik op Check URL. Vul dan het client ID en client secret in, je gebruikersnaam en het bijbehorende wachtwoord. Klik naast het wachtwoord op Get token.

Schakel ook Indicate if page already saved in. Het icoontje van de extensie wordt dan groen als de pagina die je bezoekt al in je leeslijst staat. Met een klik op het icoontje van een pagina die nog niet in je leeslijst staat, voeg je de pagina toe. Artikelen uit je leeslijst openen is niet mogelijk met deze extensie: dat doe je nog altijd via de webinterface.

Kobo-koppeling

Heb je een Kobo e-reader, dan kun je ook daarop je leeslijst van Wallabag lezen, namelijk met het programma Wallabako. Download het bestand KoboRoot.tgz van de website van het project. Sluit je e-reader via usb aan op je computer en kopieer het bestand KoboRoot.tgz naar de directory .kobo op je e-reader. Ga nu terug naar de hoofddirectory van je e-reader en maak daarin een bestand .wallabako.js met de configuratie van je Wallabag-installatie.

Op de website van Wallabako lees je de juiste syntax. Sla het bestand op en koppel je e-reader af. Als alles goed gaat, krijg je nu een melding van een upgrade: Wallabako wordt nu geïnstalleerd. Zodra je de e-reader met wifi verbindt, krijg je een melding dat het apparaat met een computer is verbonden. Klik gewoon op Verbinden, waarna Wallabako zijn artikelen synchroniseert met je leeslijst.

Leeslijst importeren uit Pocket

Wallabag biedt de mogelijkheid om je leeslijsten van allerlei andere diensten te importeren, zoals Pocket, Readability, Instapaper en Pinboard, evenals je favorieten van Firefox en Chrome. We tonen je hier hoe je je leeslijst van Pocket importeert. Vraag eerst bij Pocket een platform consumer key aan. Geef je applicatie een naam (bijvoorbeeld Wallabag), vink bij de permissies Retrieve aan en bij de platforms Web, vink aan dat je de terms of service hebt gelezen en klik op Create application. Kopieer nu de consumer key en plak die op de configuratiepagina van je Wallabag-installatie onder Consumer key for Pocket to import contents. Klik op Save.

In principe kun je nu de importpagina openen. Klik daar bij Pocket op Import contents, daarna op Connect to Pocket and import data en tot slot op Authorize. Wallabag importeert dan de artikelen in je Pocket-leeslijst. Wallabag haalt overigens de originele inhoud van de urls in je Pocket-leeslijst omdat het niet aan de opgeslagen pagina’s van Pocket kan komen. Url’s die ondertussen niet meer beschikbaar zijn, worden dan ook niet geïmporteerd.

©PXimport

Asynchrone taken met Redis

Als je al een tijdje met Pocket werkt, is de leeslijst zo groot dat voorgaande methode om je artikelen te importeren niet werkt; je server geeft een timout. We moeten dan asynchrone taken uitvoeren. Dat doen we met Redis. Installeer de Redis-server met

sudo apt install redis-server

Controleer daarna met

sudo nano /var/www/wallabag/app/config/parameters.yml

of er redis_host: localhost en redis_port: 6379 in het configuratiebestand staat. Indien nodig wijzig je dit.

Log daarna in Wallabag als beheerder in en open de pagina Internal Settings. Zet in het tabblad Import bij Enable Redis to import data asynchronously de waarde 1 en klik op Apply. Maak daarna een job aan met de opdracht

sudo -u www-data /var/www/wallabag/bin/console
wallabag:import:redis-worker -e=prod pocket -vv | sudo tee -u
www-data /var/www/wallabag/var/logs/redis-pocket.log

En probeer nu in de webinterface van Wallabag opnieuw je leeslijst van Pocket te importeren. Na een tijdje zie je in je terminalvenster de geïmporteerde url’s voorbijkomen en verschijnen de artikelen in de webinterface.

Wallabag-app

Je kunt tot slot ook op je smartphone toegang krijgen tot je leeslijst. Onder Android installeer je daarvoor de app Wallabag. De eerste keer dat je de app opent, krijg je de connection wizard te zien. Bij ons werkte die niet, dus negeer die en open dan in de app links Settings > Connection en vul zelf de juiste gegevens in.

Je kunt het best in de webinterface van Wallabag een nieuwe client ID en client secret aanmaken, zodat je de toegang van je Android-telefoon tot je Wallabag-installatie kunt intrekken, bijvoorbeeld als je het apparaat verliest. Daarna kun je in de app je leeslijst lezen en zelfs met spraaksynthese laten voorlezen, artikelen toevoegen, tags beheren, en alles wordt gesynchroniseerd met je Wallabag-server.

▼ Volgende artikel
Waar voor je geld: vijf Android-tablets met een 10 inch-scherm en groter
© lev dolgachov
Huis

Waar voor je geld: vijf Android-tablets met een 10 inch-scherm en groter

Bij ID.nl zijn we dol op kwaliteitsproducten waar je niet de hoofdprijs voor betaalt. Een paar keer per week speuren we binnen een bepaald thema naar zulke deals. Zoek je een goede tablet met een lekker groot scherm? We hebben vijf mooie exemplaren voor je gevonden.

Lenovo Tab M11 (ZADA0134SE)

Lenovo bewijst met zijn Tab M11 dat een goede tablet helemaal niet zo veel geld hoeft te kosten. Zo komen diverse onafhankelijke testers op Kieskeurig.nl tot een gemiddelde score van een 9. Vaak benoemde pluspunten zijn onder meer de hoge beeldkwaliteit, de lange accuduur en het goede geluid. Verder vinden gebruikers het prettig dat er al een stylus is inbegrepen. Handig voor wie graag tekeningen of handgeschreven notities maakt. Het lcd-scherm telt 1920 × 1200 pixels. De resolutie is weliswaar wat lager vergeleken met die van duurdere modellen, maar je kunt nog altijd films in Full-HD-kwaliteit streamen. De beelden ogen op het 11inch-scherm dan ook scherp. Ondanks de lage aanschafprijs heeft deze stevige tablet een metalen behuizing.

Voor het opslaan van apps en eigen data bevat de Tab M11 128 GB intern geheugen. Breid dat desgewenst uit met een eigen microSD-kaart van maximaal 1 TB. Het rekencentrum bestaat uit de veelgebruikte MediaTek Helio G88-processor en 4 GB werkgeheugen. Voor basistaken als e-mailen, internetten, webwinkelen en video's streamen is dat ruimschoots voldoende.

Samsung Galaxy Tab S9+ WiFi

Zoek je een krachtige tablet met een groot scherm? De Samsung Galaxy Tab S9+ WiFi heeft amoledscherm van 12,4 inch. Dat is een prettig formaat om bijvoorbeeld de digitale krant te lezen of Netflix-series te bingewatchen. Verder draait de aanwezige Qualcomm Snapdragon 8 Gen 2-processor zijn hand niet om voor zware taken, zoals het spelen van 3D-games of monteren van video's. Deze chipset bevat acht rekenkernen waarvan de snelste cores zijn afgeregeld op een maximale klokfrequentie van 3,36 GHz. In combinatie met 12 GB werkgeheugen kun je vlot op deze tablet werken. Gebruik hiervoor eventueel de bijgesloten drukgevoelige stylus.

Voor beeldbewerkingen komt de respectabele resolutie van 2800 × 1752 pixels goed van pas. Foto's en video's ogen hierop haarscherp. Daarnaast ondersteunt het amoledscherm een vernieuwingsfrequentie van 120 hertz. Je speelt dus snelle games zonder haperingen. De basisuitvoering heeft 256 GB interne opslag. Kies tussen de kleurstellingen grafiet en beige. Je kunt de Galaxy Tab S9+ WiFi ook met 512 GB interne opslag kopen (grafiet/beige). Overigens heeft de waterdichte behuizing een microSD-kaartslot, waardoor je de opslagcapaciteit eenvoudig met maximaal 1 TB kunt uitbreiden.

Xiaomi Pad 6

De Xiaomi Pad 6 is een krachtige tablet die zich richt op zowel entertainment als productiviteit. Het absolute hoogtepunt is het 11-inch WQHD+ scherm met een verversingssnelheid van 144Hz. Dit zorgt voor een aanzienlijk vloeiender beeld. Onder de motorkap vind je een snelle Snapdragon 870-processor, waardoor zware apps en games moeiteloos draaien.

De tablet heeft een luxe, volledig metalen behuizing en vier luidsprekers met Dolby Atmos-ondersteuning voor een ruimtelijk geluid. De accu van 8840 mAh gaat lang mee en laadt snel op (33W). Let wel dat de optionele stylus niet standaard wordt meegeleverd.

Logicom Tab XXL

De naam zegt het al: de Logicom Tab XXL is een grote tablet voor wie graag wat meer ruimte op het scherm heeft. Met het grote 14,1-inch display kijk je comfortabel films en series, lees je makkelijk langere teksten en heb je genoeg overzicht als je meerdere apps tegelijk gebruikt. Hij leent zich goed voor dagelijkse dingen zoals surfen op internet, mailen, videobellen en het gebruiken van bekende Android-apps. Ook voor thuiswerken of studeren is het grote scherm prettig, bijvoorbeeld bij het bekijken van documenten of online vergaderingen.

De camera’s zijn handig voor videogesprekken en snelle foto’s, terwijl wifi en bluetooth het eenvoudig maken om accessoires zoals een koptelefoon of toetsenbord te koppelen. Door de flinke batterij kun je de tablet langere tijd gebruiken zonder steeds naar een oplader te hoeven grijpen. De meegeleverde hoes maakt het geheel net wat praktischer in gebruik, zowel op de bank als aan tafel.

Lenovo Tab P12 (ZACH0112SE)

De Lenovo Tab P12 heeft een schermdiagonaal van 12,7 inch. De resolutie is met 2944 × 1840 pixels eveneens prima op orde, zodat je foto's en video's in een hoge kwaliteit kunt bekijken. Verder heeft de fabrikant ook aan een goed geluid gedacht. De metalen behuizing bevat vier minispeakers van het bekende audiomerk JBL. Een bluetooth-koptelefoon koppelen kan uiteraard ook.

De Tab P12 geschikt voor alledaagse apps, zoals Facebook, YouTube, Chrome en simpele spelletjes. es rekenkernen presteren op 2 GHz, terwijl de twee resterende cores zijn geklokt op 2,6 GHz. Deze tablet heeft daarnaast 8 GB werkgeheugen en 128 GB interne opslag. Overigens breid je de opslagcapaciteit makkelijk uit met een eigen microSD-kaart van maximaal 1 TB. Lenovo levert bij dit product een stylus mee. Benieuwd naar ervaringen van andere gebruikers? Lees dan deze reviews op Kieskeurig.nl.

▼ Volgende artikel
Nieuwe Philips Airfryer Dual Stacked 4000 bespaart bijna de helft aan ruimte op het aanrecht
© Philips
Huis

Nieuwe Philips Airfryer Dual Stacked 4000 bespaart bijna de helft aan ruimte op het aanrecht

Philips breidt zijn assortiment heteluchtfriteuses uit met de Airfryer Dual Stacked 4000-serie. Je ziet meteen waar de naam vandaan komt: de twee bakmanden zijn gestapeld (stacked). Hierdoor neemt het apparaat tot 45 procent minder ruimte in op het aanrecht dan traditionele dubbele airfryers, terwijl de totale inhoud met 10 liter gelijk blijft aan grotere modellen.

Philips is niet de eerste die met een verticaal ontwerp komt. Merken als Ninja (met de Double Stack) en Princess hebben al soortgelijke modellen. Het is een duidelijke trend in de keukenmarkt: consumenten willen wel de voordelen van twee mandjes, maar hebben geen zin in een apparaat dat het halve aanrecht in beslag neemt.

De Philips Airfryer Dual Stacked 4000-serie richt zich vooral op huishoudens met kleine(re) keukens. De twee manden hebben elk een capaciteit van 5 liter, zodat je bijvoorbeeld vlees in de ene mand en groenten in de andere kunt bereiden. De synchronisatiefunctie zorgt ervoor dat beide zones op precies hetzelfde moment klaar zijn, ook als de bereidingstijden verschillen.

©Philips

Voor de bereiding leunt Philips op de bekende RapidAir-technologie, waarbij hete lucht met hoge snelheid door de manden circuleert. Volgens de fabrikant zorgt dat voor een gelijkmatige garing met weinig of geen olie. Handig zijn de kijkvensters: je houdt het bakproces in de gaten zonder dat je de laden hoeft te openen. Zo ontsnapt er niet onnodig warme lucht.

Je bedient de airfryer via een digitaal touchscreen met dertien voorgeprogrammeerde instellingen voor bekende gerechten. Wil je meer controle, dan kun je de temperatuur en tijd ook handmatig per mand instellen.

Ook handig: na afloop kunnen de losse onderdelen in de vaatwasser, wat het schoonmaken na het koken makkelijker maakt.

©Philips

Beschikbaarheid

De Philips Airfryer Dual Stacked 4000-serie is per direct verkrijgbaar bij diverse elektronicaspeciaalzaken en online winkels. Het apparaat heeft een adviesprijs van 229,99 euro.

Wat is RapidAir-technologie?

De meeste airfryers werken als een kleine heteluchtoven, maar de RapidAir-techniek van Philips onderscheidt zich door de vorm van de bodem in de bakmand. Deze heeft vaak een stervormig profiel (de 'zeespiegelbodem'). Hierdoor wordt de opstijgende hete lucht krachtig teruggekaatst en ontstaat er een werveling. Dit zorgt ervoor dat het voedsel van alle kanten direct wordt geraakt door de hitte, wat resulteert in een krokantere buitenkant zonder dat het product uitdroogt.