Mise en place DNS Debian

Mise en place DNS Debian - Réseaux - Systèmes & Réseaux Pro

Marsh Posté le 08-03-2013 à 16:48:46    

Bonjour à tous,
 
J'ai actuellement un réseau gérer par un windows server 2012, celui-ci fait office de DHCP et DNS.
A coté de cela j'ai une machine debian.
Sur ma machine windows j'ai ajouté au dns le nom "debian" qui, lorsque je le tape dans mon navigateur me redirige directement sur le serveur apache du debian.
J'aimerais pouvoir taper test.debian et arriver sur le site "test" héberger par apache.
Comment puis-je faire pour gérer des sous domaines ?
J'ai installé bind9 sur mon debian mais je ne sais pas trop comment faire.
Comment gérer plusieurs sites Web sur un même serveur apache en fin de compte.
Pouvez vous m'aider SVP ?
 
Merci :)

Reply

Marsh Posté le 08-03-2013 à 16:48:46   

Reply

Marsh Posté le 08-03-2013 à 19:08:22    

virtual host :)

Reply

Marsh Posté le 11-03-2013 à 15:01:14    

Merci pour votre réponse.
 
Pouvez vous me donner un exemple simple concret permettant de déployer  deux sites SVP ?


---------------
David
Reply

Marsh Posté le 11-03-2013 à 15:23:20    

Hello,
 
voici l'exemple en question, à mettre de le httpd.conf :
 
Configuration du serveur
 
# Apache doit écouter sur le port 80
Listen 80
 
# Toutes les adresses IP doivent répondre aux requêtes sur les
# serveurs virtuels
NameVirtualHost *:80
 
<VirtualHost *:80>
DocumentRoot /www/example.com
ServerName www.example1.com
 
# Autres directives ici
 
</VirtualHost>
 
<VirtualHost *:80>
DocumentRoot /www/example.org
ServerName www.example2.org
 
# Autres directives ici
 
</VirtualHost>  
 
source : https://httpd.apache.org/docs/2.2/f [...] mples.html

Reply

Marsh Posté le 12-03-2013 à 08:32:41    

Merci pour votre réponse.
Pour tester j'ai créé deux virtual host.
L'une nommée test1 l'autre nommée test2.
Elles ont pour DocumentRoot /www/var/test1 et /www/var/test2 et chaque dossier contient un fichier index.html.
 
Mon site doit être accessible au niveau de mon réseau local nommé reseau.local.
Mes sites test sont déployés sur la machine 192.168.XX.23 nommé par le dns principal "debApache".
Donc si je tape dans ma barre d'adresse http://debApache.reseau.local j'arrive à la racine de mes sites et je vois mes deux répertoires test1 et test2 dans mon navigateur.
 
N'est il pas possible de taper http://test1.debApache.reseau.local et d'arriver directement sur le site test1 ?
J'ai essayé différentes configurations mais je n'arrive pas à ce résultat :/
 
Merci pour vos réponses.

Message cité 1 fois
Message édité par david25430 le 12-03-2013 à 08:34:28

---------------
David
Reply

Marsh Posté le 12-03-2013 à 09:00:23    

david25430 a écrit :

Merci pour votre réponse.
Pour tester j'ai créé deux virtual host.
L'une nommée test1 l'autre nommée test2.
Elles ont pour DocumentRoot /www/var/test1 et /www/var/test2 et chaque dossier contient un fichier index.html.
 
Mon site doit être accessible au niveau de mon réseau local nommé reseau.local.
Mes sites test sont déployés sur la machine 192.168.XX.23 nommé par le dns principal "debApache".
Donc si je tape dans ma barre d'adresse http://debApache.reseau.local j'arrive à la racine de mes sites et je vois mes deux répertoires test1 et test2 dans mon navigateur.
 
N'est il pas possible de taper http://test1.debApache.reseau.local et d'arriver directement sur le site test1 ?
J'ai essayé différentes configurations mais je n'arrive pas à ce résultat :/
 
Merci pour vos réponses.


 
 
Hello,
 
Normalement ça serait plutôt  http://debApache.reseau.local/test1/ ou /test2/
 
Dans tes directives VirtualHost de tes 2 sites, tu peux procéder comme ceci :
 
mettre la même chose pour la directive ServerName test1 et l'autre test2
 
activer le mod_rewrite d'apache pour que ce qui suit puisse marcher (EDIT: moi je fait de la réécriture dans un soucis de confort.. ce n'est pas obligatoire.. si tu tapes le nom qui suite dans ServerName ça doit déjà fonctionner)
ajouter la ligne suivante : RewriteRule ^/test1 - [L] pour ton site 1
                                   RewriteRule ^/test2 - [L] pour ton site 2
 
Comme ça, si tout est également bon au niveau dns, en tapant test1 ou test2 dans ta barre d'adresse, tu arriverais soit sur l'un ou l'autre.
 
Cordialement,


Message édité par Charon_ le 12-03-2013 à 09:31:01
Reply

Marsh Posté le 12-03-2013 à 12:08:10    

Merci pour votre réponse rapide :)
Je demande cela car j'avais déjà vu dans le sens http://test1.debApache.reseau.local
Mais http://debApache.reseau.local/test1/ me convient tout à fait.
 
Cependant j'ai un autre souci.
Pour l'un de mes sites, j'ai spécifier le chemin /www/var/site1 dans la variable DocumentRoot de ma virtualhost. Tous mes chemins dans le code du site sont spécifiés par rapport à ce chemin.
Mon fichier index.html ne se trouve pas à la racine de site1, mais plus bas dans l'arborescence. De ce fait, lorsque je tape http://debApache.reseau.local/site1/, je n'arrive pas sur ma page mais sur l'architecture fichier du dossier. Je dois donc avancer dans le répertoire jusqu'à ma page index.html pour "lancer" le site.
N'est il pas possible de configurer directement la redirection vers le fichier index.html sans pour autant modifier DocumentRoot?
 
Cordialement

Message cité 1 fois
Message édité par david25430 le 12-03-2013 à 12:09:19

---------------
David
Reply

Marsh Posté le 12-03-2013 à 13:19:02    

david25430 a écrit :

Merci pour votre réponse rapide :)
Je demande cela car j'avais déjà vu dans le sens http://test1.debApache.reseau.local
Mais http://debApache.reseau.local/test1/ me convient tout à fait.
 
Cependant j'ai un autre souci.
Pour l'un de mes sites, j'ai spécifier le chemin /www/var/site1 dans la variable DocumentRoot de ma virtualhost. Tous mes chemins dans le code du site sont spécifiés par rapport à ce chemin.
Mon fichier index.html ne se trouve pas à la racine de site1, mais plus bas dans l'arborescence. De ce fait, lorsque je tape http://debApache.reseau.local/site1/, je n'arrive pas sur ma page mais sur l'architecture fichier du dossier. Je dois donc avancer dans le répertoire jusqu'à ma page index.html pour "lancer" le site.
N'est il pas possible de configurer directement la redirection vers le fichier index.html sans pour autant modifier DocumentRoot?
 
Cordialement


 
 
Oui pas de soucis  :jap:  
En fait écrit de cette façon, il s'agirait d'un alias de cette machine. Alias test1 donc déclaré sur le serveur DNS et qui pointerait sur debApache.reseau.local.
Ce qui donnerait en accès http://test1.reseau.local uniquement. il n'y aurait pas d'intérêt à cumuler un alias si on spécifie déjà le nom de machine debApache; c'est soit l'un, soit l'autre en fait.
 
 
"N'est il pas possible de configurer directement la redirection vers le fichier index.html sans pour autant modifier DocumentRoot?"
 
Si, à ce moment là, pour moi la méthode à utiliser est le mod_rewrite d'Apache2. Ce n'est pas forcément la meilleur méthode, mais ça marche très bien.(je ne suis pas un expert Apache  :lol: )
Donc dans ta directive VirtualHost, dessous DocumentRoot tu peux y rajouter : RewriteRule ^/.* /www/var/site1/index.html
 
Il faut activer le mod_rewrite d'apache2 au préalable si ce n'est pas déjà le cas. Pour ça je te laisse chercher  :pt1cable:  

Reply

Marsh Posté le 12-03-2013 à 14:46:35    

Merci,
 
J'ai donc activé le mod_rewrite et créé un alias.
Désormais lorsque je tape http://site1.reseau.local il me redirige immédiatement sur site1, je n'arrive plus à avoir accès à site2 :/
 
De plus le css ne fonctionne plus, est ce que le rewrite modifie "DocumentRoot" ? tous mes liens semblent faux :/

Message cité 1 fois
Message édité par david25430 le 12-03-2013 à 14:46:59

---------------
David
Reply

Marsh Posté le 12-03-2013 à 14:53:22    

david25430 a écrit :

Merci,
 
J'ai donc activé le mod_rewrite et créé un alias.
Désormais lorsque je tape http://site1.reseau.local il me redirige immédiatement sur site1, je n'arrive plus à avoir accès à site2 :/
 
De plus le css ne fonctionne plus, est ce que le rewrite modifie "DocumentRoot" ? tous mes liens semblent faux :/


 
Cela redirige bien sur l'index.html du site alors?
 
l'accès au site2 ne fonctionne pas,ok. la configuration du site2 est-elle similaire au site1? (servername ok, ALIAS déclaré vers la machine debian au niveau du DNS réseau,etc.)
 
Cordialement,

Reply

Marsh Posté le 12-03-2013 à 14:53:22   

Reply

Marsh Posté le 12-03-2013 à 15:47:10    

Je vais réexpliquer globalement car je m'y perds ^^
 
J'ai deux sites, stockés dans /var/www/
Le premier /var/www/test1
Le second /var/www/test2
 
Dans le premier cas, test1 contient index.html
Dans le second cas, test2 contient /dossier/index.html
 
Voici mes deux virtual host :
 
<VirtualHost *:80>
        ServerAdmin test@test.com
 
        DocumentRoot /var/www/test1
 
        <Directory /var/www/test1>
                Order allow,deny
                allow from all
        </Directory>
 
        ErrorLog ${APACHE_LOG_DIR}/error.log
 
</VirtualHost>
 
<VirtualHost *:80>
        ServerAdmin test@test.com
 
        DocumentRoot /var/www/test2
 
        <Directory /var/www/test2>
                Order allow,deny
                allow from all
        </Directory>
 
        ErrorLog ${APACHE_LOG_DIR}/error.log
</VirtualHost>
 
J'ai créer un alias qui redirige sur mon serveur.
Lorsque je tape http:\\test.domain.local
J'arrive sur le site1.
 
Le site2 est inaccessible.
Je n'arrive pas à gérer mes deux sites afin qu'il soient accessible tous les deux. :/


Message édité par david25430 le 12-03-2013 à 15:48:31
Reply

Marsh Posté le 12-03-2013 à 16:04:02    

Encore une fois, pas de soucis.
 
Si ton site1 répond tout simplement à ta requête, c'est qu'il est placé en premier dans ta config. si c'était inversé avec le site2, cela serait le deuxième qui prendrai la main vu la configuration actuelle. Ce n'est pas pour autant que /dossier/index.html soit accessible si la config reste inchangé comme figuré ci-haut.
 
Je n'ai pas vu la condition rewriterule dans un des deux VirtualHost. pour l'index.html
Il faudrait ensuite spécifier avec la directive ServerName <le nom d'alias> pour ces 2 VirtualHost, c'est pour ça que cela ne marche pas. Ces deux alias déclarés au préalable sur le DNS.
 
Cordialement,
 

Reply

Marsh Posté le 12-03-2013 à 16:42:50    

ça marche :)
Je pense avoir compris ^^ ouf
Sur mon dns j'ai créé mon hote A debApache qui redirige sur 192.168.XX.23
J'ai ajouté deux alias site1 et site2 qui pointent sur debApache.domaine.local
 
Du coté de mon apache j'ai deux sites dans mon /var/www
 
Voici mes virtual host :
 
<VirtualHost *:80>
        ServerAdmin test@test.com
        ServerName site1.domaine.local
 
        DocumentRoot /var/www/
 
        <Directory /var/www/>
                Order allow,deny
                allow from all
        </Directory>
 
        Options FollowSymLinks
        RewriteEngine on
        RewriteCond %{REQUEST_URI} =/index.php
        RewriteRule (.*) /var/www/site1/dossier/index.php
 
        ErrorLog ${APACHE_LOG_DIR}/error.log
</VirtualHost>
 
<VirtualHost *:80>
        ServerAdmin test@test.com
        ServerName site2.domaine.local
 
        DocumentRoot /var/www/test2
 
        <Directory /var/www/test2>
                Order allow,deny
                allow from all
        </Directory>
 
        ErrorLog ${APACHE_LOG_DIR}/error.log
</VirtualHost>
 
 
Mon premier site est accessible via http://site1.domain.local/  
Le code se base sur /site1/ donc on s'arrête à /var/www/ pour documentRoot.
Le redirect redirige l'appel automatique du fichier index.php pour le renvoyer sur mon index.php perdu dans mon arborescence. ^^
 
Le second site est accessible via http://site2.domain.local/  
 
J'avais négligé l'utilisation de ServerName qui doit correspondre à l'alias si j'ai bien compris.
Le serveur recherche dans DocumentRoot, les fichiers index.html ou index.php.  
Le redirect permet de rediriger directement vers le bon index.html.
 
est-ce bien ça ?


---------------
David
Reply

Marsh Posté le 12-03-2013 à 16:51:29    

david25430 a écrit :

ça marche :)
Je pense avoir compris ^^ ouf
Sur mon dns j'ai créé mon hote A debApache qui redirige sur 192.168.XX.23
J'ai ajouté deux alias site1 et site2 qui pointent sur debApache.domaine.local
 
Du coté de mon apache j'ai deux sites dans mon /var/www
 
Voici mes virtual host :
 
<VirtualHost *:80>
        ServerAdmin test@test.com
        ServerName site1.domaine.local
 
        DocumentRoot /var/www/
 
        <Directory /var/www/>
                Order allow,deny
                allow from all
        </Directory>
 
        Options FollowSymLinks
        RewriteEngine on
        RewriteCond %{REQUEST_URI} =/index.php
        RewriteRule (.*) /var/www/site1/dossier/index.php
 
        ErrorLog ${APACHE_LOG_DIR}/error.log
</VirtualHost>
 
<VirtualHost *:80>
        ServerAdmin test@test.com
        ServerName site2.domaine.local
 
        DocumentRoot /var/www/test2
 
        <Directory /var/www/test2>
                Order allow,deny
                allow from all
        </Directory>
 
        ErrorLog ${APACHE_LOG_DIR}/error.log
</VirtualHost>
 
 
Mon premier site est accessible via http://site1.domain.local/  
Le code se base sur /site1/ donc on s'arrête à /var/www/ pour documentRoot.
Le redirect redirige l'appel automatique du fichier index.php pour le renvoyer sur mon index.php perdu dans mon arborescence. ^^
 
Le second site est accessible via http://site2.domain.local/  
 
J'avais négligé l'utilisation de ServerName qui doit correspondre à l'alias si j'ai bien compris.
Le serveur recherche dans DocumentRoot, les fichiers index.html ou index.php.  
Le redirect permet de rediriger directement vers le bon index.html.
 
est-ce bien ça ?


 
C'est exactement ça, le ServerName c'est ton alias de site. Le redirect sur un endroit bien précis du site.  :jap:  
Je recommande tout de même de bien définir le bon chemin de DocumentRoot pour chacun des sites, car si on modifie l'URL on peut toujours aller dans l'un ou l'autre à ce moment là.
 
Content d'avoir pu aider.
Cordialement,

Reply

Marsh Posté le 12-03-2013 à 17:01:20    

Merci beaucoup !
 
:)


---------------
David
Reply

Marsh Posté le 14-03-2013 à 08:43:50    

My pleasure! :)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed