}
abonneren

Nextcloud installeren op nas voor persoonlijke cloud

Door je eigen online opslagdienst te hosten, kun je van de voordelen van de cloud profiteren, terwijl je de volledige controle over je data houdt. We leggen daarom uit hoe je Nextcloud installeren kunt op een nas.

Bekende projecten voor persoonlijke clouds zijn ownCloud en Nextcloud. Beide worden vaak in één adem genoemd omdat deze laatste in 2016 als spin-off werd uitgebracht van de opensource-versie van ownCloud. Beide tools vertonen trouwens nog steeds grote overeenkomsten, onder meer op het gebied van het opslaan en delen van bestanden. De verschillen worden duidelijker waar het beveiligingsfuncties en allerlei extra opties betreft.

Waar onderdelen als ‘full text search’ of bestandstoegangscontrole in ownCloud alleen beschikbaar zijn voor betalende klanten, kent Nextcloud zulke restricties niet. Immers, Nextcloud gebruikt dezelfde publieke codebase voor de gratis en betaalde edities. Het ziet er steeds meer naar uit dat Nextcloud de sterkste troeven in handen heeft, zeker voor niet-betalende gebruikers. Dat verklaart meteen waarom we graag met deze tool aan de slag gaan.

Nextcloud gratis proberen

Probeer je Nextcloud liever eerst even uit, dan kun je terecht bij een online demo. Ga naar try.nextcloud.com en klik op Take me there!. Meld je aan met de gegenereerde gebruikersnaam en het wachtwoord demo. Klik op je profielfoto en kies Settings / Personal info indien de interface niet in de gewenste taal verschijnt – ook Nederlands is beschikbaar.

Een meer permanent alternatief is een gratis account bij een Nextcloud-provider. Ga naar nextcloud.com/install en kies Sign up with a provider. Klik op change provider en kies een provider uit, zoals het Nederlandse The Good Cloud. Na je aanmelding en bevestiging kun je aan de slag.

Nextcloud downloaden en installeren

Wil je echt helemaal zelf aan de slag, ga dan terug naar nextcloud.com/install. Hier kun je namelijk ook terecht voor het zelf downloaden en installeren van de Nextcloud-server, evenals voor de desktopclient (Windows, macOS en Linux) en de mobiele apps (Android en iOS).

De link Download for server brengt je naar diverse opties. Op het tabblad Web Installer vind je de bijbehorende instructies en downloads voor shared hosts. Op het tabblad Appliances staan diverse virtuele machines en Docker-images, maar wij zijn het meest geïnteresseerd in het tabblad Archive File. Klik hier op Download Nextcloud om het zip-bestand met de meest recente versie van de Nextcloud-server tijdelijk op je pc op te slaan.

Het zip-bestand voor de server heb je nu, maar dat moet je wel nog op je nas krijgen. Daar zijn wat voorbereidingen voor nodig. In deze masterclass nemen we een eenvoudige nas als voorbeeld. Met ‘eenvoudig’ bedoel we vooral: zonder virtualisatie-ondersteuning. Beschik je over een model dat hier wel mee overweg kan, dan kun je Nextcloud in principe ook als virtuele machine importeren.

Wij gaan voor een ‘klassieke’ installatie en doen dat op een (iets oudere) Synology-nas met DSM 6.2.2. Ga allereerst na of alle benodigde pakketten geïnstalleerd en up-to-date zijn. Meld je aan bij de webinterface van je nas en open het Package Center. Het is de bedoeling dat de volgende pakketten op je nas staan, bij voorkeur minimaal met de vermelde versienummers: Web Station 2.1.8, Apache HTTP Server 2.4, PHP 7.3, phpMyAdmin 4.9.2 en MariaDB 10.3.

Deze laatste is een opensource-databasebeheersysteem (rdbms) en een vork van MySQL. Standaard wordt die zonder wachtwoord geïnstalleerd en dat wil je om veiligheidsredenen echt wijzigen. Open dus MariaDB 10 en klik op root-wachtwoord resetten. Vul een wachtwoord in (minimaal 10 tekens) en bevestig met OK. Noteer hier tevens het standaard poortnummer waarop MariaDB luistert: 3307.

Host-setup en port-forwarding

We gaan eerst de host opzetten waarbij we zowel Apache als PHP instellen. Open hiervoor Web Station en ga naar het tabblad Algemene instellingen. Bij HTTP back-endserver selecteer je Apache HTTP Server 2.4 en bij PHP kies je Default Profile (PHP 7.3).

Als je dat wenst, kun je hier ook een virtuele host opzetten. Open in dit geval de rubriek Virtuele host, klik op Maken, vul de hostnaam in en laat het vinkje bij Poort 80/443 staan. Via de knop Bladeren verwijs je naar de Documenthoofdmap. Een optimale locatie hiervoor is de map nextcloud, direct onder de map web. Wat verder op deze pagina lees je hoe je zo’n map maakt. Ook hier stel je Apache 2.4 in als HTTP back-endserver en PHP 7.3 voor PHP. Bevestig met OK.

Wij richten zelf echter geen virtuele host in en klikken gewoon op Toepassen. We kunnen onze Nextcloud-installatie overigens ook altijd nog bereiken via de QuickConnect-functie van Synology (open het Configuratiescherm van je nas, kies QuickConnect en volg de verdere instructies).

Om de Nextcloud-server op je nas ook van buiten bereikbaar te maken, zul je wellicht enkele poorten moeten doorlussen op je nat-router. Meld je via de webinterface aan bij je router en ga op zoek naar een rubriek als Portforwarding – op onze eigen router bijvoorbeeld zit die wat dieper verscholen, bij Beveiliging / Toepassingen en games / Een enkele poort doorsturen. Raadpleeg desnoods de handleiding van je router of zoek de instructies voor jouw routermodel op via portforward.com/router.

Het is de bedoeling dat je doorstuurregels maakt voor poort 80 en poort 443, telkens zowel extern als intern, en voor beide protocollen (tcp en udp). Bevestig je wijzigingen.

Eventueel moet je ook een dynamisch dns-service gebruiken, zoals de gratis dienst van Dynu om je server altijd bereikbaar te maken, ook na een mogelijke verandering van het externe ip-adres van je netwerk.

PHP-instellingen en extensies

Je gaat nu eerst een map maken voor de bijbehorende databestanden aangezien je die beter gescheiden houdt van de eigenlijke Nextcloud-installatie. Open hiervoor het Hoofdmenu in de Synology-webinterface en kies File Station. Navigeer via het linkermenu naar de map homes en open vervolgens je persoonlijke map. Klik op Maken en maak hier een submap, die je bijvoorbeeld de naam nextcloud geeft.

Open nu het Web Station. Ga naar PHP-instellingen, selecteer PHP 7.3 en klik op Bewerken. Plaats een vinkje bij PHP cache inschakelen en bij PHP open_basedir aanpassen. Klik in het veld bij open_basedir en voeg achteraan, na homes de tekststring :/<pad_naar_je_datamap> toe.

Onderaan het venster zie je ook een hele reeks extensies. Op onze nas konden wij een vinkje plaatsen bij bz2, curl, gd, iconv, mysqli, openssl, pdo_mysql, posix en zip. Verder moet je hier nog enkele instellingen wijzigen op het tabblad Core. Belangrijk is mysql.default_port, dat je (althans met MariaDB 10) dient in te stellen op 3307 - en dus niet op 3306, zoals wel nog het geval is bij MariaDB 5.

De waarde van memory_limit stel je in op 521M in plaats van de standaard 128M. Tot slot doe je er goed aan enkele opcache-waarden te controleren en zo nodig aan te passen. Bevestig je wijzigingen met OK.

Verder met installeren

Ongeveer alles is nu in gereedheid gebracht voor de volgende grote stap: de eigenlijke installatie van de Nextcloud-server. Het zip-bestand van de server had je al op je pc gezet en het is uiteraard de bedoeling dat je dat kopieert en uitpakt naar je nas. Dat kan vanuit het File Station waar je alvast de map web opent. Via de knop Uploaden haal je het zip-bestand op van je pc zodat het in de web-map belandt. Klik met rechts op het zip-bestand en kies Uitpakken / Hier uitpakken.

Na afloop moet je eerst nog een hele reeks machtigingen correct instellen. Dat doe je via een ssh-connectie vanaf je pc. Een degelijke ssh-client is het gratis PuTTY. Download en installeer het juiste 32- of 64bit-msi-bestand en start PuTTY op.

Selecteer SSH en vul bij Host Name (or IP address) de tekst admin@<nasnaam-of-nas-ip-adres> in – bij ons is dat bijvoorbeeld admin@nas2 of admin@192.168.0.200. Het Poort-nummer laat je op 22 ingesteld. Bevestig met Open en vul het admin-wachtwoord van je nas in. Als het goed is, vind je even later de prompt terug en kun je aan de slag.

Om de nodige commando’s vlot uit te kunnen voeren, voer je nu eerst het commando sudo su uit, weer gevolgd door je admin-wachtwoord. Wanneer je nu whoami uitvoert, zul je merken dat je als root (en niet langer als admin) bent aangemeld.

Machtigingen aanwijzen

Voer nu het volgende commando uit:

chown -Rv http:http /volume1/web/nextcloud/

Zo nodig moet je wel nog het pad (/volume1/web/nextcloud/) aanpassen aan je eigen situatie. Het commando chown zorgt ervoor dat het eigenaarschap wordt gewijzigd (Change OWNership) van de betreffende map en recursief (R) ook van alle onderliggende mappen en bestanden. Specifieker: de gebruiker en groep ‘http’ wordt nu de eigenaar. Met de parameter v (verbose) rolt de hele uitvoer ook over je scherm.

Het bovenstaande commando zorgt er dus normaliter ook voor dat de onderliggende mappen, met name /apps/, /config/ en /themes/ van eigenaar verwisselen en dat is inderdaad ook de bedoeling. Ga voor alle zekerheid even na of ook het bestand .htaccess in de map /web/nextcloud van eigenaar is veranderd: dat kan met een commando als:

ls -la /volume1/web/nextcloud

Ook het eigenaarschap van de eerder aangemaakte datamap moet je nog even aanpassen. In ons voorbeeld wordt dat:

chown -Rv http:http /volume1/homes/toon/nextcloud/

Dan de volgende commando’s:

find /volume1/web/nextcloud/ -type d -print0 | xargs -0 chmod -v 750 find /volume1/web/nextcloud/ -type f -print0 | xargs -0 chmod -v 640

Beide opdrachtregels zoeken naar respectievelijk mappen (d = directories) en bestanden (f = files) in de opgegeven map en sturen (via de pipe, |) dan de uitvoer door naar het xargs-commando. Dit voert voor alle betrokken bestanden of mappen uit wat erop volgt: chmod 750 (de eigenaar/gebruiker kan alles; de groep kan niet schrijven) dan wel chmod 640 (de eigenaar/gebruiker kan niet uitvoeren; de groep kan alleen lezen).

Eventueel kun je het eerst proberen met het meer genereuze chmod 777 en de permissies naderhand wat terugschroeven wanneer blijkt dat alles werkt.

Serverconfiguratie

Je bent bijna aan het einde van de hele installatie, maar er komt nog een cruciaal moment. Open je browser en ga naar je Nextcloud-server (bijvoorbeeld met http://<ip-adres-nas>/nextcloud). Er verschijnt nu eerst een configuratiepagina van Nextcloud. Vul hier een gebruikersnaam en wachtwoord in, evenals het pad naar je gegevensmap (in ons voorbeeld: /volume1/homes/toon/nextcloud).

Voor de MySQL-database vul je bij gebruiker root in en tevens het wachtwoord dat je eerder in MariaDB had ingevuld. Geef een naam (zonder spaties) aan je database, bijvoorbeeld nextcloud. Als ip-adres vul je 127.0.0.1:3307 in. Je wilt wellicht het vinkje laten staan bij Installeer aanbevolen apps (Calendar, Contacts, Talk, Mail & OnlyOffice). Bevestig je keuzes met Installatie afronden.

Als het goed is, kun je je nu met het zojuist gemaakte account bij Nextcloud aanmelden en verschijnt de beheeromgeving na enkele welkomstschermen met nuttige tips en links.

Heb je alle configuratiestappen uit dit artikel goed uitgevoerd en klaagt Nextcloud er toch over dat hij niet met de database kan verbinden, probeer het dan door de module Apache 2.4 te herstarten vanuit het Synology-Package Center (klik hier op Stop en vervolgens op Uitvoeren) en meld je opnieuw aan. Op het internet lees je weleens dat je bij hardnekkige problemen kunt proberen door ook MariaDB 5 te installeren en poort 3306 te selecteren. Het is maar dat je het weet.

Certificaat toevoegen en gebruikers toewijzen

Op dit moment verbinden we ons nog via het onveilige http met onze Nextcloud-server en er valt natuurlijk veel voor te zeggen om dat via https (ssl) te doen, althans wanneer je de server ook van buitenaf wilt kunnen bereiken. Je kunt daarvoor Let’s Encrypt inzetten, de meeste nas’en ondersteunen die dienst zodat je met gratis ssl-certificaten aan de slag kunt. Bij Synology vind je deze functie via Configuratiescherm / Beveiliging / tabblad Certificaat / Toevoegen. Verder kun je https afdwingen via het .htaccess-bestand in je Nextcloud-installatiemap.

Je bent intussen als beheerder op het gebruiksvriendelijke dashboard van je Nextcloud-server beland. We focussen ons op enkele nuttige handelingen, zoals het toevoegen van gebruikers. Klik daarvoor op je accountpictogram rechtsboven en kies Gebruikers. Je kunt ook met groepen werken, maar we houden het hier eenvoudig. Klik op +Nieuwe gebruiker en vul een gebruikersnaam, wachtwoord en e-mailadres in.

Klik op Standaard quota en kies zo nodig voor een andere optie, zoals Ongelimiteerd, 1 GB of 5 GB. Bevestig door op het vinkje te klikken. Je bepaalt zelf hoeveel het standaardquotum bedraagt. Klik linksonder op het tandwielpictogram en vul de gewenste hoeveelheid in bij Standaardquota.

Nextcloud-apps

Nextcloud mag dan op de eerste plaats een tool zijn voor het opslaan en delen van bestanden, er is nog heel wat meer mogelijk. Er zijn tientallen apps beschikbaar die zich moeiteloos laten integreren. Je vindt die op apps.nextcloud.com, inclusief beoordelingen, maar je kunt ze ook vanuit het dashboard bereiken.

Klik op je account-pictogram en kies Apps. Links vind je een hele reeks thematische rubrieken, waaronder Spelen, Monitoren, Multimedia, Office & tekst, Beveiliging, Sociaal & communicatie enzovoort. In principe hoef je bij een gewenste app weinig meer te doen dan te klikken op Downloaden en inschakelen. Let wel, apps met de melding Inschakelen niet-geteste apps functioneren mogelijk niet of niet helemaal correct op jouw Nextcloud-versie. Inschakelde apps laten zich met een druk op de knop ook weer netjes Uitschakelen, en vind je verzameld in de rubriek Ingeschakelde apps. Wanneer je sommige apps hier aanklikt, kun je via een vinkje bij Beperk tot groepen ook aangeven dat je die alleen door sommige gebruikersgroepen wilt laten gebruiken.

Een voorbeeld: na het inschakelen van de app Forms vonden we bovenaan de knop Formulieren terug en konden we meteen formulieren maken, met keuze uit diverse antwoordtypes evenals de mogelijkheid om een vervaldatum te voorzien.

Wil je snel alle aspecten van Nextcloud onder de knie krijgen, raadpleeg dan zeker de documentatie en handleidingen op docs.nextcloud.com. Je leest hier bijvoorbeeld ook hoe je Nextcloud beter kunt beveiligen via tweefactorverificatie.

Client-apps

Nextcloud laat zich probleemloos vanuit een browser benaderen, maar er zijn natuurlijk ook specifieke client-apps. Zoals aangegeven kun je die ook downloaden via nextcloud.com/install. We stellen je tenslotte heel kort een desktop-app en mobiele app voor.

Voor de desktop-app gaan we hier uit van de Windows-versie. Al tijdens de installatie kun je aangeven of je integratie binnen Windows Verkenner wilt. Bij de eerste opstart, klik je op Aanmelden en vul je het serveradres in. Na een succesvolle koppeling verschijnt een configuratievenster waarin je aangeeft wat je precies wilt synchroniseren vanaf de server (dat kan ook een Selectieve synchronisatie zijn) en met welke lokale map je wilt synchroniseren. Na je bevestiging met Connect kan de synchronisatie starten.

Wat de mobiele apps betreft bekijken we heel even de Android-variant, die tevens in de Google Play Store beschikbaar is. Ook hier tik je eerst op Inloggen en vul je het serveradres in. Bij een succesvolle verbinding tik je nogmaals op Inloggen en meld je je met je gebruikersnaam en wachtwoord aan. Bevestig met Verleen toegang. Even later duikt dan de bestandsstructuur van je Nextcloud-data op. Via het menu kun je andere opties kiezen, zoals Foto’s, Gedeeld, Activiteiten enzovoort, maar ook Accounts beheren.

Geschreven door: Toon van Daele op

Category: Workshop, Online opslag

Tags: netwerk, Cloud, Nas, nextcloud

Laatste Vacatures

Uitgelicht: Java Developer - CGI