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
AI-tip: zo maak je zelf (heel snel!) een geïllustreerd kinderboek met Storybook
Huis

AI-tip: zo maak je zelf (heel snel!) een geïllustreerd kinderboek met Storybook

Word de held van je (klein)kinderen door hen te verrassen met een uniek, zelfgemaakt verhalenboek. Laat hen zelf de grote lijnen van het verhaal bedenken en zie hoe je dankzij Storybook in een handomdraai een prachtig digitaal boekje creëert, compleet met een mooie cover en bijpassende illustraties.

Dit gaan we doen

In dit artikel laten we zien hoe je met Google Storybook een persoonlijk prentenboek maakt. Je leest hoe je een goede prompt schrijft, hoe het boek automatisch wordt opgebouwd met tekst en illustraties en welke extra opties er zijn, zoals voorlezen, delen en downloaden als pdf. Zo weet je precies wat je kunt verwachten en hoe je het resultaat afstemt op je (klein)kind.

Lees ook: Handige AI-apps voor mobiel

Stap 1: De prompt

Storybook draait op de Gemini AI-chatbot van Google. De functie is gloednieuw en op dit moment alleen te gebruiken via het web, niet via de Gemini-apps voor Android of iPhone. Het goede nieuws: Storybook is helemaal gratis. Je hoeft dus geen betaald abonnement te nemen om het uit te proberen. Wel moet je ingelogd zijn met je Google-account. Surf vervolgens naar: https://gemini.google.com/gem/storybook

Net als bij andere generatieve AI-tools start je met een tekstopdracht, de zogeheten prompt. In een paar zinnen beschrijf je het onderwerp. Of je kiest voor een uitgebreidere instructie, bijvoorbeeld: "Kun je een verhaal maken dat aan een kind uitlegt hoe het leven van een vlinder eruitziet?"

Geef Storybook een tekstopdracht.

Stap 2: Prentenboek van 10 pagina's

Boven het tekstvak vind je alvast enkele inspirerende voorbeelden van recente prompts, compleet met het bijbehorende verhaal. Denk aan: 'Mijn kind van 7 wil niet logeren bij oma. Maak een Storybook om haar te helpen hiermee om te gaan.' Je kunt je eigen prompt typen, maar ook inspreken: klik op het microfoontje, geef Gemini toegang tot je microfoon en vertel je opdracht. Enkele seconden later verschijnt het prentenboek op het scherm. Elk boek telt tien pagina's, inclusief een prachtige omslag én een door Gemini bedachte titel. Met iedere klik blader je door het verhaal. De tekst is verzorgd opgemaakt en de illustraties zijn verrassend sfeervol. Wij waren aangenaam verrast door de kwaliteit.

Naast iedere tekst staat een bijpassende illustratie.

Stap 3: Lezen of luisteren

Je kunt het verhaal natuurlijk gewoon lezen, maar Storybook heeft nog een extra troef: een ingebouwde voorleesfunctie. Daarbij kun je kiezen om alleen de huidige pagina te beluisteren of om vanaf de eerste pagina te beginnen. De hoogte van de stem is instelbaar, zodat je een toon kunt kiezen die het best bij het verhaal of de luisteraar past. En het plezier stopt daar niet: via de Deel-knop krijg je een unieke link naar jouw persoonlijke Storybook. Die kun je eenvoudig doorsturen naar familie, vrienden of de kinderen zelf, zodat ze het boekje op hun eigen toestel kunnen bekijken en beluisteren. Bovendien kun je het boekje ook downloaden als pdf. Wil je dat je kind ook offline kan bladeren, dan kun je het dus voor hem of haar printen.

Je ontvangt een link om het geïllustreerde verhaal te delen.

🧚Sprookjesboek geschreven?

👑 Daar hoort een prinsessenjurk bij!
▼ Volgende artikel
Gourmetten zonder stank: 10 ideeën die écht werken
© NilsZ - stock.adobe.com
Huis

Gourmetten zonder stank: 10 ideeën die écht werken

Gourmetten is misschien wel dé nationale volkssport tijdens de feestdagen. Maar hoe leuk de avond ook is, de ochtend erna is vaak minder feestelijk. Die doordringende vetlucht die in je gordijnen, bank en kleding is getrokken, ben je liever kwijt dan rijk. Met deze tien tips – verdeeld over wat je eet en wat je doet – blijft je huis een stuk frisser!

Dit gaan we doen

Stankvrij gourmetten is een kwestie van goede voorbereiding én de juiste nazorg. We splitsen de tien tips daarom op. We beginnen bij de basis: ingrediënten en spullen die nauwelijks rook veroorzaken. Vervolgens geven we je praktische hacks om, mocht er toch wat gourmetlucht blijven hangen, die direct weer uit je woonkamer te krijgen, zodat je de volgende ochtend wakker wordt in een fris huis.

Lees ook: Gourmetten nieuwe stijl: topfavoriet met een eigen twist

Ingrediënten & materialen

De meeste stank ontstaat niet door het gourmetstel zelf, maar door wat we erop leggen. Verbrande boter, karamelliserende suikers en spetterend vet zijn de grote boosdoeners. Met een paar slimme aanpassingen aan je boodschappenlijstje ben je de rookwolken voor.

Tip 1: Investeer in hittebestendige olie

De fout die bijna iedereen maakt: bakken in roomboter of standaard olijfolie. Deze vetten verbranden snel bij de hoge temperaturen van het gourmetten, wat zorgt voor die zware, scherpe walm. Kijk in de supermarkt eens schuin boven de olijfolie; daar vind je rijstolie of arachideolie. Deze oliesoorten hebben een veel hoger rookpunt en blijven stabiel als ze heet worden. Wil je het jezelf helemaal makkelijk maken? Koop dan een bakspray. Daarmee nevel je de pannetjes of de plaat licht in, waardoor je nooit te veel gebruikt en het vet niet onnodig staat te walmen.

Tip 2: Laat de kant-en-klare marinades staan

Die voorgemarineerde schotels uit de supermarkt zijn makkelijk, maar funest voor de luchtkwaliteit. De marinades zitten namelijk vaak vol suiker en water. Zodra dat de hete pan raakt, verbrandt de suiker en verdampt het vocht, met veel rook tot gevolg. Je kunt beter ongemarineerd vlees of vis kopen. Wil je toch smaak? Gebruik dan een dry rub (een droog kruidenmengsel) om het vlees vooraf te kruiden. Als je echt van sausjes houdt, kun je die beter koud op je bord toevoegen dan warm in het pannetje.

Tip 3: Kies voor 'droger' vlees en meer groente

Hoe meer vet er in het vlees zit, hoe meer het spettert en rookt. Hamburgers, worstjes en speklapjes zijn in feite kleine rookbommen. Kies liever voor magere opties zoals biefstuk, kipfilet, kalkoen of witvis. Daarnaast kun je de geuroverlast flink beperken door de verhouding vlees/groente om te draaien. Plakjes courgette, paprika, champignons en aubergine bakken vrijwel geurloos. Met een goede mandolineof groentesnijder maak je in een handomdraai dunne plakjes die snel gaar zijn, waardoor je minder lang hoeft te bakken.

Tip 4: Vervang die oude, bekraste pannetjes

Kijk voordat je begint eens kritisch naar je huidige gourmetstel. Zitten de pannetjes vol krassen en is de antiaanbaklaag versleten? Dan koekt je eten sneller aan, wat zorgt voor verbrandingsluchtjes die je de dag erna nog ruikt. Het is vaak helemaal niet nodig om een compleet nieuw apparaat te kopen; veel fabrikanten verkopen losse pannetjes of nieuwe bakplaten. Voor een paar tientjes bak je weer op een glad oppervlak, heb je minder olie nodig en ben je niet de hele avond bezig aangekoekte resten weg te schrapen.

Tip 5: Gebruik een gourmetstel met keramische coating

Ben je toch toe aan een heel nieuw apparaat? Let dan goed op de coating. Tegenwoordig zijn er gourmetstellen met een keramische bakplaat. Deze kunnen vaak hogere temperaturen aan zonder dat de laag beschadigt en ze zijn veel makkelijker schoon te maken.

Watch on YouTube

Zo ga je de strijd aan met de luchtjes in huis

Zelfs met de beste ingrediënten ontkom je niet aan enige baklucht. Gelukkig zijn er genoeg manieren om te voorkomen dat die geur permanent blijft hangen.

Tip 6: Zet een aromadiffuser aan

Een geurkaars maskeert de lucht vaak alleen maar, waardoor je een weeïge mengeling krijgt van lavendel en hamburger. Een betere optie is een elektrische aromadiffuser (ook wel vernevelaar genoemd). Dit apparaat verspreidt via koude waterdamp een constante, frisse geur naar keuze door de kamer, zonder dat er verbranding aan te pas komt. Kies voor essentiële oliën die bekend staan om hun verfrissende werking, zoals citroengras, eucalyptus of dennen. De waterdamp helpt bovendien meteen tegen de droge lucht in huis als de verwarming hoog staat.

Tip 7: Laat de luchtreiniger draaien

Misschien heb je er al eentje staan, en anders is dit het moment: de luchtreiniger. Let er bij aanschaf op dat het apparaat een koolstoffilter heeft, want alleen HEPA is niet genoeg voor kookluchtjes. Een koolstoffilter absorbeert gassen en geuren. Zet het apparaat niet pas aan als je naar bed gaat, maar laat hem al draaien zodra het gourmetstel aangaat. Heb je een modern exemplaar met een app? Zet hem dan alvast op de hoogste stand voordat de eerste walm ontstaat.

Tip 8: Ventileer flink

Ramen openzetten klinkt logisch, maar doe het wel slim. Eén raampje op een kier doet weinig. Je hebt trek nodig. Zet aan weerszijden van de woning een raam of rooster open zodat de luchtstroom de damp direct meeneemt. Vind je het te koud worden? Zet de verwarming gerust tijdelijk wat hoger; de kosten daarvan wegen niet op tegen de stomerijkosten van je gordijnen. Plaats eventueel een simpele tafelventilator in de buurt van het gourmetstel (niet erop gericht, maar richting het open raam) om de rook een handje te helpen de juiste kant op te gaan.

Tip 9: Azijn & koffie

Het is een klassieker uit grootmoeders tijd, maar hij werkt nog steeds: azijn neutraliseert. Je kunt bakjes azijn neerzetten, maar voor het zware werk kun je na het eten beter even een pannetje water met een flinke scheut schoonmaakazijn op het fornuis koken. Laat de afzuigkap uit en laat de damp door de kamer trekken. Vind je de azijnlucht zelf te heftig? Gooi er dan wat citroenschillen, een kaneelstokje of kruidnagel bij. Zo ruikt je huis direct weer naar winterse gezelligheid in plaats van naar een snackbar. Wat ook kan, is koffie. Zet na het eten een paar schaaltjes met gemalen koffie (snelfiltermaling) in de woonkamer. De koffie neutraliseert de zware baklucht en vervangt deze door een neutraal, aards aroma. Voor een nog sterker effect kun je wat koffiebonen op een warme onderzetter leggen; door de restwarmte verspreiden ze een subtiele geur die de gourmetlucht naar de achtergrond verdrijft.

Tip 10: Maak meteen met schoon

Het is verleidelijk om na het eten uit te buiken op de bank en de ravage te laten voor wat het is. Doe het niet. Zolang het gourmetstel vet en warm in de kamer staat, blijft het geur verspreiden. Haal direct na het eten een stuk keukenrol over de plaat. Gebruik daarna een sopje van afwasmiddel en warm water om de plaat en de tafel (want ja, vetnevel komt overal) af te nemen. Geloof ons, door hier na het eten even een paar minuten tijd voor vrij te maken, bespaar je jezelf de volgende ochtend een hoop gourmetluchtfrustratie!