NextCloud installeren

Installeer NextCloud

Download het zip-archief van de NextCloud-server naar je server. Op het moment van schrijven gaan we voor de laatste versie dat is 24.0.1:
wget https://download.nextcloud.com/server/releases/latest.zip

Check of unzip in geinstalleerd. Wanneer niet installeer dan unzip utility:
sudo apt install unzip

Nu kan je NextCloud uitpakken door:
unzip latest.zip

Na het uitpakken tref je een nieuwe map ‘nextcloud’ aan in /home/currentuser. Verplaats de nieuwe map en alle bijbehorende inhoud naar de document root van de Apache-server.

sudo mv nextcloud /var/www/

Standaard staat de datamap in de map /var/www/nextcloud wat niet altijd raadzaam is. Mogelijk is het beter de gegevensdirectory te plaatsen op een grotere harde schijf in het systeem. Voor Hover is de harddisk gemount in de /media directory met als naam d1. Wanneer nodig maken we een datadirectory voor NextCloud aan:

sudo md /media/d1/nextcloud

Corrigeer de rechten van de aangemaakte directory’s:

sudo chown www-data:www-data /var/www/nextcloud/ -R
sudo chown www-data:www-data /media/d1/nextcloud/ -R

Wanneer je een SSD als systeemdrive gebruikt die voldoende groot is dan kan je besluiten de data directory voor NextCloud te behouden.

Creeër een Apache Virtual Host File voor NextCloud

Nu maken we een nextcloud.conf aan in de /etc/apache2/sites-available directory:

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

Kopieer en plak de volgende regels in het bestand. Vervang locaties en namen als dat nodig is. Let op dat de servernaam de naam van de site is waar NextCloud naar verwezen wordt.

<VirtualHost *:80>
DocumentRoot /var/www/nextcloud
ServerName yourdomain.com
ServerAlias www.yourdomain.com

ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined

<Directory /var/www/nextcloud/>
Require all granted
AllowOverride All
Options FollowSymLinks MultiViews

<IfModule mod_dav.c>
Dav off
</IfModule>

SetEnv HOME /var/www/nextcloud
SetEnv HTTP_HOME /var/www/nextcloud
Satisfy Any
</Directory>
</VirtualHost>

Sla het bestand op. Maak de nieuwe site op je server bekend aan Apache2:

sudo a2ensite nextcloud.conf

Enable de volgende Apache modules. Je zal er verschillende vinden die al zijn aangezet, dit is om zeker te weten dat ze aan staan:

sudo a2enmod rewrite
sudo a2enmod headers
sudo a2enmod env
sudo a2enmod dir
sudo a2enmod mime
sudo a2enmod setenvif
sudo a2enmod ssl
sudo a2ensite default-ssl

Set the ‘ServerName’ directive globally, open file:

sudo nano /etc/apache2/conf-available/servername.conf

Zet de naam van de server die gegeven is tijdens de installatie van Ubuntu in het bestand:

ServerName naamvandeserver

Bewaar het bestand. Configureer de naam in Apache:

sudo a2enconf servername.conf

Restart Apache so the Apache and PHP modules are reloaded:

sudo systemctl restart apache2

Controleer de configuratie:

sudo apache2ctl -t

Het resultaat zou moeten zijn: “Syntax OK”. Is dit niet het geval controleer dan de voorgaande stappen op fouten. Vervolg de installatie van NextCloud in de webbrowser.Nu kan in je webbrowser type je het ip adres in van je server in. Bijvoorbeeld:

http://192.168.1.150

Als het goed is start een dialoog in je webbrowser. Lukt het niet dan kan het helpen om de default website uit te zetten met:

sudo a2dissite 000-default.conf

en opnieuw te proberen met het ip adres in te loggen op de nieuwe site. Beantwoord de vragen en invulvelden. Let daar bij er op dat de datadirectory wordt aangegeven die eerder is aangemaakt.

Wanneer je het inlog scherm van NextCloud op je scherm ziet dien je een gebruikersnaam en wachtwoord voor het admin account in te vullen. Reken er op dat de server vaak zal worden aangevallen vanuit het internet en gebruik een lastige naam en een zeer sterk wachtwoord voor het admin account.

Vervolgens geef je de locatie van de data directory op. Dan moet je de aangemaakte gebruiker en wachtwoord van de nextcloud database binnen MariaDB op te geven. Vervolgens kan je NextCloud op je server installeren.

Configureer ‘vertrouwde domeinen binnen NextCloud’

Om ‘Host header poisening’ te voorkomen dienen de domeinen waar NextCloud mee werkt worden aangegeven in de configuratie:

sudo nano /var/www/nextcloud/config/config.php

NextCloud accepteert alleen logins van de hier ingestelde domeinen. Denk daarbij ook aan de ip adressen van je provider aansluiting en het ip adres van je server. Pas de domeinen in het volgende gedeelte aan:

'trusted_domains' =>
array (
0 => '192.168.1.150',
1 => 'www.yourdomain.com',
2 => 'yourdomain.com',
3 => 'ipv6 van je huisaansluiting'
4 => 'ipv4 van je huisaansluiting'
),

Ook de standaard telefoon regio moet worden gedefinieerd. Voeg juist na de ‘installed’ => true regel de volgende regels toe:

'default_phone_region'=> 'NL'
'allow_local_remote_servers' => true,

De laatste regel is om NextCloud te instrueren toegang van buiten toe te staan.

Update background processes

Op de beheerder login configuratie pagina’s, op de basis instellingen, wordt het aanbevolen een cronjob te gebruiken om background processen bij te werken. Na de volgende instellingen kan je hier aangegeven dat het door een cron job zal gebeuren.

Maak een cronjob door:

sudo crontab -u www-data -e

Kies voor de nano editor en plaats de volgende regel in het bestand:

*/5  *  *  *  * php -f /var/www/nextcloud/cron.php

Sla het bestand op. NextCloud configureert deze instellingen automatisch.

Hiermee is NextCloud geïnstalleerd.

Laatst Bijgewerkt op 25 april 2024.