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: 5 gourmetsets voor minder dan 85 euro
Huis

Waar voor je geld: 5 gourmetsets voor minder dan 85 euro

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. Met de feestdagen in aantocht gaan we weer gezellig met z'n allen eten. En omdat gourmetten daarbij erg populair is, zijn we op zoek gegaan naar vijf betaalbare modellen geschikt voor tot 10 personen.

Met een gourmetstel maak je avonden extra gezellig en informeel. Iedereen eet in zijn eigen tempo omdat je zelf bepaalt hoeveel je in je pannetje of op je grill legt. En zo is er ook meer tijd om lekker te kletsen. Wij vonden vijf mooie gourmetstellen geschikt tot wel 10 personen.

Tristar RA‑2746 Gourmetstel – 8 personen

De Tristar RA‑2746 is een gourmetstel waarmee je samen met het hele gezin of vriendengroep kunt bakken en grillen. Het apparaat heeft een vermogen van ongeveer 1400 watt en is voorzien van één grote bak‑ en grillplaat, zodat je tegelijk vlees, vis en groenten kunt bereiden. Dankzij de PFAS‑vrije antiaanbaklaag koeken ingrediënten niet vast en maak je het oppervlak na het eten eenvoudig schoon.. Bij de set worden acht kleine pannetjes meegeleverd, zodat iedereen zijn eigen gerecht kan samenstellen. De antislipvoetjes houden het toestel stevig op tafel en het snoer is lang genoeg voor gebruik aan een eettafel. Verder is het gourmetstel geschikt voor maximaal acht personen.

Tefal Inox & Design RE4588 - 10 personen

Bij de Tefal Inox & Design RE4588 richt alles zich op een combinatie van raclette en gourmet. Je beschikt over een groot vermogen van 1350 watt en een verstelbare thermostaat, zodat je de temperatuur precies kunt regelen voor vlees, groenten of raclettekaas. De tien bijgeleverde pannetjes en de grillplaat hebben een antiaanbaklaag waardoor je weinig olie hoeft te gebruiken en het schoonmaken minder tijd kost. Tefal heeft het snoer met ongeveer twee meter vrij lang gemaakt, waardoor je meer vrijheid hebt om het toestel op tafel te plaatsen. Een ingebouwd indicatielampje toont wanneer het apparaat de ingestelde temperatuur heeft bereik. Het apparaat wordt geleverd met hittebestendige handgrepen voor veilig gebruik en is geschikt voor maximaal tien personen.

Princess Raclette Gourmetstel XL - 10 personen

Met de Princess Raclette XL haal je een gourmet‑ en raclette‑stel voor tien personen in huis. De set gebruikt een vermogen van ongeveer 1500 watt en heeft een extra grote bakplaat voor vlees en groenten. De plaat is uitneembaar en heeft een PFAS‑vrije antiaanbaklaag, waardoor je niet veel olie nodig hebt en het toestel gemakkelijk schoonmaakt. Bij het apparaat worden tien pannetjes geleverd; zo kan iedereen tegelijkertijd minipannetjes gebruiken. De temperatuur regel je via een draaiknop, terwijl een controlelampje aangeeft dat het toestel opwarmt. Koelblijvende handgrepen en antislipvoetjes dragen bij aan veilig gebruik.

Princess Dinner4All Circle - 4 personen

De Princess Dinner4All Circle is een ronde gourmetset bedoeld voor kleinere groepen. Het apparaat is voorzien van een ronde bakplaat met een diameter van ongeveer 30 centimeter en gebruikt een vermogen van 1000 watt. Via een draaiknop stel je de temperatuur in tot circa 250 °C, waardoor je van langzaam garen tot snel grillen verschillende bereidingswijzen kunt kiezen. De set wordt geleverd met meerdere individueel te gebruiken kooktegels, zodat iedereen op zijn eigen tegel kan bakken zonder smaken te mengen. Dankzij de antiaanbaklaag zijn de platen eenvoudig schoon te maken, terwijl antislipvoetjes het toestel stabiel houden. Het snoer is ongeveer twee meter lang, waardoor je het gemakkelijk midden op tafel zet.

Princess Dinner4All Pure - 4 personen

Deze Dinner4All Pure‑gourmetset van Princess is opgebouwd uit meerdere kleine bakplaten, zodat elke gebruiker zijn eigen kookgedeelte heeft. Het systeem bestaat uit vier bamboe plates met antiaanbaklaag en afzonderlijke bakplaatjes, die samen op één centrale powerbox van 1000 watt worden aangesloten. Doordat iedere plaat een eigen stekker heeft, kun je de opstelling uitbreiden of verkleinen; handig als je met twee, drie of vier personen wilt eten. Het apparaat heeft een controlelampje en een eenvoudige bediening; je steekt de stekker in het stopcontact en kiest een temperatuur met de draaiknop. Dankzij de non‑stick afwerking maak je de platen na afloop gemakkelijk schoon.

▼ Volgende artikel
Review Ring Outdoor Cam Pro – Interessant, maar niet voor iedereen
© Wesley Akkerman
Zekerheid & gemak

Review Ring Outdoor Cam Pro – Interessant, maar niet voor iedereen

De Ring Outdoor Cam Pro is een redelijk prijzige, slimme beveiligingscamera voor buiten die flink wat in zijn mars heeft. Het apparaat kost 199,99 euro en daar komt – waarschijnlijk – nog maandelijks een abonnement bovenop.

Goed
Conclusie

De Ring Outdoor Cam Pro biedt fijne hardware, waaronder 4K-video met 10x digitale zoom (die nog redelijk acceptabel is ook). De installatie is eenvoudig, maar de camera mist wel de nodige smarthome-integraties (waardoor hij dus niet voor iedereen even handig is). Bovendien is hij aan de prijzige kant en heb je voor het optimale gebruik een abonnement nodig, waardoor je maandelijks of jaarlijks terugkerende kosten hebt. Daardoor betaal je hier meer voor dan bij Eufy, en daarom is de Outdoor Cam Pro alleen interessant als je al andere Ring-producten hebt.

Plus- en minpunten
  • Goede beeldkwaliteit
  • Nachtzicht met of zonder kleur
  • Installatie zo gepiept
  • Beschermd tegen weer en wind
  • Geen invloed op beeldkwaliteit
  • Abonnement voelt bijna nodig
  • Mist smarthomefuncties
  • Geen lokale opslagopties

De nieuwe Ring Outdoor Camera Pro heeft een compact, stabiel en minimalistisch ontwerp waardoor je hem direct als een Ring-apparaat herkent. Dankzij de compacte afmetingen kun je hem subtiel aan de muur ophangen. Je bent verzekerd van bescherming tegen weer en wind (een IP-rating is niet bekend) en er is een extra afdekking voor de kabelaansluitingen. Ring levert de camera daarnaast met een kogel-gelagerde muurbeugel en montagemateriaal. De stroomvoorziening verloopt via de usb-c-kabel achterop; dit is helaas geen model met eigen batterij.

De installatie is, zoals gebruikelijk bij Ring, snel en ongecompliceerd. Je maakt verbinding via wifi na het scannen van de QR-code en over het algemeen is de verbinding stabiel. We hebben gedurende de testperiode geen storingen opgemerkt. Mocht je de camera willen ophangen, dan moet je wel zelf even een gaatje boren; daar zit voornamelijk het werk in. In de doos zit overigens alles wat je nodig hebt om dat te doen. Denk dan aan die eerdergenoemde muurbeugel, maar ook aan alle schroeven en dergelijke. Je hoeft alleen de boor er zelf bij te pakken.

©Wesley Akkerman

Weinig zeggenschap over het beeld

De Ring Outdoor Cam Pro heeft een 4K-resolutie en een brede kijkhoek van 140 graden. Overdag zorgen natuurlijke kleuren en HDR-ondersteuning ervoor dat details en gezichten duidelijk herkenbaar blijven, zelfs bij tegenlicht. 's Nachts schakelt de camera automatisch over op helder zwart-witbeeld dankzij infrarood. Het systeem is bovendien in staat nachtvisie in kleur te leveren, maar daarvoor is er wel voldoende licht nodig. Hij schakelt automatisch van stand op basis van de hoeveelheid licht; je kunt helaas niet zelf bepalen of je in kleur of zwart-wit filmt.

Ring maakt verder gebruik van betrouwbare bewegingsdetectie, waarbij je via de app zones kunt instellen om vals alarm te voorkomen. De Ring Outdoor Cam Pro heeft 3D-bewegingsdetectie en Bird's Eye View (een typische Ring-uitvinding) voor nauwkeurige afstandsmetingen en het volgen van bewegingen. Met een Ring Protect-abonnement krijg je toegang tot geavanceerde herkenning van personen, dieren en voertuigen. Voor zaken als tweewegcommunicatie en de live-feed hoef je gelukkig niet in de buidel te tasten.

Het gebrek aan kleur komt door de mist.

Verplichte cloudopslag

Over het abonnement gesproken: daarmee krijg je ook nog toegang tot een uitgebreide videohistorie. Dat kost je wel minimaal 3,99 euro per maand. De opgenomen beelden blijven dan voor 180 dagen bewaard. Een belangrijk punt blijft echter de cloud-exclusiviteit; Ring maakt het nog steeds niet mogelijk om beelden lokaal op te slaan. Je bent dus verplicht een abonnement af te nemen als je je huisbeveiliging een beetje serieus neemt. De app faciliteert wel een overzichtelijk rechtenbeheer voor gezinsleden en waarschuwt bij allerlei ongeregeldheden.

De Ring-camera integreert tot slot met Alexa (de slimme assistent van Amazon) en IFTTT (een gratis en eenvoudige service voor smarthome-automatiseringen), maar mist helaas ondersteuning voor Google Home en Apple HomeKit (zoals dat al jaren het geval is). Via de Ring-app, beschikbaar voor Android en iOS, heb je de controle over de instellingen, inclusief het in- of uitschakelen van de sirene en bewegingsdetectie. De app toont een overzicht van gebeurtenissen en maakt het mogelijk voorgeprogrammeerde berichten af te spelen voor je bezoekers.

Van links naar rechts: infraroodnachtzicht, nachtzicht met kleur en nachtzicht zonder infrarood.

Lees ook onze review van de Ring Floodlight Cam Pro (2e gen)

Ring Outdoor Cam Pro kopen?

De Ring Outdoor Cam Pro biedt fijne hardware, waaronder 4K-video met 10x digitale zoom (die nog redelijk acceptabel is ook). De installatie is eenvoudig, maar de beveiligingscamera mist wel de nodige smarthome-integraties (waardoor hij dus niet voor iedereen heel handig is). Bovendien is hij aan de prijzige kant en heb je voor het optimale gebruik een abonnement nodig, waardoor je maandelijks of jaarlijks terugkerende kosten hebt. Daardoor betaal je hier meer voor dan bij Eufy, en daarom is de Outdoor Cam Pro alleen interessant als je al andere Ring-producten hebt.