ID.nl logo
Bouw je eigen cloud met ownCloud
© PXimport
Huis

Bouw je eigen cloud met ownCloud

OneDrive, Dropbox, iCloud, Google Drive … Al die cloudopslagdiensten zijn kinderlijk eenvoudig en praktisch. Maar bedenk wel dat al die persoonlijke bestanden, foto's, documenten en mails op de systemen van anderen staan. Je kunt nooit achterhalen wie jouw data inzien. Tijd om het heft in eigen hand te nemen met een eigen cloud.

In deze basiscursus gaan we onze eigen cloud opzetten met ownCloud. OwnCloud is serversoftware waarmee je je bestanden kunt synchroniseren met je eigen cloud, oftewel het is een do-it-yourselfdropbox. Het fijne aan ownCloud is dat je gegevens je huis niet verlaten en niet op andermans computer terechtkomen. Bovendien is het mogelijk om ownCloud uit te breiden met allerlei handige apps, zodat het veel meer wordt dan alleen een cloudopslagdienst.

Voordat we beginnen: zorg ervoor dat je een server klaar hebt staan. Wij pakken daarvoor een server met Ubuntu 16.04 LTS. Je kunt ook een nas gebruiken (zie kader). Zorg ervoor dat de pc die je gebruikt genoeg opslagruimte heeft voor de persoonlijke bestanden die je erop wilt zetten. Heb je geen server beschikbaar, dan zou je ownCloud kunnen hosten in een virtuele machine op een pc. Zorg ervoor dat de virtuele schijf dan wel wat ruimte heeft zodat je je gegevens kwijt kan en dat de VM direct verbonden is met je thuisnetwerk.

01 OwnCloud installeren

We gaan ownCloud installeren in Ubuntu. Daarvoor voegen we de ownCloud-repository toe aan de Ubuntu-pakketbronnen. De volgende commando’s kun ook terugvinden op de installatiepagina van ownCloud. Voer in een terminal het volgende commando in:

wget -nv https://download.owncloud.org/download/repositories/9.1/Ubuntu_16.04/Release.key -O Release.key
sudo apt-key add - < Release.key

We hebben nu de sleutel toegevoegd aan Ubuntu, zodat we kunnen verifiëren dat de code echt afkomstig is van ownCloud. Nu kunnen we de software zelf toevoegen als repo. Maak daarvoor het bestand owncloud.list met sudo nano /etc/apt/sources.list.d/owncloud.list en voeg daaraan de volgende regel toe:

deb http://download.owncloud.org/download/repositories/9.1/Ubuntu_16.04/ /

Sla het bestand op met Ctrl + X en Y. Daarna installeer je ownCloud met:

sudo apt update
sudo apt install owncloud

Zodra de installatie klaar is, kun je naar http://<je-ip-adres/owncloud in je browser en zie je de ownCloud-pagina verschijnen. Wacht nog even met inloggen, zoals je ziet op die pagina wordt het gebruik van een andere database dan SQLite aanbevolen.

©PXimport

02 MySQL installeren

Als je ownCloud serieus wilt gebruiken, is het aan te raden om gebruik te maken van MySQL in plaats van SQLite. Installeer MySQL als volgt:

sudo apt update
sudo apt install mysql-server

Druk op Enter als de installatie daarom vraagt. Tijdens de installatie wordt ook gevraagd om een wachtwoord in te vullen voor MySQL. Onthoud dat wachtwoord goed en zorg dat het een sterk wachtwoord is. Daarna beveiligen we MySQL met het commando:

mysql_secure_installation

Voer het rootwachtwoord van MySQL in en druk op Enter. Druk op y om wachtwoordvalidatie in te schakelen en kies voor het gewenste veiligheidsbeleid. Wij kiezen voor 0. Als je wachtwoord voor root niet sterk genoeg is, wijzig het dan bij de volgende vraag, ga anders door en druk op Enter. Je kunt nu bij Remove anonymous users, Disallow root login remotely en Remove test database and access to it op y drukken. Druk dan nog eens op y om de wijzigingen direct toe te passen door de rechtentabel, oftewel de privilege table, te herladen.

©PXimport

Als je ownCloud serieus wilt gebruiken, is het aan te raden om gebruik te maken van MySQL

-

03 MySQL-database

We maken nu een database aan voor ownCloud in MySQL. Voer daarvoor het commando uit:

mysql -u root -p

En log in MySQL in. Dan maken we een nieuwe database aan met:

CREATE DATABASE owncloud;

We maken nu een speciale gebruiker aan voor deze nieuwe database, die alleen bij die database kan. Dat is een stuk veiliger:

GRANT ALL ON owncloud.* to 'owncloud'@'localhost' IDENTIFIED BY 'wachtwoord';

Zorg ervoor dat je in plaats van wachtwoord een sterk wachtwoord invoert en die ook goed bewaart. Als laatste passen we deze nieuwe rechten direct toe:

FLUSH PRIVILEGES;

Typ exit om MySQL weer te verlaten.

©PXimport

OwnCloud installeren op nas

OwnCloud is niet alleen eenvoudig te installeren op Ubuntu, maar ook op veel nas’sen. Op bijvoorbeeld Synology installeer je daarvoor vanuit het Package Center de Web Station, MariaDB, Apache2.4, php7.0 en phpMyAdmin. Raadpleeg de handleiding om die te configureren, soms kun je meedoen met de stappen die hier staan als je ssh-toegang hebt tot je nas. Gebruik dan dit setupscript om ownCloud te installeren. Op QNAP en andere nas’en werkt het vergelijkbaar. Je kunt op sommige nas’en ook Docker gebruiken met dit image.

©PXimport

04 OwnCloud instellen

Om ownCloud in te stellen, ga je terug in de browser naar http://<je-ip-adres>/owncloud. Voer je gewenste gebruikersnaam en wachtwoord in en klik dan op Opslag en database. Klik op MySQL/MariaDB en voer daar de gegevens van net in. De gebruiker van de database is owncloud, het wachtwoord is het wachtwoord dat je bij de vorige stap hebt aangemaakt en de naam is owncloud. Bij Gegevensmap zou je een ander pad kunnen invullen om je bestanden ergens anders op te slaan. In deze map worden de cloudbestanden opgeslagen. Zorg ervoor dat de map die je hier invult beschreven kan worden door www-data. Dat doe je met het commando:

sudo chown -R www-data:www-data /pad/naar/je/map

Wij houden de map op de standaardwaarde en hoeven dan niet bovenstaand commando uit te voeren. Klik op Installatie afronden. Als alles goed gegaan is, kom je na enige tijd op de startpagina van ownCloud met de melding om de desktopapps te installeren.

©PXimport

05 Domein, dns en router

Voordat we doorgaan met de configuratie van ownCloud, gaan we ervanuit dat je ownCloud in productie wilt gebruiken met een domeinnaam en https. Https zorgt ervoor dat je bestanden tijdens het uploaden niet door anderen ingezien kunnen worden. Voordat we doorgaan is het belangrijk dat je het volgende doet: zorg dat je een A-record aanmaakt voor je domeinnaam, bijvoorbeeld owncloud.je-domein.nl. Verwijs die naar je externe thuis-ip-adres. Je vindt dat adres eenvoudig door even te googlen op ‘wat is mijn ip’. Het beste maak je gebruik van een dynamische dns-service als je ownCloud thuis host, omdat als je ip-adres wijzigt je niet meer bij je ownCloud uitkomt. Dat gaat te ver voor dit artikel. Daarna maak je een nieuwe portforwarding-regel aan in je router, die verkeer op poort 80 én 443 doorstuurt naar je ownCloud-server. Zorg er dan direct voor dat je server van je router een statisch ip-adres krijgt.

©PXimport

Nextcloud versus ownCloud

Nextcloud is een concurrent van ownCloud. In 2016 kozen veel ontwikkelaars ervoor om ownCloud te verlaten naar aanleiding vanwege commerciële onenigheid. Nextcloud is in zijn geheel open source, bij ownCloud zijn bepaalde zakelijke functies gesloten. Ook wordt Nextcloud sneller ontwikkeld met vaker nieuwe versies. Echter, vooralsnog is ownCloud nog wat stabieler en is het eenvoudiger te installeren, omdat het direct vanuit veel Linux-distributies is te installeren.

06 Apache

Heb je dat allemaal gedaan, dan bewerken we de configuratie van Apache2, die tijdens stap 1 automatisch mee is geïnstalleerd. Kopieer daarvoor eerst de Directory-blokken van de oude owncloud.conf met het commaando cat /etc/apache2/conf-available/owncloud.conf. Selecteer dan alles na Alias. Nu maken we een nieuwe virtualhost aan voor ownCloud met het commando:

sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/owncloud.conf

Bewerk dan het bestand owncloud.conf met sudo nano /etc/apache2/sites-available/owncloud.conf en haal daar het hekje weg bij ServerName en vervang www.example.com met owncloud.je-domeinnaam.nl. Bij DocumentRoot haal je html weg en vervang je dat met owncloud. Plak nu de twee Directory-blokken van net.

Sla het bestand op met Ctrl + X / Y en schakel de site in en herlaad Apache met:

sudo a2ensite owncloud

sudo service apache2 reload

Ga dan even naar je domein om het te testen. Als het werkt, verschijnt de ownCloud-pagina. Klik op de knop “owncloud.je-domein.nltoevoegen als vertrouwd domein. Waarschijnlijk word je dan doorverwezen naar de verkeerde pagina. In de link voeg je dan even /owncloud/ toe na je ip-adres in de url in je browser en klik je dan op Ja.

©PXimport

Bij Gegevensmap zou je een ander pad kunnen invullen om je bestanden ergens anders op te slaan

-

07 Https

Om nu https in te schakelen, typ je in de terminal:

sudo apt-get install python-letsencrypt-apache

En druk op Enter om de installatie te bevestigen en voer dan in:

sudo letsencrypt -d owncloud.je-domeinnaam.nl

Geef een e-mailadres op, waarop je meldingen ontvangt als het certificaat verloopt en druk op OK. Klik op Agree en kies dan voor Secure en druk op OK / OK. Zorg ervoor dat je eens in de drie maanden even het commando sudo letsencrypt renew uitvoert.

©PXimport

Test je beveiliging

De makers van Nextcloud hebben een scantool gebouwd waarmee je je eigen ownCloud-installatie kunt controleren op veiligheid. De tool controleert of ownCloud en je server up-to-date is en niet kwetsbaar voor lekken. Een eenvoudige maatregel om de veiligheid te verbeteren is om HSTS aan te zetten. Daarvoor bewerk je het bestand /etc/apache2/sites-available/owncloud-le-ssl.conf en voeg je daaraan toe in het VirtualHost-blok:

08 Bestanden synchroniseren

We kunnen nu onze bestanden uploaden naar ownCloud. Daarvoor download je de clients door rechtsboven op je gebruikersnaam te klikken en te kiezen voor Persoonlijk / Sync clients. Kies dan voor je platform, bijvoorbeeld Desktop app en kies voor het juiste besturingssysteem. Download het uitvoerbare bestand en voer het uit. Open na de installatie de client en voer je Serveradres in, dus https://owncloud.je-domein.nl en klik op Next. Meld je dan aan met je gebruikersnaam en wachtwoord en ga door. Je kunt nu kiezen wat je vanaf de server wilt synchroniseren, maar daar staat nog niets. Bij Lokale map kies je waar je de ownCloud-map wilt plaatsen. Klik op Verbinden / Finish om de verbinding definitief te maken. Open de sync-client rechtsonder vanaf het systeemvak. Als je nu je bestanden in je ownCloud-map plaatst, worden ze vanzelf geüpload. De mobiele apps voor Android en iOS kun je gebruiken voor minder dan een euro in de betreffende appstores.

©PXimport

09 ownCloud-webinterface

Via de webinterface van ownCloud kun je al je bestanden inzien en downloaden. Rechts zie je favorieten en gedeelde bestanden. Onderaan kun je via Verwijderde bestanden inzien wat er verwijderd is en dat terughalen. Met Instellingen onderaan kun je verborgen bestanden weergeven. Om de echte instellingen van ownCloud aan te passen, klik je rechtsboven op je gebruikersnaam. Met de optie Gebruikers kun je anderen toegang geven tot je ownCloud-server, die kunnen dan zelf bestanden uploaden. Je kunt gebruikers in groepen plaatsen. Per gebruiker kun je een limiet instellen. Met de optie Persoonlijk wijzig je je eigen instellingen, zoals je naam, wachtwoord en meldingen. Via Beheerder vind je algemene instellingen, zoals server-sideversleuteling, deelinstellingen en configuratiemeldingen.

©PXimport

Server-sideversleuteling

Een van de opties in de instellingen is de mogelijkheid om server-side encryptie in te schakelen. Dat klinkt mooi, als alleen versleutelde bestanden op je server liggen, hoef je je geen zorgen te maken over als de server gehackt wordt. Helaas werkt het niet zo. ownCloud bewaart namelijk de privésleutels voor encryptie ook op de server, waardoor een aanvaller eenvoudig je bestanden kan ontsleutelen. Deze functie is dan ook alleen handig als je de data extern opslaat, met de External Storage-app, of als je geen https gebruikt.

10 Apps installeren

OwnCloud heeft een appwinkel waarmee je de functionaliteit ervan kunt uitbreiden. Om die in te zien, klik je linksboven op Bestanden / + Apps. Je vindt per categorie handige apps. Klik op Activeer om een app in te schakelen. Die verschijnt dan in het menu bovenin. Met Productivity vind je handige apps zoals een agenda en contactpersonen-beheer. Je vindt meer apps op de website van ownCloud. Om zo’n app te installeren, download je het zip of tar.gz-bestand en pak je het uit op de server in de map /var/www/owncloud/apps. Zorg dat de rechten goed staan met

sudo chmod 750 /var/www/owncloud/apps/<je-app-naam>
sudo chown -R www-data:www-data /var/www/owncloud/apps/<je-app-naam>

Je app komt dan automatisch in de applijst te staan van je ownCloud.

©PXimport

11 Full-text search

Met de app Nextant is het mogelijk om direct door de inhoud van je documenten te zoeken. Daarvoor wordt gebruikgemaakt van Apache Solr. We installeren als eerst de Nextant-app als volgt:

sudo su
cd /var/www/owncloud/apps
wget https://github.com/nextcloud/nextant/releases/download/v1.0.3/nextant-master-1.0.3.tar.gz

We pakken dan het bestand uit en zorgen er zeker voor dat de rechten goed staan:

tar -zxvf nextant-master-1.0.3.tar.gz
chmod 750 nextant/
chown -R www-data:www-data nextant/
exit

Ga dan naar je webinterface en klik bovenaan op Bestanden / Apps. Ga naar Niet ingeschakeld, zoek Nextant in de lijst en klik op Activeer.

©PXimport

Met de app Nextant is het mogelijk om direct door de inhoud van je documenten te zoeken

-

12 Apache Solr

Installeer eerst even Java met:

sudo apt install openjdk-8-jre

Daarna kunnen we Solr binnenhalen en installeren als service:

cd ~
wget http://mirrors.ircam.fr/pub/apache/lucene/solr/6.4.2/solr-6.4.2.tgz
sudo ./solr-6.4.2/bin/install_solr_service.sh solr-6.4.2.tgz

Bewerk dan het bestand jetty-http.xml in /opt/solr/server/etc/ met

sudo nano /opt/solr/server/etc/jetty-http.xml

en maak van de regel

<Set name="host"><Property name="jetty.host" /></Set>

Het volgende:

<Set name="host"><Property name="jetty.host" default="127.0.0.1" /></Set>

Zodat Solr alleen toegankelijk is vanaf localhost. We herstarten nu Solr en genereren een Nextant-core met de volgende commando’s:

sudo /etc/init.d/solr restart
sudo -u solr /opt/solr/bin/solr create -c nextant

Ga dan terug naar de ownCloud-webinterface. Klik rechtsboven op je naam en ga naar Beheerder. Klik op Nextant (volledige tekst zoekfunctie) links en klik op Testen en opslaan. De standaardinstellingen zijn goed. Het kan even duren voordat alles getest is. Daarna kun je de instellingen daaronder aanpassen. Terug in de commandline kun je nu de eerste keer indexeren starten met:

cd /var/www/owncloud
sudo -u www-data ./occ nextant:index

©PXimport

▼ Volgende artikel
Waar voor je geld: 5 draagbare bluetooth-speakers voor minder dan 90 euro
© Olga Demina | stock.adobe.com
Huis

Waar voor je geld: 5 draagbare bluetooth-speakers voor minder dan 90 euro

Bij ID.nl zijn we gek op producten waar je niet de hoofdprijs voor betaalt. Een paar keer per week speuren we daarom binnen een bepaald thema naar zulke deals. Ben je op zoek naar een goede bluetooth-speaker voor mee op vakantie? Wij zochten vijf modellen voor je uit voor minder dan 90 euro.

Een draagbare bluetooth-speaker is superhandig als je graag muziek luistert, waar je ook bent. Je koppelt ze in een paar seconden aan je telefoon of tablet, en je kunt meteen je favoriete playlist afspelen – zonder gedoe met kabels of ingewikkelde installatie. Gewoon aanzetten, verbinden en gaan met die beat. Wij zochten vijf modellen voor buiten voor je op, voor minder dan 90 euro.

JBL FLIP 6

Deze Flip 6 van JBL neem je makkelijk overal mee naartoe, maar produceert ondanks zijn compacte formaat toch flink wat geluid. Hij is klein genoeg om in je tas te gooien, maar als je hem aanzet, komt er verrassend veel bas en helderheid uit. Perfect voor op het strand, in het park of gewoon thuis op de keukentafel. Hij kan tegen een stootje – letterlijk – en is helemaal waterdicht. Dus regen of zwembad? Geen probleem. De batterij gaat zo'n 12 uur mee, dus je komt wel een dagje door. En heb je een vriend die ook een JBL-speaker heeft? Dan kun je ze koppelen voor dubbel zoveel geluid.

💪 Gewicht: 941 gram
🌊 Waterdicht: IP67
🔊 RMS-vermogen: 10 watt
🔋 Speelduur: 12 uur

Marshall Willen

De Marshall Willen valt op: niet alleen qua geluid, maar ook door z'n iconische rock-'n-roll-uiterlijk. Hij past makkelijk in je jaszak en maakt indruk met z'n kraakheldere geluid. Ondanks z'n formaat krijg je verrassend veel punch. De accu gaat gerust een hele dag mee en je kunt 'm gewoon meenemen onder de douche of in de regen – hij is namelijk waterdicht. Wat ook fijn is: hij heeft een handige clip waarmee je 'm ergens aan kunt hangen. Ideaal voor onderweg of op de fiets.

💪 Gewicht: 476 gram
🌊 Waterdicht: IP67
🔊 RMS-vermogen: 10 Watt
🔋 Speelduur: 15 uur

Sony ULT Field 1

De Sony ULT Field 1 is compact, makkelijk te dragen en zit verrassend goed in elkaar. Wat echt opvalt is de bas: lekker diep en vol. En als je dat niet genoeg vindt, zet je gewoon de ULT-knop aan voor nog wat extra power. Hij is water- én stofdicht, dus je hoeft 'm niet te sparen. De batterij houdt het een uur of 12 vol, wat prima is voor een dagje buiten. Gewoon een fijne, robuuste speaker die doet wat je nodig hebt.

💪 Gewicht: 650 gram
🌊 Waterdicht: IP67
🔊 RMS-Vermogen: 30 Watt
🔋 Speelduur: 12 uur

Ultimate Ears WONDERBOOM 4

De WONDERBOOM 4 is klein, rond en vrolijk, maar klinkt alsof-ie twee keer zo groot is. Zet hem in het midden van de kamer of je picknickkleed en iedereen hoort even goed wat er speelt, dankzij 360° geluid – en dat werkt verrassend goed. Hij is waterdicht én kan drijven, dus hij mag mee in bad of op een bootje, zolang je 'm maar niet lang onder water houdt. De batterij gaat ongeveer 14 uur mee, en als je er twee hebt, kun je stereo afspelen. Kortom: klein ding, groot geluid, nul zorgen.

💪 Gewicht: 420 gram
🌊 Waterdicht: IP67
🔊 Vermogen: niet opgegeven
🔋 Speelduur: 14 uur

Denver BTG-615

Denver is misschien nog niet zo bekend als de grote merken, maar deze 15 Watt BTG-615 verrast zeker. Voor een speaker onder de 50 euro krijg je een stevig geluid en een leuke lichtshow dankzij de ingebouwde leds. Perfect voor feestjes in je woonkamer of buiten op het balkon. Hij is spatwaterdicht, dus een beetje regen overleeft-ie wel. De batterij gaat zo'n 5 uur mee - dat is wel een stuk minder dan de andere hier besproken modellen, maar in principe voldoende voor een middagje muziek. En met een handvat bovenop neem je hem zo mee. Geen poespas, gewoon een leuke speaker die doet wat je verwacht.

💪 Gewicht: 2 kg
🌊 Waterdicht: IPX5
🔊 RMS-Vermogen: 15 Watt
🔋 Speelduur: 5 uur

▼ Volgende artikel
SwitchBot introduceert nieuw slim deurslot met gezichtsherkenning en Hub 3
Zekerheid & gemak

SwitchBot introduceert nieuw slim deurslot met gezichtsherkenning en Hub 3

SwitchBot - bekend van onder meer automatische gordijnsystemen - heeft twee nieuwe producten aangekondigd die het smart home-aanbod van het bedrijf verder uitbreiden. Het gaat om de SwitchBot Lock Ultra Vision Combo en de SwitchBot Hub 3.

De SwitchBot Lock Ultra Vision Combo is volgens het bedrijf het eerste slimme deurslot dat achteraf geïnstalleerd kan worden en beschikt over 3D-gezichtsherkenning. Het systeem gebruikt meer dan 30.000 infraroodpunten om een gedetailleerde gezichtskaart te maken voor identificatie. De herkenning gebeurt binnen één seconde en is zeer veilig met een foutpercentage van minder dan 0,0001%. De gezichtskaarten worden lokaal opgeslagen met AES-128 encryptie.

Het deurslot biedt in totaal 18 verschillende manieren om de deur te openen, waaronder gezichtsherkenning, automatische ontgrendeling, NFC-kaarten, vingerafdrukherkenning, app-bediening en spraakcommando's. Het is ontworpen voor vrijwel universele compatibiliteit en past op 99,9% van de bestaande deursloten zonder dat er geboord of verbouwd hoeft te worden.

Met het FastUnlock-systeem zorgt het slot voor een snelle ontgrendeling door een permanente Bluetooth-verbinding met het Keypad Vision te onderhouden. De motor is 122,2% sneller en heeft 10,5% meer kracht dan de vorige versie, terwijl het geluidsniveau laag blijft met slechts 20 dB. Er zijn verschillende modi beschikbaar, waaronder een speciale Nachtmodus die zorgt voor een stillere werking tijdens de nachtelijke uren.

Het slot is voorzien van een driefasig batterijsysteem met een grote oplaadbare hoofdbatterij die tot 9 maanden meegaat, een back-up CR123A-batterij en een elektrolytisch noodontgrendelingssysteem voor situaties waarin de hoofdbatterij leeg is.

Naast de Lock Ultra Vision Combo heeft SwitchBot ook de Hub 3 gepresenteerd. Deze hub dient als centraal besturingspunt voor het slimme huis en ondersteunt Matter. De Hub 3 kan meer dan 100.000 infrarood-apparaten, streamingdiensten en andere SwitchBot-producten integreren. Het apparaat kan tot 30 programmeerbare commando's versturen om automatiseringsscenario's te activeren met Matter-compatibele producten van andere merken die al zijn geïntegreerd in Apple Home.

De Hub 3 heeft een Dial Master draaiknop voor de bediening van volume van verbonden apparaten zoals televisie en hifi, temperatuur en andere functies. Ook biedt het apparaat aanpasbare scèneknoppen en real-time monitoring van binnen- en buitenomgevingsgegevens. Het kan daarnaast aangepaste automatiseringsroutines maken die energiebesparend gedrag ondersteunen.

SwitchBot kondigt aan dat er binnenkort meer nieuwe producten onthuld zullen worden via hun YouTube-kanaal, waaronder de SwitchBot AI Hub, Smart Video Doorbell, K20+ Pro, Garage Door Opener, Plug Mini (EU), Safety Alarm, Smart Radiator Thermostat en een nieuwe lichtserie.

Beschikbaarheid en prijzen

De SwitchBot Lock Ultra Vision Combo is verkrijgbaar via de officiële website van SwitchBot en Amazon voor een adviesprijs van 299,99 euro. Er is ook een Lock Ultra Touch Combo beschikbaar voor een adviesprijs van 249,99 euro. De SwitchBot Hub 3 is vanaf nu verkrijgbaar voor een adviesprijs van 129,99 euro.


Bekijk andere SwitchBot-producten op Kieskeurig.nl: