Bienvenue sur les forums de SIVIT
Vous n'êtes pas identifié.
Voilà la marche à suivre pour créer des sous-domaines automatiques
Il y a trois étapes :
- créer le dossier du même nom que le sous-domaine
- configurer la zone du domaine dans Bind
- créer le VirtualHost qui va bien
I - Créer le dossier
bon, ok, même moi j'y arrive...
II - Configurer la zone dans Bind
Il faut y ajouter un WildCard ( '*' ) qui laissera passer n'importe quel nom de sous-domaine.
Webmin n'est d'aucune aide, puisqu'il n'accepte pas que l'on mette une * comme sous-domaine.
Il faut donc modifier le fichier "domaine.tld.hosts" à la main.
"Chez moi", le fichier à modifier se trouve dans /var/cache/bind/. Si vous ne le trouvez pas là, fouillez à la fin du fichier named.conf, vous y trouverez le chemin.
Dans ce fameux fichier, vous avez des lignes du style :
www.domaine.tld IN A 123.123.123.123
Il suffit d'ajouter une nouvelle ligne comme celle-ci à la fin du fichier :
* IN A 123.123.123.123
(je vous fais confiance pour remplacer les 123 par votre IP <IMG SRC="/images/smiles/icon_wink.gif"> )
Je ne sais pas si c'est vraiment utile dans le cas présent, mais vous pouvez incrémenter le numéro de série du fichier. C'est le premier (et le plus long, certainement) des nombres qui se trouvent entre parenthèses dans la section "IN SOA" en début de fichier. Vous lui ajoutez 1 et vous sauvez vos modifs.
Maintenant que la zone est configurée, il faut redémarrer Bind, avec l'option force-reload ça marche bien. Sur ma config :
/etc/init.d/bind9 force-reload
On s'assure que la modif est prise en compte avec la commande dig. On a besoin de l'IP du serveur et d'un nom de sous-domaine qui n'existe pas (zzz par exemple) :
dig @123.123.123.123 zzz.domaine.tld
Dig va vous balancer tout un tas d'infos à l'écran, ce qui nous intéresse est là :
;; ANSWER SECTION: zzz.domaine.tld. 38400 IN A 123.123.123.123
Si vous avez ce genre de réponse (38400 c'est le TTL, il peut être différent, c'est pas grave), c'est tout bon.
Si vous n'avez pas de ";; ANSWER SECTION:", il faut redémarrer Bind et/ou vérifier votre fichier de déclaration de zone.
Fini pour Bind <IMG SRC="/images/smiles/icon_smile.gif">
III - Création du VirtualHost
Bon, vous devez avoir ça quelque part dans le htpd.conf, un peu avant la section des virtualhosts :
NameVirtualHost 123.123.123.123
Maintenant, le VirtualHost qui va bien pour notre site domaine.tld <IMG SRC="/images/smiles/icon_smile.gif"> :
<VirtualHost domaine.tld>
# Vous devez déjà avoir ces deux lignes, je suppose :
ServerName http://www.domaine.com
DocumentRoot /home/web/domaine
# J'ai testé, ça marche sans. Mais ça me plait, alors :
ServerAlias domaine.tld *.domaine.tld
# On démarre le moteur de réécriture...
RewriteEngine on
# Et là, on dit que si le nom de domaine contient un sous-domaine
# (différent de 'www' et précédé de 'www.' ou pas) :
RewriteCond %{HTTP_HOST} ^(www.)?([^.]+).domaine.tld
# Et si ce sous-domaine correspond à un dossier du DocumentRoot :
RewriteCond %{DOCUMENT_ROOT}/%2 -d
# alors on fait pointer vers ce dossier :
RewriteRule (.*) /%2/$1 [L]
# sinon on tombe par défaut sur la racine
# du DocumentRoot
</VirtualHost>On sauve le httpd.conf, et on a fini.
IV - Y a un IV ?!
Voilà, on redémarre Apache, on teste, et on va (prendre un café|boire une bière|regarder La Ferme) pour se féliciter si tout marche bien. Sinon on reprend tout à zéro et on vérifie chaque étape (ces dernières nuits ont été courtes pour moi <IMG SRC="/images/smiles/icon_biggrin.gif">)
_________________
Den
Dernière modification par major den (22-05-2006 02:49:28)
Hors ligne
Bonjour,
je viens de tester ce tuto mais l'url rewriting n'a pas l'air de fonctionner est ce que quelqu'un l'utilise ??
Hors ligne
est-il chargé par Apache ? --> httpd.conf ... 2 lignes sont commentés
btw, joli tuto Major Den
Dernière modification par frederic (01-07-2005 17:21:18)
Hors ligne
rat-du-net a écrit:
Bonjour,
je viens de tester ce tuto mais l'url rewriting n'a pas l'air de fonctionner est ce que quelqu'un l'utilise ??
Salut,
Euh... oui, moi je l'utilise ![]()
C'est après avoir galéré et cassé les pieds au support pour bind que j'ai écrit ce tuto.
Mod_rewrite était activé par défaut sur le dédié (config de base Sivit)
Si tu as : "LoadModule rewrite_module libexec/mod_rewrite.so"
et un peu plus bas : "AddModule mod_rewrite.c"
dans ton httpd.conf, ça doit marcher...
frederic a écrit:
btw, joli tuto Major Den
Merci ![]()
Hors ligne
Salut
Ba moi j'ai un probleme avec ce tutu car j'ai tout suivi ce que vous m'avez dit tout marche meme c'est surper
MAIS mdrr
quand je tape : sous_domaine.domaine.com je suis redirectionner vers /home/web/domaine/sous_domaine
mais voila AUCUNE page n'est accesible =S j'ai beau mettre une image, un fichier HTML ou un script php RIEN ne peut etre lu dans ce dossier quand j'y accede par sous_domaine.domaine.com
Si vous pourriez m'aider =S ou peut etre un module que j'ai oublier quoi ....
Merci
Hors ligne
juste pour dire j'ai trouver d'ou venez le probleme sur google mdrr je fait partager =p
faut mettre :
RewriteRule (.*) /%2/$1 [L]
au lieu de
RewriteRule (.*) /%2 [L]
Hors ligne
Erreur stupide corrigée !
J'ai dû un peu trop éditer le copier-coller de mon httpd.conf ![]()
Hors ligne
N'hésitez pas à poster vos tutoriaux sur http://aide.sivit.fr/ ![]()
Hors ligne
Moi j'ai un gros probleme avec les sous domaines dynamique c'est que sa marque QUE quand sa lui chante lol c'est bizard
je tape : tutu.domaine.fr sa marche
et je met mimir.domaine.fr sa marche pas =S
et encore des fois c'est tutu qui marche pas et mimir qui marche ou des fois les 2 =S
mais sa c'est que dans le cas ou le dossier existe ... par contre si le dossier existe pas sa marche dans tout les cas sa va sur www.domaine.fr
qui aurrai une idée ?? =S
car je peut pas lancer un service si sa marche que quand sa lui chante .....
ma version de apache au cas ou sa servent .... : Apache/1.3.33
Merci beaucoups d'avance et que le secret des sous domaine dynamique soit à tous mdrr
Hors ligne
as-tu vérifier les droits sur tes dossiers ?
Hors ligne
Ouai les droits sont les meme a chaque fois =S du 755 mais des fois sa marche des fois sa marche pas =/
Hors ligne
Bon je croit avoir une petite source de l'erreur =S mais je C pas d'ou sa vient et comment corriger ....
quand je fait un ping de mimir6.domaine.fr sa marche pas
mais le ping de mimir.domaine.fr sa MARCHE
((
par contre le dig @123.123.123.123 mimir6.domaine.fr sa marche sur la console de serveur et meme sur une console a distance =S
( le ping sur mon pc lol )
qui aurrai une idée ?? =S
Dernière modification par mimir (29-05-2006 10:23:59)
Hors ligne
Envoi un mail au support (support-dedies@sivit.fr) expliquant ton problème en bon français ; ils seront peut être en détail ou investiguer au niveau de leur appli et des paramétrages induits...
c'est quoi ton domaine sinon ?
Hors ligne
ouai je V les joindre je croit C le meilleur a faire ^^
Oh kan j'ai un message bizard quand je tape apache sa vient peut etre de la ...
[Mon May 29 16:22:48 2006] [error] VirtualHost 194.242.114.105:0 -- mixing * ports and non-* ports with a NameVirtualHost address is not supported, proceeding with undefined results
[Mon May 29 16:22:48 2006] [warn] NameVirtualHost 213.186.45.186:80 has no VirtualHosts
Dernière modification par mimir (06-08-2006 16:13:32)
Hors ligne
Y a un truc qui me dérange :
- si tu utilises l'interface sivit (et pas webmin ou autre) alors les sous-domaines sont traitées automatiquement
- dans le cas que tu présentes ci-dessus, il semble que tu aies edité toi même les fichiers de conf d'apache et apparemment y a une erreur de syntaxe et un souci au niveau des ip définies
Peux tu mettre la configuration de tes virtual hosts (dans son intégralité) ?
Hors ligne
Bon j'ai regarder un peut le fichier apache j'ai retirer les errors =S on va dire sivit m'a fait un truc chelou dans ma config je croit enfin je C pas trop ....
j'avais sa avant :
#NameVirtualHost 194.146.225.129:80
NameVirtualHost 194.242.114.105
NameVirtualHost 213.186.45.186:*
j'ai mit sa
#NameVirtualHost 194.146.225.129:80
NameVirtualHost 194.242.114.105:*
#NameVirtualHost 213.186.45.186:*
sinon voila mes virtual hosts :
<VirtualHost *>
DocumentRoot /home/web
ServerName sd1450.sivit.org
ServerAlias *.sd1450.sivit.org
</VirtualHost>
<VirtualHost 194.242.114.105:*>
DocumentRoot /home/web/asianlovin/
ServerName www.asianlovin.fr
<Directory "/home/web/asianlovin">
allow from all
Options +Indexes
</Directory>
</VirtualHost>
<VirtualHost 194.242.114.105:*>
DocumentRoot /home/web/azncommunity/
ServerName www.azncommunity.net
<Directory "/home/web/azncommunity/">
allow from all
Options +Indexes
</Directory>
</VirtualHost>
<VirtualHost 194.242.114.105:*>
DocumentRoot "/home/web/azncommunity/"
ServerName azncommunity.net
<Directory "/home/web/azncommunity/">
allow from all
Options +Indexes
</Directory>
</VirtualHost>
<VirtualHost 194.242.114.105:*>
DocumentRoot "/usr/share/phpmyadmin/"
ServerName mysql.azncommunity.net
<Directory "/usr/share/phpmyadmin/">
allow from all
Options +Indexes
</Directory>
</VirtualHost>
<VirtualHost 194.242.114.105:*>
DocumentRoot /home/web/radioweb/
ServerName radio.azncommunity.net
<Directory "/home/web/radioweb">
allow from all
Options +Indexes
</Directory>
</VirtualHost>
<VirtualHost 194.242.114.105:*>
DocumentRoot "/home/web/radioweb/"
ServerName radio.asianclubber.com
<Directory "/home/web/radioweb/">
allow from all
Options +Indexes
</Directory>
</VirtualHost>
<VirtualHost 194.242.114.105:*>
DocumentRoot /home/web/blackdiams/
ServerName www.blackdiams.com
<Directory "/home/web/blackdiams/">
allow from all
Options +Indexes
</Directory>
</VirtualHost>
<VirtualHost 194.242.114.105:*>
DocumentRoot "/home/web/blackdiams/"
ServerName blackdiams.com
<Directory "/home/web/blackdiams/">
allow from all
Options +Indexes
</Directory>
</VirtualHost>
<VirtualHost domaine.tld:*>
# Vous devez déjà avoir ces deux lignes, je suppose :
ServerName www.domaine.tld
DocumentRoot "/home/web/domaine"
# J'ai testé, ça marche sans. Mais ça me plait, alors :
ServerAlias domaine.tld *.domaine.tld
# On démarre le moteur de réécriture...
RewriteEngine on
# Et là, on dit que si le nom de domaine contient un sous-domaine
# (différent de 'www' et précédé de 'www.' ou pas) :
RewriteCond %{HTTP_HOST} ^(www.)?([^.]+).domaine.tld
# Et si ce sous-domaine correspond à un dossier du DocumentRoot :
RewriteCond %{DOCUMENT_ROOT}/blog/%2 -d
# alors on fait pointer vers ce dossier :
RewriteRule (.*) /blog/%2/$1 [L]
# sinon on tombe par défaut sur la racine
# du DocumentRoot
</VirtualHost>
vraiment au complet les virtualHost ![]()
Mon Bind ossi au cas ou
$ttl 38400
domaine.tld. IN SOA sd1450.sivit.org. webmaster.domaine.tld. (
2006051711
10800
3600
604800
38400 )
domaine.tld. IN NS sd1450.sivit.org.
www.domaine.tld. IN A 194.242.114.105
ftp.domaine.tld. IN A 194.242.114.105
mail.domaine.tld. IN A 194.242.114.105
smtp.domaine.tld. IN A 194.242.114.105
pop.domaine.tld. IN A 194.242.114.105
domaine.tld. IN A 194.242.114.105
* IN A 194.242.114.105
domaine.tld. IN NS ns2.sivit.org.
domaine.tld. IN MX 10 mail.domaine.tld.
Bon quand je tape une page au navigateur il me dit serveur introuvable =S
Bon si tu peut trouver sa je te dit chapeau
Merci ^^
Dernière modification par mimir (03-08-2006 01:33:52)
Hors ligne
c'est quoi l'ip de ton serveur ? 194.242.114.105 ? (obtenable via ifconfig par ex)
Hors ligne
ouai c'est bien 194.242.114.105 l'ip de mon serveur ![]()
Hors ligne
solution a mon probleme de 3/4 jours d'acharnement et de support sivit + registat
il faut mettre ns1.domaine.fr au lieu de sd1450.sivit.org.
c'est con mais sa marche
((
Hors ligne
bonjour,
j'ai utilisé votre tutorial pour créer des sous-domaines ainsi:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www.)?([^.]+).domaine.tld
RewriteCond %{DOCUMENT_ROOT}/%2 -d
RewriteRule (.*) /%2/$1/www [L]ça marche impeccable pour rediriger le sous domaine dans le bon répertoire (par exemple sd.domaine.tld dirige bien vers {DOCUMENT_ROOT}/sd/ ) mais par contre ça foire pour les fichiers (sd.domaine.tld/fichier.htm dit que l'adresse n'existe pas sur le serveur).
J'ai essayé une manip du genre
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www.)?([^.]+).domaine.tld(.*)
RewriteCond %{DOCUMENT_ROOT}/%2 -d
RewriteRule (.*) /%2/$1/www(.*) [L]mais c'est un bide total. Je vois pas trop comment faire pour que les fichiers soient aussi pris en compte.
Merci d'avance pour votre aide
Hors ligne