Nextcloud is een open-source cloudoplossing en een fork van ownCloud, opgericht in 2016 door de voormalige ownCloud-oprichter Frank Karlitschek. Met Nextcloud beheer je je eigen private cloud voor bestanden, agenda’s, contacten, chat en videogesprekken – volledig onder jouw eigen controle, in plaats van bij een externe aanbieder.
Om optimale prestaties, stabiliteit en functionaliteit te garanderen, raden wij de volgende setup aan voor het hosten van een Nextcloud-server. De Nextcloud-server is niet compatibel met Windows of macOS, althans niet zonder extra virtualisatie of vergelijkbare workarounds.
De volgende vereisten zijn gebaseerd op de officiële systeemvereisten van Nextcloud en onze eigen ervaringen. Als je niet aan deze voorwaarden voldoet, kunnen er problemen ontstaan.
| Componenten | Minimum | Aanbevolen |
|---|---|---|
| CPU | 1x 2 GHz | 4x 2+ GHz |
| RAM | 1 GB | 4+ GB |
| Opslag | 10 GB | 50+ GB (afhankelijk van de hoeveelheid opgeslagen data) |
| Bandbreedte | 100 Mbit/s (up & down) | 500 Mbit/s (up & down), aanbevolen bij meerdere gebruikers |
| Platform | Opties |
|---|---|
| Besturingssysteem | Ubuntu (22.04, 24.04), Debian (12, 13) |
| Database | MariaDB 10.11+ (aanbevolen), PostgreSQL 14+, MySQL 8.0+, SQLite (alleen voor tests en minimale installaties) |
| Webserver | Apache 2.4 met mod_php of php-fpm (aanbevolen), alternatief Nginx met php-fpm |
| PHP | 8.3, 8.4, 8.5 (aanbevolen) |
Voor de meest actuele vereisten, bekijk de officiële Nextcloud-documentatie – Nextcloud past regelmatig zijn PHP- en databasevereisten aan bij nieuwe major releases.
Voor de installatie van de cloud op een Linux-server moet je verbinding maken via een SSH-client. Als je niet zeker weet hoe SSH werkt, bekijk dan deze handleiding: Eerste toegang (SSH)
Zodra de verbinding staat, kun je de benodigde pakketten installeren die nodig zijn voor de Nextcloud-installatie. Dit omvat de installatie van een webserver en PHP met de door Nextcloud vereiste extensies (zoals gd, curl, mbstring, xml, zip, intl, bcmath, gmp, apcu).
Apache (webserver) en PHP
🗄️ Ubuntu 24.04 (levert PHP 8.3 direct mee):
sudo apt update && sudo apt -y upgrade
sudo apt -y install apache2 php php-cli php-fpm php-common php-mysql php-pgsql php-sqlite3 php-zip php-gd php-mbstring php-curl php-xml php-bcmath php-intl php-gmp php-imagick php-apcu
🗄️ Ubuntu 22.04 (standaard PHP is 8.1, te oud voor actuele Nextcloud-versies – daarom PPA nodig):
sudo apt update && sudo apt -y upgrade
sudo apt -y install apache2 software-properties-common
sudo add-apt-repository -y ppa:ondrej/php
sudo apt update
sudo apt -y install php8.3 php8.3-cli php8.3-fpm php8.3-common php8.3-mysql php8.3-pgsql php8.3-sqlite3 php8.3-zip php8.3-gd php8.3-mbstring php8.3-curl php8.3-xml php8.3-bcmath php8.3-intl php8.3-gmp php8.3-imagick php8.3-apcu
🗄️ Debian 13 „trixie" (levert PHP 8.3 direct mee):
sudo apt update && sudo apt -y upgrade
sudo apt -y install apache2 php php-cli php-fpm php-common php-mysql php-pgsql php-sqlite3 php-zip php-gd php-mbstring php-curl php-xml php-bcmath php-intl php-gmp php-imagick php-apcu
🗄️ Debian 12 „bookworm" (standaard PHP is 8.2, te oud voor actuele Nextcloud-versies – daarom derdepartij-repo nodig):
sudo apt update && sudo apt -y upgrade
sudo apt -y install apache2 lsb-release apt-transport-https ca-certificates wget
sudo wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/php.list
sudo apt update
sudo apt -y install php8.3 php8.3-cli php8.3-fpm php8.3-common php8.3-mysql php8.3-pgsql php8.3-sqlite3 php8.3-zip php8.3-gd php8.3-mbstring php8.3-curl php8.3-xml php8.3-bcmath php8.3-intl php8.3-gmp php8.3-imagick php8.3-apcu
PHP-versie controleren:
php -v
Nextcloud vereist memory_limit = 512M of hoger. Stel deze waarde in in de juiste php.ini (bijv. /etc/php/8.3/apache2/php.ini of /etc/php/8.3/fpm/php.ini) en herstart daarna Apache of PHP-FPM.
De volgende stap is het kiezen van een databasetype om de Nextcloud-data op te slaan. Kies een van de onderstaande opties en volg alleen de stappen voor jouw keuze.
Pakketinstallatie:
sudo apt-get install mariadb-server
Tijdens de installatie wordt je gevraagd een root-wachtwoord in te stellen. Als er geen wachtwoordprompt verschijnt, is het standaardwachtwoord leeg. Dit is onveilig en moet direct worden aangepast!
Vervolgens verbind je met de database-server en maak je de benodigde database aan:
mysql -u root -p
CREATE DATABASE nextcloud;
Daarna maak je een gebruiker aan die toegang krijgt tot de Nextcloud-database:
CREATE USER 'nc_user'@'localhost' IDENTIFIED BY 'JE_WACHTWOORD_HIER';
Sla deze stap niet over door de root-gebruiker te gebruiken. Dit is onveilig en brengt je data in gevaar!
Tot slot geef je de nieuwe gebruiker de juiste rechten:
GRANT ALL PRIVILEGES ON nextcloud.* TO 'nc_user'@'localhost';
FLUSH PRIVILEGES;
Als je klaar bent, kun je met exit de database verlaten en doorgaan met de volgende stappen.
Pakketinstallatie:
sudo apt-get install mysql-server
Tijdens de installatie wordt je gevraagd een root-wachtwoord in te stellen. Als er geen wachtwoordprompt verschijnt, is het standaardwachtwoord leeg. Dit is onveilig en moet direct worden aangepast!
Vervolgens verbind je met de database-server en maak je de benodigde database aan:
mysql -u root -p
CREATE DATABASE nextcloud;
Daarna maak je een gebruiker aan die toegang krijgt tot de Nextcloud-database:
CREATE USER 'nc_user'@'localhost' IDENTIFIED BY 'JE_WACHTWOORD_HIER';
Sla deze stap niet over door de root-gebruiker te gebruiken. Dit is onveilig en brengt je data in gevaar!
Tot slot geef je de nieuwe gebruiker de juiste rechten:
GRANT ALL PRIVILEGES ON nextcloud.* TO 'nc_user'@'localhost';
FLUSH PRIVILEGES;
Als je klaar bent, kun je met exit de database verlaten en doorgaan met de volgende stappen.
Pakketinstallatie:
sudo apt-get update
sudo apt-get install postgresql postgresql-contrib
Vervolgens verbind je met de database-server en maak je database en gebruiker aan:
sudo -u postgres psql
CREATE USER nc_user WITH ENCRYPTED PASSWORD 'JE_WACHTWOORD_HIER';
CREATE DATABASE nextcloud OWNER nc_user;
Sla deze stap niet over door de postgres-superuser te gebruiken voor Nextcloud zelf. Dit is onveilig en brengt je data in gevaar!
Als je klaar bent, kun je met \q de database verlaten. De PostgreSQL-verbindinggegevens vul je in de webinstaller in of direct in de config.php:
<?php
$CONFIG = array(
'dbtype' => 'pgsql',
'dbname' => 'nextcloud',
'dbuser' => 'nc_user',
'dbpassword' => 'JE_WACHTWOORD_HIER',
'dbhost' => 'localhost',
'dbtableprefix' => '',
);
SQLite is alleen geschikt voor testen of zeer kleine single-user installaties – voor productief multi-user gebruik raden de Nextcloud-ontwikkelaars dit expliciet af (onder andere vanwege het ontbreken van gelijktijdige toegang).
Pakketinstallatie:
sudo apt-get install sqlite3 php8.3-sqlite3
Nextcloud maakt het SQLite-databasebestand automatisch aan tijdens de installatie, handmatige databasecreatie is niet nodig. De configuratie in config.php ziet er zo uit:
<?php
$CONFIG = array(
'dbtype' => 'sqlite3',
'dbname' => 'nextcloud',
'dbtableprefix' => '',
);
