Se connecter avec
S'enregistrer | Connectez-vous

Plusieurs domaines avec Bind + Apache

Dernière réponse : dans Connexions réseau et internet

Bonjour,
J'ai un serveur dédié qui tourne sous Ubuntu HH. Sont installés Apache et Bind. J'ai configuré mon nom de domaine pour qu'il pointe, et ça marche, d'ailleurs quel que soit le sous-domaine indiqué, ça marche (jfhdjfhsj.domaine.com marchera)

A présent, je dois ajouter également le domaine d'un ami. J'ai donc, dans Bind, rajouté une zone en master, et créé le fichier correspondant. J'ai renseigné ce qu'il fallait et voilà le fichier :

$TTL 3h
ami.com. IN SOA ns.domaine.com. hostmaster.domaine.com. (
2008042802
8H
2H
1W
1D )
@ IN NS ns.domaine.com.
@ IN MX 10 mail.domaine.com.

ami.com. IN A 111.111.111.111

www IN A 111.111.111.111
ns IN A 111.111.111.111
ns2 IN A 213.251.188.140

*.ami.com. 300 IN A 111.111.111.111


domaine.com étant mon domaine de base, ami.com celui de mon ami, 111.111.111.111 l'IP de mon serveur.

J'ai relancé Bind, testé et... youpi, ça marche déjà, http://n-importe-quoi-ici.ami.com mène à mon serveur.
Le souci, c'est que je veux que le domaine de mon ami pointe sur un répertoire précis de mon serveur, en l'occurence son répertoire public_html (j'ai activé les userdirs)
Or je n'y arrive pas :/ 
Je suis allé dans la config Apache (le fichier nommé par défaut 000-default) pour l'éditer :

<VirtualHost *>
ServerName ami.com
DocumentRoot /home/ami/public_html
</VirtualHost>

J'ai uniquement rajouté ce Virtual Host en bas de fichier. Du coup, l'url http://ami.com pointe bien vers son répertoire personnel. Mais je souhaite faire ça avec tous les sous-domaines ! (que http://n-importe-quoi-ici.ami.com pointe bien)
J'ai essayé de remplacer ami.com par *.ami.com, mais du coup plus rien ne pointe sur le répertoire personnel :/ 

Merci d'avance pour vos conseils

Autres pages sur : plusieurs domaines bind apache

Lassé par la pub ? Créez un compte
Expert Internet - Réseaux

<VirtualHost ami.com:80>

->ne marche pas avec du https, mais seulement avec http

pour tes tests, n'utilise pas ton serveur DNS sur ton poste, mais configure un DNS autre, ceux de ton fai par exemple, tu risque d'avoir des surprises...
Expert Internet - Réseaux

  1. NameVirtualHost ami.com
  2. <virtualHost ami.com:80>
  3. ServerName ami.com
  4. ...
  5. </virtualHost>
  6. ###################
  7. NameVirtualHost example.org
  8. <virtualHost example.org:80>
  9. ServerName example.org
  10. ...
  11. </virtualHost>
  12. ###################
  13. NameVirtualHost example.org
  14. <virtualHost example.com:80>
  15. ServerName example.com
  16. ...
  17. </virtualHost>

pour les dns, tu utilise quel serveur DNS ?

si tu test avec le tiens, ce n'est pas bon

J'utilise mon propre serveur DNS, pour tout :/  Mais le fait est que mon ami a configuré son domaine chez son provider pour qu'il pointe chez moi, or ça ça marche... Ca peut donc quand même poser problème tu penses ?
Je vais essayer de faire comme ton exemple, je te redis, merci encore.

Bwaah, j'ai essayé de faire comme tu m'as dit mais quand je restart Apache, j'ai ces messages :

* Restarting web server apache2 [Sat May 10 23:34:40 2008] [error] VirtualHost domaine.com:80 -- mixing * ports and non-* ports with a NameVirtualHost address is not supported, proceeding with undefined results
[Sat May 10 23:34:40 2008] [error] VirtualHost ami.com:80 -- mixing * ports and non-* ports with a NameVirtualHost address is not supported, proceeding with undefined results
[Sat May 10 23:34:40 2008] [warn] NameVirtualHost domaine.com:0 has no VirtualHosts

Du coup j'ai viré les ports, mais j'ai un autre souci : quand j'ai un Vhost défini ça va, quand y'en a deux, ya cette erreur :

* Restarting web server apache2 [Sat May 10 23:51:22 2008] [warn] NameVirtualHost ami.com:0 has no VirtualHosts
[Sat May 10 23:51:32 2008] [warn] NameVirtualHost ami.com:0 has no VirtualHosts

Et du coup tout pointe sur domaine.com.....

J'ai ce fichier pour le moment :

NameVirtualHost domaine.com
<VirtualHost domaine.com>
ServerName domaine.com
DocumentRoot /var/www
</VirtualHost>

NameVirtualHost ami.com
<VirtualHost ami.com>
ServerName ami.com
DocumentRoot /home/ami/public_html
</VirtualHost>

A+



Salut,

De mon côté voilà comment je fais :
Dans un fichier taverne.conf
<VirtualHost IP>
NameVirtualHost IP
Options ExecCgi Includes MultiViews Indexes FollowSymlinks SymLinksIfOwnerMatch
LogLevel warn
ServerName www.taverne-du-chateau.net
DocumentRoot /home/REP1/public_html
ScriptAlias /var/www/cgi-bin /cgi-bin
ErrorLog logs/error_log
Transferlog logs/taverne-access_log
User apache
Group apache
</VirtualHost>


puis Dans un fichier auberge.conf
<VirtualHost IP>
NameVirtualHost IP
Options ExecCgi Includes MultiViews Indexes FollowSymlinks SymLinksIfOwnerMatch
LogLevel warn
ServerName www.auberge.net
DocumentRoot /home/REP2/public_html
ScriptAlias /var/www/cgi-bin /cgi-bin
ErrorLog logs/error_log
Transferlog logs/auberge-access_log
User apache
Group apache
</VirtualHost>

D'ailleur www.taverne-du-chateau.net existe ainsi que www.system-linux.net ....etc

IP est l'adresse de ton serveur.
----------- : vieille syntaxe
Expert Internet - Réseaux

Sur un des mes serveurs j'ai ça et ça marche (j'ai juste remplacé le nom de domaine par exemple.org) :
  1. NameVirtualHost <a href="http://www.example.org:80" target="_blank">www.example.org:80</a>
  2. <VirtualHost <a href="http://www.example.org:80&gt" target="_blank">www.example.org:80&gt</a>;
  3.  
  4. ServerName <a href="http://www.example.org" target="_blank">www.example.org</a>
  5. ServerAlias 3w.example.org
  6. ServerAdmin webmaster@example.org
  7.  
  8. DocumentRoot /var/www/example.org/
  9.  
  10. <Directory "/var/www/example.org/">
  11. Options Indexes FollowSymLinks MultiViews
  12. AllowOverride None
  13. Order allow,deny
  14. allow from all
  15. </Directory>
  16.  
  17. CustomLog /var/log/apache2/example.org_access.log combined
  18. ErrorLog /var/log/apache2/example.org_error.log
  19.  
  20. </VirtualHost>
  21.  
  22. NameVirtualHost <a href="http://www.example.com:80" target="_blank">www.example.com:80</a>
  23. <VirtualHost <a href="http://www.example.com:80&gt" target="_blank">www.example.com:80&gt</a>;
  24.  
  25. ServerName <a href="http://www.example.com" target="_blank">www.example.com</a>
  26. ServerAlias 3ww.example.com
  27. ServerAdmin webmaster@example.com
  28.  
  29. DocumentRoot /var/www/example.com/
  30.  
  31. <Directory "/var/www/example.com/">
  32. Options Indexes FollowSymLinks MultiViews
  33. AllowOverride None
  34. Order allow,deny
  35. allow from all
  36. </Directory>
  37.  
  38. CustomLog /var/log/apache2/example.com_access.log combined
  39. ErrorLog /var/log/apache2/example.com_error.log
  40.  
  41. </VirtualHost>


edit : testé et validé avec différentes zones et différents vhosts
Expert Internet - Réseaux

il ne s'agit, en tout cas chez moi, pas d'erreurs mais de warning, car ma syntaxe n'est pas propre

la bonne syntaxe est celle-ci :
  1. NameVirtualHost *:80
  2.  
  3. <VirtualHost *:80>
  4. ServerName <a href="http://www.domain.tld" target="_blank">www.domain.tld</a>
  5. ServerAlias domain.tld *.domain.tld
  6. DocumentRoot /www/domain
  7. </VirtualHost>
  8.  
  9. <VirtualHost *:80>
  10. ServerName <a href="http://www.otherdomain.tld" target="_blank">www.otherdomain.tld</a>
  11. DocumentRoot /www/otherdomain
  12. </VirtualHost>


http://httpd.apache.org/docs/2.2/vhosts/name-based.html

maith a dit :
il ne s'agit, en tout cas chez moi, pas d'erreurs mais de warning, car ma syntaxe n'est pas propre


Il est vrai que l'on se voit recevoir des "warning" sous *ubuntu, que l'on a pas sous Debian !???
Expert Internet - Réseaux

le serveur en question est sous debian, sous ubuntu ça doit être strictement la même chose, en fait ça ne dépend pas de la distribution mais de la version d'apache (2.2.3 sur mon serveur)
Lassé par la pub ? Créez un compte
Tom's guide dans le monde