NextCloud installeren

Download het zip-archief van de NextCloud-server naar uw server. De nieuwste versie is 15.0.4 ten tijde van dit schrijven. Mogelijk moet u het versienummer wijzigen. Ga naar https://nextcloud.com/install en klik op de download button. Vervolgens kan binnen Ubuntu het bestand worden gedownload:

wget https://download.nextcloud.com/server/releases/nextcloud-15.0.4.zip

Installeer unzip utility:

sudo apt install unzip

Nu kan je NextCloud uitpakken door:

unzip nextcloud-15.0.4.zip

Door het gedownloade bestand uit te pakken, wordt een nieuwe map met de naam nextcloud aangemaakt in de huidige werkdirectory. Kopieer de nieuwe map en alle bijbehorende inhoud naar de document root van de Apache-server.

sudo cp -r nextcloud /var/www/

Na het kopiëren kunt u de gedownloade en uitgepakte bestanden in de werkdirectory verwijderen. Standaard staat de werkmap in de map /var/www/nextcloud wat niet raadzaam is. Beter moet de gegevensdirectory verplaatsen naar een grotere harde schijf in het systeem. Voor Hover is de harddisk gemount in de /media directory met als naam d1. We maken een werkdirectory aan:

sudo md /media/d1/nextcloud

Corrigeer de rechten van de aangemaakte directories:

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

Creeër een Database en User in MariaDB

Het instellen van het wachtwoord werkt alleen als u root bent. Gebruik het wachtwoord dat u tijdens de installatie van de LAMP-stack hebt gemaakt. Log in op MariaDB-databaseserver met de volgende opdracht:

sudo mysql -u root -p

Dan creeër een database voor Nextcloud. Deze beschrijving noemen we de database nextcloud. Je kan elke naam gebruiken die je zelf wilt. Let op het ; teken aan het einde van de commandos!

create database nextcloud;

Maak de naam voor databasegebruiker aan. Nogmaals, je kunt zelf de naam verzinnen die je wilt gebruiken. Vervang het wachtwoord door het gewenste wachtwoord.

CREATE USER ncroot@localhost IDENTIFIED BY ‘password’;

De enkele aanhalingstekens rondom het wachtwoord zijn verplicht.

Verleen deze gebruiker alle rechten op de nextcloud-database.

grant all privileges on nextcloud.* to ncroot@localhost identified by ‘password’;

Flush privileges en exit de database manager:

FLUSH PRIVILEGES;
exit;

Zet Binare Log functie in MariaDB aan

Pas het mysqld configuratie bestand aan:

sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf

Voeg de volgende regels toe in de [mysqld] sectie:

#
# Added for installation of NextCloud
#
log-bin        = /var/log/mysql/mariadb-bin
log-bin-index  = /var/log/mysql/mariadb-bin.index
binlog_format  = mixed

Sla het bestand op en sluit het. Laad vervolgens de MariaDB-service opnieuw.

sudo systemctl restart mariadb

Nu is het binaire loggen ingeschakeld in MariaDB.

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.

Alias /nextcloud "/var/www/nextcloud/"
<VirtualHost *:80>
DocumentRoot "/var/www/nextcloud"
ServerName nextcloud

<IfModule mod_headers.c>
    Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains"
</IfModule>

ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/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
Satisfy Any

</Directory>
</VirtualHost>

Sla het bestand op. Dan maak een symbolic link naar /etc/apache2/sites-enabled/

sudo ln -s /etc/apache2/sites-available/nextcloud.conf /etc/apache2/sites-enabled/nextcloud.conf

Enable the following 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

Restart Apache zodat de Apache and PHP modules worden geladen:

sudo systemctl restart apache2

Voer verder de installatie in je Web Browser uit

Nu in je webbrowser type je je domeinnaam of het ip adres in. Bijvoorbeeld:

192.168.1.100/nextcloud
A dialog in your webbrowser comes up. Answer the questions and make sure you fill in the corrrect data directory.

Laatst bijgewerkt op 8 februari 2019