- 25 Novembre 2019
- 8 918
- 1 746
- 293
- Configuration
- Freebox Pop Fibre FTTH
Switch QSW-M408-4C
NAS DIY - i3-10100T / 32 Go sous OpenMediaVault 7
GEEKOM IT8 sous Proxmox 8
TBS-453DX sous Proxmox Backup Serveur
Installation de Nextcloud + MariaDB + Redis + ClamAV en Docker
Bonjour,
Nous allons ici utiliser docker-compose ( mais il est possible de passer par Portainer également ) pour installer nextcloud.
Nextcloud ? C'est quoi ?
Nextcloud est un logiciel libre, de site d'hébergement de fichiers et une plateforme de collaboration. À l'origine accessible via WebDAV, n'importe quel navigateur web, ou des clients spécialisés, son architecture ouverte a permis de voir ses fonctionnalités s'étendre depuis ses origines. En 2020, il propose de nombreux services.
Pré-requis :
Avoir un accès SSH à la machine
Avoir installer docker et docker-compose , docker-compose
Connaitre le PUID/GUID de l'utilisateur, voir tuto
Sommaire :
1/ Créer les dossiers nécessaires
2/ Création de la configuration et des conteneurs
2.1/ Création du fichier "docker-compose.yml"
2.2/ Création des conteneurs
3/ Configuration de Nextcloud3.1/ Accès a l'interface de Nextcloud
3.2/ Configuration
4/ Mise en place de Redis ( Optionnel )4.1/ Modification de la configuration de Nextcloud
4.2/ Modification de la configuration de PHP
4.3/ Activation & Création du conteneur
5/ Mise en place de l'antivirus ( Optionnel )5.1 Activation & Création du conteneur
5.2 Configuration dans Nextcloud
5.3 Essai de fonctionnement
C'est parti !
1/ Créer les dossiers nécessaires
Pour mon tuto, je vais placer tous les dossiers ( mariadb , nextcloud et redis dans le dossier /home/nom_dutilisateur/docker )
Je me place donc dans /home/nom_dutilisateur/docker:
cd /home/nom_dutilisateur/docker
- Nextcloud a besoin d'un dossier /config et d'un dossier /data
- MariaDB a besoin d'un dossier /mariadb
- Redis a besoin d'un dossier /redis
avec cette commande, on créer les 4 dossiers, dans un dossier /nextcloud :
Code:
sudo mkdir -p nextcloud/{mariadb,config,data,redis}
Note : Même si vous ne souhaitez pas configurer le conteneur Redis, cela n'est pas dérangeant d'avoir le dossier /redis de créé.
Utiliser la commande
cd nextcloud
pour acceder au dossier nextcloud.2/ Création de la configuration et des conteneurs
2.1/ Création du fichier "docker-compose.yml"
A partir de maintenant, tout le tuto va sur poursuivre en prenant pour base que vous êtes depuis le terminal dans le dossier nextcloud créé a l'étape 1.
Pour créer le fichier :
Code:
nano docker-compose.yml
Ensuite vous copier/coller ceci dedans :
Code:
version: "2"
services:
nextcloud:
image: lscr.io/linuxserver/nextcloud:latest
container_name: nextcloud
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Paris
volumes:
- ./config:/config
- ./data:/data
ports:
- 443:443
depends_on:
- mariadb
# - cache
restart: unless-stopped
mariadb:
image: lscr.io/linuxserver/mariadb:latest
container_name: nextcloud-mariadb
environment:
- PUID=1000
- PGID=1000
- MYSQL_ROOT_PASSWORD=123456789
- TZ=Europe/Paris
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
- MYSQL_PASSWORD=ABCDEF
volumes:
- ./mariadb:/config
restart: unless-stopped
# cache:
# container_name: nextcloud-redis
# image: redis:7-alpine
# restart: unless-stopped
# command: redis-server --save 20 1 --loglevel warning --requirepass MOT_DE_PASSE_BALEZE
# volumes:
# - ./redis:/data
# av:
# image: mkodockx/docker-clamav:alpine
# container_name: nextcloud-clamav
# restart: unless-stopped
PUID et GUID sont à modifier suivant les ID de votre utilisateur ( voir pré-requis )
Ici nextcloud utilise le port par défaut, soit 443 en HTTPS. Si vous souhaitez modifier le port pour x raisons, choisissez un port encore 1000 et 65000 pour remplacer le 1er 443 de la ligne
- 443:443
. Exemple pour choisir 9000 : - 9000:443
A modifier également : MYSQL_ROOT_PASSWORD et MYSQL_PASSWORD, choisissez des mots de passe fort.
On quitte le fichier Ctrl+X et on valide les modifications.
2.2/ Création des conteneurs
Toujours dans notre dossier nextcloud avec notre fichier docker-compose.yml, lancer la commande suivante pour lancer la création des conteneurs :
Code:
docker compose up -d
Une fois fini, la commande renvoi "done" :
Cela peut prendre quelques minutes avant que l'interface de Nextcloud soit disponible !
3/ Configuration de Nextcloud
3.1/ Accès a l'interface de Nextcloud
Si vous avez laisser le port par défaut, alors l’accès a Nextcloud se fait via l'adresse https://adresse-ip-locale, par exemple si votre machine a l'adresse 192.168.1.210 alors l’accès se fait a https://192.168.1.210, si vous avez modifier le port, alors il faut le préciser, par exemple pour le port 9000, l'adresse sera https://192.168.1.210:9000
Il est possible de rencontrer ce genre d'avertissement, il est normal, car nous sommes en HTTPS, mais il n'y a pas de certificat de généré. il vous suffit "d'accepter le risque" pour continuer.
3.2/ Configuration
A la 1ere connexion à l'interface il vous sera demander de choisir un pseudo et un mot de passe, cela sera le compte administrateur ! Choisissez un mot de passe fort, et éviter les pseudo comme "admin, root, ... ).
Pour la base de donnée on choisi "Mariadb", puis dans :
"Utilisateur de la base" on indique : nextcloud
"Mot de passe" : par defaut : ABCDEF, mais vous l'avez normalement modifié !
"Nom de la base de donnée" : nextcloud
"Hôte" : mariadb:3306
Je vous conseil de décocher " installer les applications recommandé ", Nextcloud vous proposera par la suite d'installer ces applications et vous permettra de choisir celle que vous souhaitez, ou non.
Puis on valide en cliquant sur Terminer l'installation
Une fois l'installation fini, on se retrouve sur la page de connexion ! On se connecte et nous voila dans notre Nextcloud
Note : En cas d'erreur 504 pendant la fin de l’installation patienter quelques minutes le temps que le serveur finisse la configuration du cloud.
4/ Mise en place de Redis ( Optionnel )
4.1/ Modification de la configuration de Nextcloud
Modifier le fichier de configuration de Nextcloud :
Code:
nano config/www/nextcloud/config/config.php
Rajouter les lignes suivantes :
PHP:
'filelocking.enabled' => true,
'memcache.locking' => '\\OC\\Memcache\\Redis',
'memcache.distributed' => '\\OC\\Memcache\\Redis',
'memcache.local' => '\\OC\\Memcache\\APCu',
'redis' =>
array (
'host' => 'cache',
'port' => 6379,
'password' => 'MOT_DE_PASSE_BALEZE',
),
Remplacer
MOT_DE_PASSE_BALEZE
, par un mot de passe de votre choix.Sauvegarder les modifications ( Ctrl+X et on valide les modifications )
4.2/ Modification de la configuration de PHP
Nous allons aussi modifier
Code:
nano config/php/php-local.ini
Sur une nouvelle ligne, rajouter simplement :
Code:
apc.enable_cli = 1
4.3/ Activation & Création du conteneur
Nous allons maintenant créer le conteneur Redis, pour cela modifions notre compose :
Code:
nano docker-compose.yml
et décommenter cette partie : ( Cela signifie supprimer les # présents sur chaque ligne )
Code:
# cache:
# container_name: nextcloud-redis
# image: redis:7-alpine
# restart: unless-stopped
# command: redis-server --save 20 1 --loglevel warning --requirepass MOT_DE_PASSE_BALEZE
# volumes:
# - ./redis:/data
Remplacer
MOT_DE_PASSE_BALEZE
, par le mot de passe que vous avez choisi à l'étape 4.1Dans la partie nextcloud au début, il faut également décommenter ceci :
Code:
# - cache
Sauvegarder les modifications ( Ctrl+X et on valide les modifications )
Puis on lance la re-création des conteneurs :
Code:
docker compose up -d
5/ Mise en place de l'antivirus ( Optionnel )
5.1 Activation & Création du conteneur
Nous allons maintenant créer le conteneur ClamAV, pour cela modifions notre compose :
Code:
nano docker-compose.yml
et décommenter cette partie : ( Cela signifie supprimer les # présents sur chaque ligne )
Code:
# av:
# image: mkodockx/docker-clamav:alpine
# container_name: nextcloud-clamav
# restart: unless-stopped
On quitte le fichier Ctrl+X et on valide les modifications.
Maintenant nous allons re-lancer la création des conteneurs afin de prendre en compte les modifications, pour cela, on execute la commande :
docker compose up -d
5.2 Configuration dans Nextcloud
Dans votre Nextcloud, rendez-vous dans les applications, télécharger et activer : Antivirus for files
Maintenant, dans Paramètres > Sécurité, ce panneau de configuration est disponible :
Indiquer les mêmes paramètres que sur l'image, soit :
Mode : Processus ClamAV
Hôté : av
Port : 3310
Taille du flux : 26214400
File size limit : -1
et Journaux seulement pour l'action en cas de fichiers infectés durant le scan en arrière plan
Cliquer sur Enregistrer pour valider, si tout est correct, alors "Enregistré" apparait en vers a coté.
5.3 Essai de fonctionnement
Si vous souhaitez un fichier de test afin de voir si votre antivirus fonctionne correctement, vous pouvez trouver un malware de test ici : https://www.eicar.org/?page_id=3950
Si vous placez ce fichier dans un dossier synchroniser par Nextcloud, alors celui-ci refusera de l'uploader et vous aurez ce type de message dans l'onglet de Journalisation de Nextcloud :
2023-06-19 - Réorganisation du tuto, remise en page, rajout d'explication sur la mise en place d'un conteneur redis dédié
2023-06-03 - MAJ du compose, changement des liens pour les images, tag latest, suppression du point 2.2 qui n'est plus nécessaire.
2021-12-03 - MAJ pour expliquer la mise en place d'un antivirus ( ClamAV )
2021-10-24 - Création du sommaire, correction dépot dans le docker-compose, mise en page
Dernière édition: