Nextcloud in­stal­le­ren op Debian is eenvoudig en kost slechts een paar stappen. U stelt de daad­wer­ke­lij­ke cloud­op­los­sing in, die wordt beschermd door ver­schil­len­de be­vei­li­gings­me­cha­nis­men.

Nextcloud voor Debian

Nextcloud is een aan­be­vo­len gratis cloud computing-oplossing die tal van opties biedt voor zowel privé- als com­mer­ci­eel gebruik. Tot de voordelen van de software behoren krachtige be­vei­li­gings­func­ties voor ge­ge­vens­be­scher­ming, zoals SSL/TLS-encryptie, twee­f­ac­to­r­au­then­ti­ca­tie en GDPR-com­pli­an­ce, evenals de keuze tussen lokale pri­vé­ser­vers of uit­be­ste­de host-servers. Net als veel Nextcloud-al­ter­na­tie­ven on­der­steunt de OwnCloud-fork alle gangbare be­stu­rings­sys­te­men en biedt het een een­vou­di­ge in­te­gra­tie van talrijke diensten.

Hier leggen we stap voor stap uit hoe u Nextcloud op Debian 12 kunt in­stal­le­ren. Hiervoor in­stal­leert u een Apache2-webserver, een MariaDB-server en PHP 8.2. Om vei­lig­heids­re­de­nen laten we u zien hoe u een Un­com­pli­ca­ted Firewall (UFW) en de benodigde SSL/TLS-cer­ti­fi­ca­ten kunt instellen.

Aan welke vereisten moet worden voldaan?

Er zijn slechts een paar vereisten om Nextcloud op Debian 12 te in­stal­le­ren. Je hebt een server nodig waarop Debian 12 is ge­ïn­stal­leerd. Hiervoor zijn minimaal 4 gigabyte RAM en twee CPU’s nodig. Het is ook be­lang­rijk dat je niet-root­ge­brui­ker­stoe­gang met be­heer­ders­rech­ten hebt en een do­mein­naam instelt die naar het IP-adres van de server kan verwijzen.

In­stal­leer Apache2-webserver

In­stal­leer eerst een Apache2-webserver. Om dit te doen, werkt u de Debian-pak­ket­in­dex bij om de nieuwste versie te down­lo­a­den. U kunt hiervoor het commando apt update gebruiken:

sudo apt update
bash

Voer nu de in­stal­la­tie van het nieuwste Apache2-pakket uit met behulp van het volgende commando:

sudo apt install apache2
bash

Bevestig de in­stal­la­tie met [y] en druk op [Enter] om de in­stal­la­tie te starten.

Con­tro­leer na de in­stal­la­tie de status van de service met behulp van de volgende systemctl-op­drach­ten:

sudo systemctl is-enabled apache2
sudo systemctl status apache2
bash

Met het eerste commando zou de service au­to­ma­tisch moeten starten wanneer u het systeem opstart. De status ‘actief’ geeft aan dat Apache2 klaar is voor gebruik.

Firewall in­stal­le­ren

Bescherm uw systeem en uw gegevens met een firewall. Wij raden de Un­com­pli­ca­ted Firewall (UFW) aan. Om deze als standaard in te stellen, opent u poorten voor OpenSSH, HTTP en HTTPS. In­stal­leer nu het UFW-pakket met de volgende opdracht:

sudo apt install ufw
bash

Bevestig met [y] en voltooi de in­stal­la­tie met [Enter]. Activeer ver­vol­gens OpenSSH en UFW met:

sudo ufw allow OpenSSH
sudo ufw enable
bash

Bevestig met [y] om UFW te starten. Er ver­schijnt nu een bericht dat de firewall actief is en bij het opstarten van het systeem wordt in­ge­scha­keld. Voeg ver­vol­gens de HTTP- en HTTPS-poorten toe voor gebruik door de webserver. Voer hiervoor de volgende opdracht uit:

sudo ufw allow "WWW Full"
bash

Laad UFW opnieuw:

sudo ufw reload
bash

Om ge­ac­ti­veer­de regels te bekijken, start u de status van UFW. WWW Full moet hier ge­ac­ti­veerd zijn.

sudo ufw status
bash

PHP 8.2 activeren

Voor de best mogelijke pres­ta­ties en maximale com­pa­ti­bi­li­teit raadt Nextcloud PHP 8.2 aan. Dit is standaard opgenomen in Debian 12, dus u hoeft alleen de benodigde pakketten te in­stal­le­ren. Het bij­be­ho­ren­de commando is:

sudo apt install -y php php-curl php-cli php-mysql php-gd php-common php-xml php-json php-intl php-pear php-imagick php-dev php-common php-mbstring php-zip php-soap php-bz2 php-bcmath php-gmp php-apcu libmagickcore-dev
bash

Bevestig met [y] en [Enter]. Con­tro­leer de PHP-versie en activeer de extensies:

php --version
php -m
bash

Start nu het PHP-con­fi­gu­ra­tie­be­stand met de nano-editor:

sudo nano /etc/php/8.2/apache2/php.ini
bash

U kunt nu wij­zi­gin­gen aan­bren­gen en de con­fi­gu­ra­tie aanpassen aan uw behoeften. Af­han­ke­lijk van hoe u Nextcloud op Debian 12 wilt gebruiken, kunnen andere waarden worden aan­be­vo­len. Wijzig in dat geval de in­stel­lin­gen dien­over­een­kom­stig. De commando’s zien er als volgt uit.

Stel de tijdzone in:

data.timezone = Europe/Amsterdam
bash

Wijzig de pa­ra­me­ters voor memory_limit, upload_max_filesize, post-max_size en max_execution_time:

memory_limit = 512M
upload_max_filesize = 500M
post_max_size = 600M
max_execution_time = 300
bash

Activeer nu file_uploads en allow_url_fopen. In beide gevallen moet de waarde worden ingesteld op ‘On’:

file_uploads = On
allow_url_fopen = On
bash

De­ac­ti­veer display_errors en output_buffering en stel de res­pec­tie­ve­lij­ke waarden in op ‘Off’:

display_errors = Off
output_buffering = Off
bash

Activeer PHP OPCache met behulp van het volgende commando:

zend_extension=opcache
bash

Plak de con­fi­gu­ra­tie in het opcache-gedeelte dat door Nextcloud wordt aan­be­vo­len voor Debian 12:

opcache.enable = 1
opcache.interned_strings_buffer = 8
opcache.max_accelerated_files = 10000
opcache.memory_consumption = 128
opcache.save_comments = 1
opcache.revalidate_freq = 1
bash

Sla ten slotte het bestand op en sluit de nano-editor af. Start nu de Apache2-service opnieuw op:

sudo systemctl restart apache2
bash

MariaDB-server instellen

Nextcloud gebruikt een MariaDB-server als database. In­stal­leer deze met het volgende commando:

sudo apt install mariadb-server
bash

Bevestig met [y] en [Enter]. Na een suc­ces­vol­le in­stal­la­tie voert u het volgende in:

sudo systemctl is-enabled mariadb
sudo systemctl status mariadb
bash

Als de server soepel draait, beveilig dan het systeem. Gebruik de volgende opdracht om een root-wacht­woord aan te maken, anonieme ge­brui­kers te ver­wij­de­ren en de test­da­ta­ba­se te ver­wij­de­ren:

sudo mariadb-secure-installation
bash

Pas de in­stel­lin­gen aan door op [y] te drukken om te ac­cep­te­ren en op [n] om te weigeren.

Database en ge­brui­kers aanmaken

Nu kunt u een nieuwe database en de bij­be­ho­ren­de gebruiker aanmaken. Om in te loggen op de MariaDB-server, gebruikt u de volgende opdracht en voert u uw root-wacht­woord in:

sudo mariadb -u root -p
bash

Gebruik de volgende commando’s om een nieuwe database, een gebruiker en het bij­be­ho­ren­de wacht­woord aan te maken:

CREATE DATABASE nextcloud_db;
CREATE USER nextclouduser@localhost IDENTIFIED BY 'yourPassword';
GRANT ALL PRIVILEGES ON nextcloud_db.* TO nextclouduser@localhost;
FLUSH PRIVILEGES;
bash

Vervang ‘your­Pass­word’ door een sterk wacht­woord naar keuze. Con­tro­leer ten slotte of ‘next­clou­du­ser’ toegang heeft tot de database ‘nextcloud_db’:

SHOW GRANTS FOR nextclouduser@localhost;
bash

Download huidige broncodes

Download de huidige broncodes om Nextcloud op Debian 12 te kunnen gebruiken:

sudo apt install curl unzip -y
bash

Ga naar de map /var/www en download de nieuwste broncode:

cd /var/www/
curl -o nextcloud.zip https://download.nextcloud.com/server/releases/latest.zip
bash

Pak het bestand uit en wijzig de eigenaar van de map onder www-data:

unzip nextcloud.zip
sudo chown -R www-data:www-data nextcloud
bash

Apache2-host con­fi­gu­re­ren

Con­fi­gu­reer nu een virtuele Apache2-host. Gebruik deze nano-opdracht:

sudo nano /etc/apache2/sites-available/nextcloud.conf
bash

Pas de do­mein­naam en de pa­ra­me­ters ErrorLog en CustomLog aan. Vervang de tij­de­lij­ke aan­dui­ding ‘voorbeeld’ door uw do­mein­naam.

<VirtualHost *:80>
    ServerName nextcloud.example.io
    DocumentRoot /var/www/nextcloud/
    # log files
    ErrorLog /var/log/apache2/files.example.io-error.log
    CustomLog /var/log/apache2/files.example.io-access.log combined
    <Directory /var/www/nextcloud/>
        Options +FollowSymlinks
        AllowOverride All
        <IfModule mod_dav.c>
            Dav off
        </IfModule>
        SetEnv HOME /var/www/nextcloud
        SetEnv HTTP_HOME /var/www/nextcloud
    </Directory>
</VirtualHost>
bash

Sla de wij­zi­gin­gen op en sluit de editor. Activeer ver­vol­gens de con­fi­gu­ra­tie met behulp van het volgende commando:

sudo a2ensite nextcloud.conf
sudo apachectl configtest
bash

Wanneer u de uitvoer ‘Syntax OK’ ontvangt, start u Apache2 opnieuw op en past u de con­fi­gu­ra­tie van de host hierop toe:

sudo systemctl restart apache2
bash

Be­vei­li­ging met SSL/TLS

U kunt Nextcloud nu op Debian 12 gebruiken via een on­be­vei­ligd HTTP-protocol. Het wordt aan­be­vo­len om HTTPS in te stellen om uw gegevens te be­scher­men. Selecteer hiervoor:

sudo apt install certbot python3-certbot-apache
bash

Genereer een SSL-cer­ti­fi­caat door de plaats­hou­der ‘voorbeeld’ opnieuw te vervangen door uw do­mein­naam:

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email user@example.io -d nextcloud.example.io
bash

Voltooi de in­stal­la­tie van Nextcloud op Debian 12

U kunt nu de in­stal­la­tie van Nextcloud op Debian 12 voltooien. Open hiervoor uw web­brow­ser en voer de do­mein­naam van uw Nextcloud-in­stal­la­tie in. Voer een ge­brui­kers­naam en uw wacht­woord in om een beheerder aan te maken. Voer ver­vol­gens de naam van uw database, de ge­brui­kers­naam en het wacht­woord in en klik op ‘In­stal­le­ren’. U kunt enkele com­pa­ti­be­le apps down­lo­a­den of dit voorlopig overslaan. U wordt door­ge­stuurd naar uw dashboard en kunt nu Nextcloud gebruiken.

Ga naar hoofdmenu