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
Review Sony WF-1000XM6 – Dit is je volgende set oordopjes
© Wesley Akkerman
Huis

Review Sony WF-1000XM6 – Dit is je volgende set oordopjes

Wanneer Sony met een nieuwe set premium oordoppen op de proppen komt, dan moet je opletten. Dit Japanse merk is namelijk al jaren marktleider als het gaat om geluidskwaliteit en actieve ruisonderdrukking. Met zijn prijs van 300 euro mikt de fabrikant wederom op het hogere segment, al is dit wel minder dan de adviesprijs van zijn voorganger.

Fantastisch
Conclusie

Het zal ongetwijfeld niemand verbazen, maar dat maakt zo’n beoordeling niet minder waardevol: de Sony WF-1000XM6 is een regelrecht schot in de roos. Qua audiokwaliteit en -beleving hebben we nog niet beter gehoord. Soms klinkt het net alsof de muziek live naast je wordt gespeeld. Het comfort en de app kunnen nog wel beter, maar de grandioze actieve ruisonderdrukking en de fysieke bediening maken een hoop goed. Dit is je volgende set oordopjes!

Plus- en minpunten
  • Audiokwaliteit van hoog niveau
  • Bediening met gevoel van contact
  • Actieve ruisonderdrukking verbeterd
  • Gave en unieke functies
  • Goede batterijduur
  • Genoeg oortips met memory foam
  • App wat gebruiksonvriendelijk
  • Oortips zitten na verloop van tijd minder comfortabel

Prijs: € 299,-
Driverunit:
8,4 mm
Bluetooth:
Versie 5.3
Batterijduur (muziek):
Max. 8 uur (NC AAN) / max. 12 uur (NC UIT)
Oplaadtijd:
Ca. 1,5 uur (oordopjes), ca. 2 uur via usb (case)
Draadloos opladen:
Ja (met oplaadcase)
Waterbestendigheid:
IPX4
Codecs:
SBC, AAC, LDAC, LC3
Multipoint-functie:
Ja
Frequentierespons:
20 Hz - 40.000 Hz (LDAC 96 kHz sampling 990 kbps)
Gewicht:
Ca. 6,5 g per oordopje / ca. 47 g voor de oplaadcase
Afmetingen case:
Ca. 61,6 x 41,1 x 26,5 mm
Inhoud verpakking:
Oplaadcase, geluidsisolerende eartips, usb-kabel

De Sony WF-1000XM6 volgen de XM5 op die het Japanse bedrijf zo’n 2,5 jaar geleden uitbracht. Dat is een flinke periode in het land der oordoppen (of technologie in het algemeen). Daar waar veel fabrikanten inzetten op jaarlijkse releases en complete productgroepen beperkte stappen voorwaarts maken, is het fijn om te zien dat een elektronicaproducent het nog aandurft langer te wachten tussen verschillende uitgaven. Dan heb je tenminste wat te melden of te vertellen.

Met deze versie zet Sony in op een betere noise cancelling, audioweergave, gesprekskwaliteit en ergonomie. Daarnaast brengt de fabrikant stabielere bluetooth-connectiviteit, Google Gemini-integratie en een hogere mate van milieuvriendelijkheid. Zo zijn de antennes langer gemaakt, waardoor de oortjes niet snel de verbinding verliezen, ook niet in drukkere omgevingen zoals een vliegtuig of trein. Dat hebben we aan den lijve ondervonden de afgelopen weken.

©Wesley Akkerman

Meer in contact

Net als bij het vorige model maakt Sony gebruik van memory foam als oortips (het deel dat in je gehoorgang zit). Die hebben als grote voordeel dat ze zich aanpassen aan de vorm van de opening en dus altijd strak en goed zitten. In de doos zitten verschillende opties. Bij ons zit de een net te los, terwijl het formaat daarna juist net wat strak zit. Daardoor kan langer dan twee uur luisteren wat oncomfortabel worden. Maar ze vallen in elk geval niet zomaar uit je oren.

Deze keer kijkt Sony ook naar het ontwerp. De Sony WF-1000XM6-oortjes zijn wat langwerpiger en steken iets verder uit je oren dan z'n voorganger, waardoor je moet oppassen wanneer je een T-shirt of trui uittrekt. Het oppervlak is wat ruwer en dat helpt daadwerkelijk bij de fysieke bediening; het voelt alsof je wat meer in contact bent met de bediening. Muziek pauzeren, actieve ruisonderdrukking activeren – het gaat allemaal erg soepel. Je hoeft ze niet hard in te drukken.

Grammy-winnende engineers

Daarnaast is het fijn dat deze dopjes nog steeds acht uur meegaan op een volle accu. Dat is met actieve ruisonderdrukking aan. Zet je die uit, dan mag je daar nog een paar uur bij optellen. Met de oplaadcase erbij kun je rekenen op 24 tot 30 uur. Dat is misschien niet superveel in vergelijking met sommige concurrenten, maar die zitten dan ook niet boordevol allerlei extra microfoons (vier stuks in dit model) en speciaal ontwikkelde drivers.

©Wesley Akkerman

De drivers zijn natuurlijk medeverantwoordelijk voor het geluid, maar de samenwerking met allerlei gerenommeerde studio's en muziekproducenten helpt daar vanzelfsprekend ook bij. Sony heeft zich laten leiden door een team van Grammy-winnende en Grammy-genomineerde engineers, waaronder Randy Merrill (die werkte met Ed Sheeran), Chris Gehringer (Lady Gaga) en Michael Romanowski (Alicia Keys). Dat zijn niet de minste namen, maar wat merk je daarvan?

Naast je in de kamer

Nou, het grootste compliment dat we een set oordoppen kunnen geven: je hebt de equalizer niet nodig om goed en wel – en in de hoogste kwaliteit! – van je digitale muziek te genieten. De audio klinkt warm, vol en persoonlijk. Dat gaat niet ten koste van de hogere regionen of het middenveld, waardoor die helderheid en nuance bewaakt blijft. Soms lijkt het net alsof iemand op een drumstel naast je in de kamer speelt, zo dichtbij klinken de nummers.

Als je wilt, dan kun je wel een equalizer op de soundstage loslaten. Je kunt dan kiezen uit verschillende profielen, zelf een instelling beheren of Sony het werk uit handen laten nemen. Dan stelt de (helaas soms wat onoverzichtelijke) app de equalizer in op basis van jouw eigen gehoor. Hier kan dat nog weleens ten koste gaan van het basgeluid, waardoor we dat maar achterwege laten, maar het is fijn dat het kan. Het maakt de Sony WF-1000XM6 breed inzetbaar.

©Wesley Akkerman

Gevoel, beleving, emotie

En daar blijft het niet bij qua audio. Want je kunt streamen in hoge resoluties dankzij de LDAC-audiocodec en anders leunen op DSEE Extreme (een algoritme van Sony dat de muziek in kwaliteit opschaalt). Verder is nieuw in deze set dat je audio wat verder weg kunt laten klinken, alsof je in een café of je eigen woonkamer zit. Dat is een vreemde maar oorstrelende ervaring die je moet beleven om het te begrijpen.

We snappen uiteindelijk wel waarom Sony deze functie introduceert. Het kan bijvoorbeeld helpen bij de concentratie. Wij hebben vooral gemerkt dat je er een huiselijk gevoel aan kunt overhouden wanneer je kilometers hoog in de lucht hangt in een vliegtuig, omdat het net lijkt alsof je naar je eigen audioset thuis op de achtergrond luistert. Het gaat hier niet om de beste geluidskwaliteit, maar om een gevoel, een emotie, een beleving. En die is helemaal oké.

Tot slot kijken we nog even naar de actieve ruisonderdrukking. Die is beter dan ooit. Zo hebben we bijna niets van de vliegtuigmotoren gehoord tijdens een recente reis naar Barcelona en komt er ook weinig tot geen geluid vanuit het OV je gehoorgang in. Bepaalde plotselinge hoge tonen komen nog weleens door, maar die blijven moeilijk filterbaar. Al met al is dit wederom een mooie stap voorwaarts, helemaal als je je écht even wilt afsluiten van je omgeving.

Sony WF-1000XM6 kopen?

Het zal ongetwijfeld niemand verbazen, maar dat maakt zo’n beoordeling niet minder waardevol: de Sony WF-1000XM6 is een regelrecht schot in de roos. Qua audiokwaliteit en -beleving hebben we nog niet beter gehoord. Soms klinkt het net alsof de muziek live naast je wordt gespeeld. Het comfort en de app kunnen nog wel beter, maar de grandioze actieve ruisonderdrukking en de fysieke bediening maken een hoop goed. Dit is je volgende set oordopjes!

▼ Volgende artikel
De beste State of Play ooit! - Power-Up Podcast Special
Huis

De beste State of Play ooit! - Power-Up Podcast Special

Zo! Dat was niet alleen de langste, maar voor velen ook meteen de beste State of Play ooit! Met meer dan 25 titels op het menu stond deze showcase vooral bij Simon dik op z’n buik geschreven. Samen met Martin en Jacco blikt hij terug op (bijna) alles wat voorbij kwam, en duiken ze dieper in onder andere: God of War: Sons of Sparta, Kena: Scars of Kosmora, Castlevania: Belmont’s Curse, Project Windless en natuurlijk de aangekondigde John Wick-game! Benieuwd wat de jongens ervan vonden? Check dan als de wiedeweerga deze speciale extra aflevering, baklap!

Watch on YouTube

00:00 Intro
02:20 Ons oordeel
09:20 Project Windless
11:35 Resident Evil Requiem
13:35 Kena: Scars of Kosmora
19:00 Legacy of Kain: Defiance Remastered / Ascendance
22:45 Yakoh Shinobi Ops
27:25 Dead or Alive
31:45 Control: Resonant
36:05 Beast of Reincarnation
37:15 Neva: Prologue
39:05 Star Wars: Galactic Racer
42:35 Metal Gear Solid Collection 2
45:15 Castlevania: Belmont’s Curse
49:15 Silent Hill: Townfall
52:10 John Wick
54:35 God of War Trilogy Remake
56:35 God of War: Sons of Sparta
01:03:00 Horizon Hunters: Gathering
01:04:45 Onze Reddit-aankondiging
01:06:45 Outro

Je kan ook de podcast beluisteren hieronder of via deze link!