Multi-tenant
Multi-tenant
Un même bench peut servir plusieurs sites. Nginx choisit le site de deux façons : par port ou par nom de domaine. Après l'installation de Dodock, activez le mode DNS Multitenant pour ouvrir chaque site depuis son nom de domaine.
Multi-tenant basé sur les ports
C'est le mode par défaut, tant que dns_multitenant n'est pas activé.
Chaque site reçoit son propre port :
- le premier site reçoit le port 80 ;
- les sites suivants reçoivent les ports 8001, 8002, etc.
Pour choisir le port d'un site, lancez :
bench set-nginx-port {votre site} {numéro de port}
La commande enregistre le port dans le fichier site_config.json du site (clé nginx_port). Elle régénère aussi la configuration de Nginx.
Deux sites ne peuvent pas partager un port : bench setup nginx s'arrête avec le message « Port conflicts found ».
Exemple fictif. bench set-nginx-port siteexemple.com 8081
Multi-tenant basé sur l'adresse DNS
Dans ce mode, Nginx choisit le site d'après le nom de domaine de la requête. Le nom du dossier du site dans sites/ sert de nom de domaine.
Pour activer le mode DNS Multitenant, lancez :
bench config dns_multitenant on
Si le dossier de votre site ne porte pas le nom du domaine, vous avez deux options :
- ajouter le domaine au site :
bench setup add-domain {domaine} --site {votre site}. La commande ajoute le domaine à la clédomainsdu fichiersite_config.jsondu site ; - renommer le dossier du site :
mv sites/{ancien nom du site} sites/{nouveau nom du site}.
Exemple fictif. Le site dokompany doit répondre à l'adresse erp.dokompany.fr :
bench setup add-domain erp.dokompany.fr --site dokompany
Créer un nouveau site
Pour créer un nouveau site, lancez :
bench new-site {votre site}
En mode DNS Multitenant, donnez au site le nom de son domaine. Par exemple : bench new-site erp.dokompany.fr.
Rechargez le serveur web
Après un changement de port, l'activation du mode DNS Multitenant, l'ajout d'un domaine ou la création d'un site, mettez à jour la configuration de Nginx (serveur web) :
- Régénérez le fichier de configuration :
bench setup nginx - Rechargez Nginx :
sudo systemctl reload nginxousudo service nginx reload