Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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 big_smile

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)