Nextcloud installeren op een VPS

Geschreven door het ApexVPS-team • Laatst bijgewerkt: juli 2026 • 9 minuten leestijd

Deze nextcloud vps setup-handleiding leidt je door het hosten van je eigen privécloud — bestanden, agenda's, contacten en foto's — op een server die je volledig onder controle hebt. Nextcloud draaien op een VPS geeft je toegewijde resources, volledige root-toegang en geen abonnementskosten per gebruiker, zodat je gegevens van jou blijven. Hieronder vind je de vereisten, twee bewezen installatiemethoden (Docker Compose of een handmatige LAMP-stack), hoe je HTTPS met Let's Encrypt toevoegt, plus de tuning- en back-upstappen die de server snel en veilig houden. Elk commando is gericht op een verse Ubuntu- of Debian-server.

Waarom Nextcloud zelf hosten op een VPS?

Nextcloud is een open-sourceplatform dat Google Drive, Dropbox en een groot deel van een productiviteitssuite vervangt met software die je zelf draait. Een VPS is de natuurlijke thuisbasis: in tegenstelling tot gedeelde hosting krijg je root-toegang, een vast maandelijks bedrag en voorspelbare prestaties. Op een echt toegewijde VPS zijn er geen luidruchtige buren die concurreren om CPU, wat belangrijk is zodra meerdere mensen tegelijk bestanden synchroniseren. Als je overweegt welke diensten je zelf wilt draaien, vergelijkt ons overzicht over het kiezen van een VPS voor self-hosting de veelvoorkomende workloads en hoeveel ruimte elke workload nodig heeft.

Vereisten voordat je begint

Je hebt drie dingen nodig: een VPS met Ubuntu 22.04/24.04 of Debian 12, een domeinnaam waarvan je de DNS kunt bewerken, en SSH-toegang tot de server als gebruiker met sudo. Een domein is niet strikt nodig voor testen, maar zonder domein kun je geen vertrouwd TLS-certificaat uitgeven, dus behandel het als verplicht voor echt gebruik.

De juiste VPS-grootte kiezen

De grootte hangt af van hoeveel mensen de server gebruiken en of je media opslaat. Voor één gebruiker of een gezin dat documenten synchroniseert, is 2 vCPU en 4 GB RAM comfortabel. Zodra je de Photos-, Memories- of media-apps toevoegt, of meer dan een handvol actieve accounts gebruikt, stap dan over naar een Business-class plan of hoger — de extra RAM, snellere NVMe en uurlijkse snapshots maken het genereren van miniaturen en previews veel vloeiender. Je kunt de niveaus vergelijken op onze VPS-prijzenpagina; later opschalen is snel, dus het is prima om bescheiden te beginnen en te groeien.

Wijs je domein naar de server

Maak een A-record (en een AAAA-record als je IPv6 gebruikt) dat een hostnaam zoals cloud.example.com naar het publieke IP-adres van je server verwijst. DNS kan even nodig hebben om te propaganderen. Bevestig dat het resolveert voordat je een certificaat aanvraagt:

dig +short cloud.example.com

Pad 1 — Nextcloud met Docker Compose

Containers zijn de snelste manier om een schone, herhaalbare installatie te krijgen, en ze houden Nextcloud, de database en cache geïsoleerd van de rest van het systeem. Als containers nieuw voor je zijn, behandelt onze beginnershandleiding voor Docker op een VPS eerst de basis. Installeer Docker met het officiële handigheidsscript en voeg dan je gebruiker toe aan de docker-groep:

curl -fsSL https://get.docker.com | sh
sudo usermod -aG docker $USER
# log out and back in so the group change takes effect

Maak een projectmap en een compose.yaml dat Nextcloud met MariaDB en Redis gebruikt. De app is gebonden aan 127.0.0.1:8080, zodat hij alleen bereikbaar is via de reverse proxy die je later toevoegt, niet rechtstreeks vanaf internet:

mkdir ~/nextcloud && cd ~/nextcloud
nano compose.yaml
services:
  db:
    image: mariadb:10.11
    restart: always
    command: --transaction-isolation=READ-COMMITTED --log-bin=binlog --binlog-format=ROW
    volumes:
      - db:/var/lib/mysql
    environment:
      - MARIADB_ROOT_PASSWORD=change-this-root-password
      - MYSQL_PASSWORD=change-this-db-password
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextcloud

  redis:
    image: redis:alpine
    restart: always

  app:
    image: nextcloud:apache
    restart: always
    ports:
      - "127.0.0.1:8080:80"
    depends_on:
      - db
      - redis
    volumes:
      - nextcloud:/var/www/html
    environment:
      - MYSQL_HOST=db
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextcloud
      - MYSQL_PASSWORD=change-this-db-password
      - REDIS_HOST=redis

volumes:
  db:
  nextcloud:

Start de stack en controleer of alle drie de containers opstarten:

docker compose up -d
docker compose ps

Nextcloud luistert nu op localhost:8080. Ga verder naar het TLS-gedeelte om het veilig via HTTPS bloot te stellen.

Pad 2 — Handmatige installatie op een LAMP-stack

Als je de componenten liever zelf beheert, geeft een klassieke Linux-, Apache-, MariaDB- en PHP-installatie (LAMP) je volledige controle. Update het systeem en installeer de webserver, database en de PHP-extensies die Nextcloud verwacht:

sudo apt update && sudo apt upgrade -y
sudo apt install -y apache2 mariadb-server libapache2-mod-php unzip \
  php php-gd php-mysql php-curl php-mbstring php-intl php-xml \
  php-zip php-bcmath php-gmp php-imagick

Beveilig de database en maak dan een speciale database en gebruiker aan:

sudo mysql_secure_installation
sudo mysql -u root -p
CREATE DATABASE nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
CREATE USER 'nextcloud'@'localhost' IDENTIFIED BY 'change-this-db-password';
GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextcloud'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Download de nieuwste release naar de webroot en stel het eigenaarschap in zodat Apache erop kan schrijven:

cd /var/www
sudo wget https://download.nextcloud.com/server/releases/latest.zip
sudo unzip latest.zip
sudo chown -R www-data:www-data /var/www/nextcloud

Maak een Apache virtual host voor uw domein, activeer deze samen met de modules die Nextcloud nodig heeft, en herlaad:

sudo a2enmod rewrite headers env dir mime
sudo a2ensite nextcloud.conf
sudo systemctl reload apache2

Beveilig het met TLS (Let's Encrypt)

Draai Nextcloud nooit over onversleutelde HTTP — inloggegevens en bestanden zouden onversleuteld reizen. Certbot van het Let's Encrypt-project geeft een gratis, vertrouwd certificaat uit en vernieuwt het automatisch. Voor de handmatige Apache-installatie gebruikt u de Apache-plug-in:

sudo apt install -y certbot python3-certbot-apache
sudo certbot --apache -d cloud.example.com

Voor de Docker-route plaatst u Nginx ervoor als reverse proxy die doorstuurt naar 127.0.0.1:8080, en laat u Certbot het dan beveiligen:

sudo apt install -y nginx certbot python3-certbot-nginx
sudo certbot --nginx -d cloud.example.com

Certbot installeert een systemd-timer die certificaten vernieuwt voordat ze verlopen. U kunt bevestigen dat de verlenging werkt met een proefrun:

sudo certbot renew --dry-run

Eerste installatie

Open https://cloud.example.com in een browser. Maak op het installatiescherm uw beheerdersaccount aan en voer voor de handmatige installatie de databasenaam, gebruiker en het wachtwoord in die u eerder hebt aangemaakt (de Docker-image is al verbonden met zijn database, dus deze stap wordt overgeslagen). Voltooi de wizard en Nextcloud komt terecht op de Bestanden-weergave. Voeg onmiddellijk uw domein toe aan de lijst met trusted_domains als u een waarschuwing ziet — voor Docker betekent dat het bewerken van de config in de container:

docker compose exec -u www-data app \
  php occ config:system:set trusted_domains 1 --value=cloud.example.com

Bij de handmatige installatie wordt hetzelfde commando uitgevoerd vanuit de installatiemap met sudo -u www-data php /var/www/nextcloud/occ .... Het occ-commandoregeltool is vanaf nu uw belangrijkste beheerpunt.

Afstelling en achtergrondtaken

Een standaardinstallatie werkt, maar enkele aanpassingen maken echt verschil. Schakel achtergrondtaken om van AJAX naar system cron, zodat taken betrouwbaar worden uitgevoerd, zelfs wanneer niemand is ingelogd. Voeg bij de handmatige installatie een cron-regel toe voor de webgebruiker:

sudo crontab -u www-data -e
# add this line, then save:
*/5 * * * * php -f /var/www/nextcloud/cron.php

Stel daarna de optie "Cron" in via Beheer → Basisinstellingen. Andere nuttige aanpassingen: verhoog PHP memory_limit tot ten minste 512M, schakel Redis in voor bestandsvergrendeling en caching (al in het Compose-bestand hierboven opgenomen), en stel een onderhoudsvenster in zodat zware taken 's nachts draaien. Het uitvoeren van de ingebouwde controles helpt u om ontbrekende zaken op te sporen:

sudo -u www-data php /var/www/nextcloud/occ status
sudo -u www-data php /var/www/nextcloud/occ setupchecks

Back-ups die u echt kunt terugzetten

Uw VPS-snapshots zijn de eerste verdedigingslinie — dagelijkse back-ups op Starter Pro, uurlijkse snapshots op Business en Enterprise — maar een goede gewoonte is een aparte back-up op applicatieniveau die u bestand voor bestand kunt terugzetten. Zet Nextcloud in onderhoudsmodus, dump de database, archiveer de gegevensmap en schakel de onderhoudsmodus vervolgens uit:

sudo -u www-data php /var/www/nextcloud/occ maintenance:mode --on
mysqldump --single-transaction -u nextcloud -p nextcloud > nextcloud-db.sql
sudo tar -czf nextcloud-data.tar.gz /var/www/nextcloud/data
sudo -u www-data php /var/www/nextcloud/occ maintenance:mode --off

Voor de Docker-installatie voert u dezelfde occ-aanroepen uit via docker compose exec -u www-data app php occ ... en back-upt u de benoemde volumes. Bewaar ten minste één kopie buiten de server en test af en toe een terugzetting — een ongeteste back-up is slechts een hoop.

Blijven draaien

Werk Nextcloud bij via de ingebouwde updater of de webinterface kort na elke release, houd het besturingssysteem gepatcht met sudo apt upgrade, en controleer het paneel Beveiliging & setup-waarschuwingen in de beheeromgeving. Met DDoS-bescherming, privénetwerken en 24/7-bewaking aan de infrastructuurkant, en Let's Encrypt plus regelmatige updates aan de applicatiekant, is een self-hosted Nextcloud een echt betrouwbaar alternatief voor de grote cloudsystemen.

Veelgestelde vragen

Hoeveel RAM heeft een Nextcloud VPS-installatie nodig?

Voor één gebruiker of een gezin dat documenten synchroniseert, is 4 GB RAM en 2 vCPU ruim voldoende. Voeg foto- of videobibliotheken, voorbeeldgeneratie of meerdere actieve gebruikers toe en een Business-klasseplan met 8 GB RAM en snellere NVMe past beter. Enterprise voegt 16 GB en NVMe RAID toe voor grotere teams.

Moet ik de Docker- of de handmatige LAMP-installatie kiezen?

Kies Docker Compose als je een schone, herbruikbare stack wilt die eenvoudig te verplaatsen of opnieuw op te bouwen is, en kies het handmatige LAMP-pad als je Apache, PHP en MariaDB liever direct beheert. Beide worden volledig ondersteund op een VPS met root-toegang; het eindresultaat is dezelfde Nextcloud.

Is een self-hosted Nextcloud veilig?

Ja, indien correct geconfigureerd: serveer alles via HTTPS met een Let's Encrypt-certificaat, houd het besturingssysteem en Nextcloud up-to-date, gebruik sterke wachtwoorden met twee-factor-authenticatie en vertrouw op je VPS-back-ups. Omdat je het zelf host, heeft geen derde partij permanent toegang tot je bestanden.

Heb ik een domeinnaam nodig?

Zeker wel. Je kunt testen op een ruw IP-adres, maar een vertrouwd TLS-certificaat vereist een domein, en mobiele en desktop-synchronisatieclients verwachten een correcte HTTPS-hostnaam. Eén goedkope domeinnaam met een A-record dat naar je server wijst, volstaat.

Kan ik betalen zonder creditcard?

Ja. De checkout van ApexVPS is alleen via OxaPay met crypto, met Bitcoin, Ethereum, USDT en 30+ munten — geen creditcard of bankrekening nodig. Aanmelden vereist alleen een e-mailadres om je toegangsgegevens te sturen, plus optionele notities zoals een SSH-sleutel of favoriete besturingssysteem. Geen naam, adres of KYC vereist.

Klaar om je eigen cloud te hosten? Bekijk VPS-plannen voor self-hosting →