Table des matières

Mise en place d'un Nextcloud avec apache2 et virtualhost

Dans cette documentation nous installerons une solution NextCloud sur base d'un apache2.

Cette documentation est réalisée dans le cadre d'un TP guidé, il peut donc y avoir d'autre méthode plus ou moins simple pour y parvenir. Pour mieux s'y retrouver cette documentation disposera de plusieurs screenshots illustrant les consignes.

Préambule

Nous considérons que vous êtes équipé de cette manière :

  1. Une VM sous Debian 11 vierge [NextCloud]

Les allocations de matériel (CPU/RAM…) sont à allouer selon vos envies, attention à respecter la configuration minimale. C'est à dire :

Pour NextCloud :

  1. 2GB de ram
  2. 2 cœurs de CPU
  3. 20GB d'espace disque
  4. Debian 11
  5. php 8.1

Nos IP pour notre infrastructure seront :

  1. [NextCloud] : 10.192.43.10

Mot de passe par défaut sur toutes les sessions : Not24get

Rappel des deux commandes essentiels :

  1. ip a (connaitre son adresse IP)
  2. nano /etc/network/interfaces (configuration de l'interface réseau)

Conseil : Ajouter les deux machines dans un logiciel tel que mRemoteNG pour faciliter l'administration.

Installation de Nextcloud avec l'archive

Installation des dépendances

GIT

apt install git

Vérifier avec :

git --version

MariaDB

apt install mariadb-server
mysql_secure_installation

Suivez la procédure d'installation de MariaDB.

Vérifier la bonne exécution avec :

systemctl status mariadb

apache2

apt-get install apache2

Téléchargement du binary

cd /var/www
wget https://download.nextcloud.com/server/releases/latest.tar.bz2
tar xvf  latest.tar.bz2

Création de l'utilisateur dans le SGBD

mysql -uroot -p
snippet.sql
CREATE USER nextcloudUser IDENTIFIED BY 'Not24get';
CREATE DATABASE nextcloudDB DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL PRIVILEGES ON nextcloudDB.* TO nextcloudUser;
FLUSH PRIVILEGES;
mysql -u nextcloudUser -p -e "SHOW DATABASES;"

Création structure de dossier

Permissions dossiers

chown -R www-data: /var/www/nextcloud

Configuration du serveur SQL sur le client Nextcloud

Reverse proxy avec apache

Création de la config apache2

a2enmod proxy proxy_http
service apache2 restart
nano /etc/apache2/sites-available/nextcloud.dom.vade.fr.conf
snippet.sh
<VirtualHost *:80>
  DocumentRoot /var/www/nextcloud/
  ServerName  nextcloud.dom.vade.fr
 
  <Directory /var/www/nextcloud/>
    Require all granted
    AllowOverride All
    Options FollowSymLinks MultiViews
 
    <IfModule mod_dav.c>
      Dav off
    </IfModule>
  </Directory>
</VirtualHost>
a2ensite nextcloud.dom.vade.fr.conf
systemctl apache2 reload
systemctl status apache2

Mes sources