Dans ce tutoriel, je vais vous expliquer comment configurer Nextcloud et Nginx en tant que reverse proxy quand on souhaite faire l’installation dans un sous-dossier au niveau de l’URL.
Dans le tutoriel : Déployer Nextcloud avec Docker, on a vu comment installer Nextcloud avec son propre domaine ou sous-domaine, ici on va voir comment le mettre dans un sous répertoire au niveau de l’URL comment par exemple rdr-it.com/nextcloud
.
Pour faire cette installation, nous allons devoir agir sur le fichier docker-compose.yml
pour configurer des variables d’environnements et sur le fichier de virtualhost au niveau de Nginx.
Il faut adapter le domaine et le chemin en fonction de votre environnement.
On va commencer sur le fichier docker-compose.yml
, Voici la configuration à mettre dans la partie environment:
du fichier
- OVERWRITEHOST=rdr-it.com
- OVERWRITEPROTOCOL=https
- OVERWRITECLIURL=https://rdr-it.com/nextcloud
- OVERWRITEWEBROOT=/nextcloud
Si vous faites ce changement sur des conteneurs existants redémarrer les conteneurs avec la commandes suivantes :
sudo docker compose down -v && sudo docker compose up -d
Maintenant dans la configuration du virtualhost du site rdr-it.com au niveau de Nginx, voici la partie à mettre pour /nextcloud
:
location /nextcloud/ {
rewrite /nextcloud(.*) $1 break;
proxy_pass http://W.X.Y.Z.:XXXX;
include proxy_nextcloud_param;
access_log /var/log/nginx/rdritio_nextcloud_access.log;
}
Voici le contenu du fichier param_nextcloud_proxy :
Ce fichier est à mettre (créer) dans le dossier suivant
/etc/nginx
il contient la configuration quand on utilise Nginx comme reverse proxy avec Nextcloud
Tester la configuration de Nginx :
sudo nginx -t
Si tout est bon, recharger la configuration :
sudo systemctl reload nginx
Vous savez maintenant comment déployer Nextcloud dans sous chemin au niveau de son URL.
Cette solution peut être pratique, quand on doit déployer plusieurs Nextcloud avec un même (sous-)domaine au niveau de la racine, cela évite la création de multiple sous-domaine et de multiple virtualhost au niveau du reverse proxy.