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
Wifi wel snel op je telefoon, maar traag op je laptop? Hier ligt dat aan!
© A Stockphoto
Huis

Wifi wel snel op je telefoon, maar traag op je laptop? Hier ligt dat aan!

Je zit op de bank en streamt probleemloos een 4K-video op je telefoon, maar zodra je je laptop openklapt om een webpagina te laden, lijkt het alsof de verbinding vastloopt. Ligt het aan de router of aan je computer? In dit artikel leggen we uit waarom wifi-snelheden zo sterk kunnen verschillen per apparaat en wat je eraan kunt doen.

Je betaalt voor een snelle internetverbinding, dus is de verwachting dat elk apparaat in huis die snelheid ook daadwerkelijk haalt. Toch voelt het surfen op je computer soms stroperig aan, terwijl je smartphone ernaast nergens last van heeft. Vaak wordt er direct naar de internetprovider gewezen, maar het probleem zit meestal in de apparatuur zelf. Het verschil in hardware, leeftijd en software tussen mobiele apparaten en computers is namelijk groter dan je denkt. Na het lezen van dit stuk weet je precies waar die vertraging vandaan komt.

Generatiekloof: waarom je laptop vaak achterloopt

Het snelheidsverschil tussen je telefoon en je computer komt vaak neer op een simpele generatiekloof. We vervangen onze telefoons gemiddeld elke twee tot drie jaar, waardoor ze vaak uitgerust zijn met de nieuwste wifi-chips (zoals wifi 6 of 6E). Een laptop gaat vaak veel langer mee, soms wel vijf tot zeven jaar. Hierdoor probeert een verouderde netwerkkaart in je laptop te communiceren met een moderne router, wat resulteert in een lagere maximumsnelheid.

Daarnaast speelt de manier waarop data wordt verwerkt een grote rol. Een telefoon is geoptimaliseerd voor directe consumptie: apps op de achtergrond worden gepauzeerd om de app die je nú gebruikt voorrang te geven. Een computer werkt anders. Terwijl jij probeert te surfen, kan Windows of macOS op de achtergrond bezig zijn met zware updates, het synchroniseren van clouddiensten of het maken van back-ups. Je laptop snoept dus al bandbreedte weg zonder dat jij het doorhebt, waardoor er voor je browser minder overblijft.

Wanneer je laptop de strijd wél wint

De laptop wint het van de telefoon wanneer de omstandigheden optimaal zijn voor stabiliteit in plaats van pure mobiliteit. Als je beschikt over een moderne laptop met een recente netwerkkaart en je bevindt je in dezelfde ruimte als de router, kan de laptop vaak stabieler grote bestanden binnenhalen.

Dat geldt vooral als je laptop verbonden is met de 5GHz-frequentieband. Deze frequentie is veel sneller dan de oude 2.4GHz-band, maar heeft een korter bereik. Als je dicht bij het toegangspunt zit, profiteert je laptop van zijn krachtigere processor om complexe webpagina's sneller op te bouwen dan een telefoon dat kan, mits de verbinding zelf niet de bottleneck is.

Waarom je telefoon soepeler aanvoelt

Het verschil wordt pijnlijk duidelijk zodra je verder van de wifi-bron af gaat zitten, bijvoorbeeld op zolder of in de tuin. Smartphones zijn vaak agressiever geprogrammeerd om het sterkste signaal te pakken of snel tussen frequenties te schakelen. Veel laptops blijven daarentegen te lang plakken op een zwak 5GHz-signaal of vallen onnodig terug op de trage en vaak overvolle 2.4GHz-band (het zogeheten 'sticky client'-probleem).

Daarnaast hebben smartphones een trucje dat laptops helaas moeten missen: wifi-assist (of een vergelijkbare term). Als de wifi even hapert, gebruikt de telefoon ongemerkt een beetje 4G- of 5G-data om de stroom stabiel te houden. Je laptop heeft die optie meestal niet en laat direct een laadicoontje zien. Hierdoor voelt de telefoon sneller aan, terwijl hij eigenlijk een beetje vals speelt door mobiele data bij te schakelen.

Harde grenzen: wanneer traagheid onvermijdelijk is

Er zijn situaties waarin je laptop de strijd sowieso verliest, ongeacht hoe dicht je bij de router zit. Dit zijn de harde grenzen:

  • Verouderde standaarden: Als je laptop alleen wifi 4 (802.11n) ondersteunt, zul je nooit de snelheden halen van een telefoon met wifi 6 (802.11ax). De hardware kan het simpelweg niet aan.

  • Actieve VPN-verbinding: Veel werklaptops hebben een actieve VPN-verbinding voor beveiliging. Dit vertraagt de internetsnelheid aanzienlijk vergeleken met een 'open' telefoonverbinding.

  • De 2,4GHz-valkuil: In dichtbevolkte wijken is de 2,4GHz-band zo vervuild door signalen van de buren, dat een laptop die hierop vastzit nauwelijks vooruitkomt.

  • Batterijbesparing: Als je laptop niet aan de lader ligt en in Eco-modus staat, wordt de stroom naar de wifi-kaart vaak geknepen, wat direct ten koste gaat van het bereik en de snelheid.

Zo check je of jouw hardware het probleem is

Om te bepalen of je laptop de boosdoener is, moet je eerst kijken naar de verbinding. Klik op het wifi-icoon op je laptop en controleer of je verbonden bent met een 5GHz-netwerk (vaak te zien bij Eigenschappen of netwerkinformatie). Is dat niet het geval en sta je wel dicht bij de router? Dan is je netwerkkaart waarschijnlijk verouderd of staan de instellingen niet goed.

Kijk ook eens kritisch naar je gebruik. Heb je toevallig nog applicaties openstaan zoals Steam, OneDrive of Dropbox? Deze programma's kunnen de verbinding volledig dichttrekken. Op een telefoon gebeurt dit zelden automatisch op de achtergrond. Als je laptop ouder is dan vijf jaar, kan een simpele upgrade met een moderne wifi-usb-dongle het probleem vaak al verhelpen, zonder dat je een hele nieuwe computer hoeft aan te schaffen.

Kortom: leeftijd en software maken het verschil

Dat je telefoon sneller is op wifi dan je laptop, komt meestal doordat telefoons nieuwere netwerkchips hebben en slimmer omgaan met datastromen. Laptops hebben vaak last van zware achtergrondprocessen of blijven hangen op een tragere frequentieband. Daarnaast schakelen telefoons bij zwak wifi soms ongemerkt over op 4G/5G, wat de ervaring vloeiender maakt. Controleer of je laptop op de 5GHz-band zit en sluit zware achtergrondprogramma's af om snelheid te winnen.

▼ Volgende artikel
Tomodachi Life: Waar Dromen Uitkomen arriveert op 16 april
Huis

Tomodachi Life: Waar Dromen Uitkomen arriveert op 16 april

Tomodachi Life: Waar Dromen Uitkomen komt op 16 april uit voor Nintendo Switch.

Dat heeft Nintendo vanmiddag aangekondigd in een speciale Direct-uitzending die om de game draait. Ondanks dat de game voor de eerste Switch verschijnt, zal hij via backwards compatibility ook speelbaar zijn op Nintendo Switch 2.

In de Tomodachi Life-games van Nintendo kunnen spelers zelf Mii-personages creëren en bijvoorbeeld baseren op het uiterlijk van henzelf, vrienden en familie of beroemdheden. Deze Mii's leiden vervolgens hun eigen leven op een eiland, wat allerlei gekke en hilarische situaties oplevert. Spelers kunnen zelf ook invloed uitoefenen op deze verschillende situaties.

Watch on YouTube

Over Tomodachi Life: Waar Dromen Uitkomen

In de Direct-uitzending werd meer informatie gegeven over het aankomende Tomodachi Life: Waar Dromen Uitkomen. Zo is duidelijk dat spelers hun Mii-personages unieke persoonlijkheden, gewoontes en woningen kunnen geven. Spelers kunnen tijdens de game zien waar de personages aan denken, en ze helpen bij problemen. De tijd in de game verstrijkt daarbij net zo snel als in de echte wereld, wat het de moeite waard maakt om het spel op verschillende momenten op te starten.

Het is daarbij mogelijk om de verschillende Mii-personages kennis met elkaar te laten maken, om te zien wat er vervolgens gebeurd. Personages kunnen bijvoorbeeld praten over hun favoriete eten en filmgenres. Het is daarnaast mogelijk om acht Mii-personages bij elkaar in een huis te laten wonen, wat weer unieke reacties van de personages veroorzaakt.

Op het eiland waar de game zich afspeelt kunnen spelers de personages winkels te laten bezoeken. Bijvoorbeeld een supermarkt waar allerlei etenswaren worden verkocht, of de mogelijkheid om kleding en kostuums te kopen. In een speciale marktkraam worden redelijk geprijsde artikelen meerdere malen per dag ververst.

Ook is er een ontwerpatelier, waar spelers verschillende voorwerpen kunnen maken, waaronder kledingstukken, versiering voor huizen en zelfs huisdieren. Het eiland kan sowieso naar eigen smaak worden ingedeeld, met bankjes, bomen, planten en meer.

Nieuw op ID: het complete plaatje

Misschien valt het je op dat er vanaf nu ook berichten over games, films en series op onze site verschijnen. Dat is een bewuste stap. Wij geloven dat technologie niet stopt bij hardware; het gaat uiteindelijk om wat je ermee beleeft. Daarom combineren we onze expertise in tech nu met het laatste nieuws over entertainment. Dat doen we met de gezichten die mensen kennen van Power Unlimited, dé experts op het gebied van gaming en streaming. Zo helpen we je niet alleen aan de beste tv, smartphone of laptop, maar vertellen we je ook direct wat je erop moet kijken of spelen. Je vindt hier dus voortaan de ideale mix van hardware én content.