Pages : 1
#1 Le 05/12/2015, à 01:11
- papyhardcore
Apache2 et site multi-domaines
Bonjour,
Je souhaite avoir un site qui a par exemple ce nom de domaine toto.dev mais que tous les sous domaines de toto.dev pointent sur toto.dev.
marchin.toto.dev, truc.toto.dev pointent sur toto.dev .
Voici ce que j'ai pour l'instant dans mon /etc/apache2/sites-available/toto.conf
<VirtualHost *:80>
ServerName toto.dev
ServerAdmin toto.dev
DocumentRoot /var/www/toto
DirectoryIndex index.php
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Avec ça j'ai bien mon site toto.dev
J'ai ensuite configuré Bind9 pour que tous les sous domaines pointes sur mon serveur :
Dans mon /etc/bind/named.conf.local
zone "toto.dev" IN {
type master;
file "/etc/bind/db.toto.dev";
};
Dans mon /etc/bind/db.toto.dev
;
; BIND data file for local loopback interface
;
$TTL 604800
@ IN SOA *.toto.dev. (
2 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS toto.dev.
@ IN A 127.0.0.1
@ IN AAAA ::1
Le ping ou bien le dig fonctionnent sur mes sous domaines.
Mais maintenant comment faire pour quand je tape truc.toto.dev je pointe bien sur mon site ?
Merci.
Hors ligne
#2 Le 05/12/2015, à 09:26
- HPIR40
Re : Apache2 et site multi-domaines
Dans ta config apache il te faudra ajouter autant de virtualhost que tu a de sous domaine et de sous repertoires par rapport à ton repertoire source /var/www/toto
donc le premier virtualhost pointera sur DocumentRoot /var/www/toto/site1 le deuxieme sur DocumentRoot /var/www/toto/2 etc...
Aprés, si tu veux que quand on tape toto.test ca aille aussi sur toto.dev, c'est la fonction ServerAlias dans la config virtualhost de toto.dev, et par exemple si au lieu de taper par exemple 1.toto.dev, tes utilisateurs pourront uniquement taper 1.dev avec un ServeurAlias 1.dev dans la config virtualhost de 1.toto.dev
Si tu veux simplement que machin.toto.dev pointe sur toto.dev, tu ajoute simplement ServerAlias machin.toto.dev dans le virtualhost de toto.dev
https://httpd.apache.org/docs/2.4/fr/vh … based.html
Dernière modification par HPIR40 (Le 05/12/2015, à 09:43)
Hors ligne
#3 Le 05/12/2015, à 13:00
- papyhardcore
Re : Apache2 et site multi-domaines
Merci pour ta réponse.
Il est donc impossible d'utiliser une regex par exemple pour que tous les *.toto.dev pointent sur toto.dev ?
Hors ligne
#4 Le 05/12/2015, à 15:06
- HPIR40
Re : Apache2 et site multi-domaines
Ce que tu veux c'est que quand on tape l'url 1.toto.dev ou 2.toto.dev on se retrouve sur toto.dev?
Hors ligne
#5 Le 05/12/2015, à 15:42
- bruno
Re : Apache2 et site multi-domaines
hum…
D'abord utiliser Bind9 pour faire pointer des noms domaines vers l'IP de bouclage (127.0.0.1) c'est comme utiliser une centrale atomique pour allumer une lampe de poche. En plus le fichier de configuration est erroné.
Le mieux est de désactiver Bind9 et de renseigner ton fichier /etc/hosts comme ceci :
127.0.0.1 toto.dev
127.0.0.1 truc.toto.dev
127.0.0.1 machin.toto.dev
Si tu tiens absolument à utiliser Bind9 pour que tous les noms *.toto.dev soient résolus en 127.0.0.1, il faut écrire quelque chose de ce genre :
$TTL 604800
@ IN SOA toto.dev. hostmaster.toto.dev (
3 ; serial
604800 ; refresh
86400 ; retry
2419200 ; expire
604800) ; negative cache TTL
@ IN NS toto.dev.
* IN A 127.0.0.1
* IN AAAA ::1
Sinon pour Apache (voir la doc officielle), si tu veux que toutes les adresses *.toto.dev correspondent au me site, tu peux déjà utiliser la directive ServerAlias
ServerName toto.dev
ServerAlias *.toto.dev
Au passage ta directive ServerAdmin doit indiquer une adresse de courriel. Après, si tu en as variemntbesoin, tu pourras utiliser des règles de réécritures pour dire que tout ce qui ne commence pas par toto.dev est réécrit en toto.dev
Dernière modification par bruno (Le 05/12/2015, à 15:43)
Pages : 1