- Accueil
- » Forum
- » Serveurs
- » Virtual Host
Pages : 1
#1 Le 09/01/2008, à 13:21
- Sylvain31
Virtual Host
Salut à tous,
Je voudrais créer des virtual host avec Apache. Je voudrais que :
www.mon-domaine.net pointe sur /var/www
toto.mon-domaine.net pointe sur /home/toto/www
Voici mon fichier de conf Apache :
NameVirtualHost *
<VirtualHost *>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
# This directive allows us to have apache2's default start page
# in /apache2-default/, but still have / go to the right place
#RedirectMatch ^/$ /apache2-default/
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog /var/log/apache2/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/access.log combined
ServerSignature On
Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
</VirtualHost>
NameVirtualHost toto.mon-domaine.net
<VirtualHost toto.mon-domaine.net>
ServerAdmin toto@mon-domaine.net
DocumentRoot /home/toto/www
ServerName toto.mon-domaine.net
</VirtualHost>
Or, avec ce fichier, quand je vais sur toto.mon-domaine.net (mes DNS sont bien configué), je tombe sur /var/www. Sauriez vous pourquoi ?
#2 Le 09/01/2008, à 16:04
- amateur
Re : Virtual Host
On édite le fichier de configuration principal d'apache2
nano /etc/apache2/apache2.conf
On vérifie les utilisateur et groupe d'apache
User www-data
Group www-data
On vérifie la présence de ces lignes à la fin du fichier:
Include the virtual host configurations:
Include /etc/apache2/sites-enabled/
On sauve les modifications, et on ferme le fichier.
/etc/init.d/apache2 restart
Installation des virtualhosts
mkdir /etc/skel/public_html
mkdir /etc/skel/logs
echo " <h1>Nouvel espace web crée</h1> " > /etc/skel/public_html/index.html
Une fois le squelette créé, on peut créer un nouvel utilisateur :
useradd -g www-data -m test1
On copie le contenu ci-dessous :
nano /etc/apache2/sites-available/test1.com
<VirtualHost *>
ServerAdmin postmaster@test1.com
ServerName www.test1.com
ServerAlias test1.com *.test1.com
DocumentRoot /home/test1/public_html/
<Directory /home/test1/public_html/>
Options -Indexes FollowSymLinks MultiViews
AllowOverride All
</Directory>
ErrorLog /home/test1/logs/error.log
LogLevel warn
CustomLog /home/test1/logs/access.log combined
ServerSignature Off
</VirtualHost>
On valide et on ferme le fichier. On rend le domaine créé disponible.
ln -s /etc/apache2/sites-available/test1.com /etc/apache2/sites-enabled/test1.com
On redémare apache2 :
/etc/init.d/apache2 restart
Et on peut accéder à notre répertoire :
http://xxx.xxx.xxx.xxx/~test1
EDIT: tirer du tuto : Installation complète d'un serveur web sous Debian
http://olange.developpez.com/articles/d … veur-dedie
Dernière modification par amateur (Le 09/01/2008, à 16:08)
2.8 GHz; NVidia 5200; 265 Mo DDR; 40 Go DD + un DD de 3.2 Go; le tt date de 2005 sauf le DD de 3.2 Go il date de 1998
UBUNTU 7.10
Hors ligne
#3 Le 09/01/2008, à 16:53
- Sylvain31
Re : Virtual Host
Ok, mais c'est ce que j'ai fait, sauf que tout est dans le même fichier, que j'ai mis dans mon premier post. Pourtant cela ne fonctionne pas...
#4 Le 09/01/2008, à 17:18
- amateur
Re : Virtual Host
pourtant chez moi ca marche :s
sur mon PC local j'ai 3 site qui tourne en meme temp en suivant tuto
as tu dans le /etc/apache2/sites-enabled/ autre fichier ke le default (normalement pour chaque site tu as un fichier)
2.8 GHz; NVidia 5200; 265 Mo DDR; 40 Go DD + un DD de 3.2 Go; le tt date de 2005 sauf le DD de 3.2 Go il date de 1998
UBUNTU 7.10
Hors ligne
#5 Le 09/01/2008, à 17:39
- Sylvain31
Re : Virtual Host
Non, j'ai un seul fichier default, dans lequel il y a tous mes Virtual Hosts.
Je pense que le soucis pourrait venir du
NameVirtualHost *
<VirtualHost *>
dans mon fichier. Peut être que toutes les adresses de mon domaine "match" avec ce host, et du coup, ils sont tous pointé sur /var/www ?
#6 Le 09/01/2008, à 17:57
- amateur
Re : Virtual Host
je croix bien qu'il faut avoir des liens pour chaque un des sites dans le /etc/apache2/sites-available/
car tt les tutos que j'ai lu ya tjrs des fichiers a cree pour les sites qu'on veut heberger
jete un coup d'oeil ici http://www.debian-administration.org/articles/412
ou un uatre tuto tres facile et tres clair http://olange.developpez.com/articles/debian/installation-serveur-dedie
EDIT : je suis tres novice en att. les postes des pros
EDIT 2:
voir aussi ici http://www.commentcamarche.net/forum/affich-2423425-apache2-debian-heberger-2-sites
C pratiquement le meme cas
Dernière modification par amateur (Le 09/01/2008, à 18:08)
2.8 GHz; NVidia 5200; 265 Mo DDR; 40 Go DD + un DD de 3.2 Go; le tt date de 2005 sauf le DD de 3.2 Go il date de 1998
UBUNTU 7.10
Hors ligne
#7 Le 09/01/2008, à 19:19
- Thamior
Re : Virtual Host
NameVirtualHost * <VirtualHost *> ServerAdmin webmaster@localhost DocumentRoot /var/www/ <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all # This directive allows us to have apache2's default start page # in /apache2-default/, but still have / go to the right place #RedirectMatch ^/$ /apache2-default/ </Directory> ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ <Directory "/usr/lib/cgi-bin"> AllowOverride None Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all </Directory> ErrorLog /var/log/apache2/error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn CustomLog /var/log/apache2/access.log combined ServerSignature On Alias /doc/ "/usr/share/doc/" <Directory "/usr/share/doc/"> Options Indexes MultiViews FollowSymLinks AllowOverride None Order deny,allow Deny from all Allow from 127.0.0.0/255.0.0.0 ::1/128 </Directory> </VirtualHost> NameVirtualHost toto.mon-domaine.net <VirtualHost toto.mon-domaine.net> ServerAdmin toto@mon-domaine.net DocumentRoot /home/toto/www ServerName toto.mon-domaine.net </VirtualHost>
Bonjour,
alors en fait, il te manque le parametre principal au sein de ton vhost --> ServerName
Donc, je poste ici une version allégée et remaniée de ton fichier de conf. L'idéal est de séparer les vhosts dans des fichiers distincts.
Détails :
* Fichier /etc/apache2/httpd.conf
NameVirtualHost *
Là aussi, par principe, je fais écouter les vhosts sur une ip et un port spécifique (ex : xxx.xxx.xxx.xxx:80)
* Fichier /etc/apache2/sites-available/default
<VirtualHost *>
ServerAdmin webmaster@mon-domaine.net
ServerName www.mon-domaine.net
DocumentRoot /var/www/
Options -Indexes -FollowSymlinks
#Sécurité
RewriteEngine On
RewriteCond %{REQUEST_METHOD} ^TRACE
RewriteRule .* - [F]
CustomLog /var/log/apache2/default_access.log combined
</VirtualHost>
* Fichier /etc/apache2/sites-available/toto
<VirtualHost *>
ServerAdmin webmaster@mon-domaine.net
ServerName toto.mon-domaine.net
DocumentRoot /home/toto/www/
Options -Indexes -FollowSymlinks
#Sécurité
RewriteEngine On
RewriteCond %{REQUEST_METHOD} ^TRACE
RewriteRule .* - [F]
CustomLog /var/log/apache2/toto_access.log combined
</VirtualHost>
Sous /etc/apache2/sites-available/, tu crés les liens symbolique dans sites-enable via la commande :
a2ensite default && a2ensite toto
Puis un restart d'apache
/etc/init.d/apache2 restart
C'est une base de départ à adapter a ton systeme.
N'hesite pas si besoin de renseignements complémentaires
Hors ligne
#8 Le 09/01/2008, à 22:44
- Sylvain31
Re : Virtual Host
Merci beaucoup pour ces précisions, ca marche nickel maintenant !
Juste quelques petites précisions :
1/ Pourquoi le "NameVirtualHost toto.mon-domaine.net" dans mon premier exemple ne marchait pas ?
2/ A quoi sert les lignes après #Sécurité ?
Merci !
#9 Le 09/01/2008, à 22:55
- Sylvain31
Re : Virtual Host
Aussi, une autre petite question :
3/ Comment faire pour, au lieu de rediriger un VirtualHost vers un répertoire (/home/toto/www par exemple), le rediriger vers un port (www.mon-domaine.net:8112) ?
#10 Le 10/01/2008, à 01:09
- Thamior
Re : Virtual Host
Merci beaucoup pour ces précisions, ca marche nickel maintenant !
Juste quelques petites précisions :
1/ Pourquoi le "NameVirtualHost toto.mon-domaine.net" dans mon premier exemple ne marchait pas ?
Parceque tu avais déjà fait une déclaration "NameVirtualHost *" au debut de ton fichier.
2/ A quoi sert les lignes après #Sécurité ?
Pour bloqer le Cross site scripting --> faille de sécurité
3/ Comment faire pour, au lieu de rediriger un VirtualHost vers un répertoire (/home/toto/www par exemple), le rediriger vers un port
Je ne saisi pas bien (Port au lieu de répertoire) ?
Pour revenir sur ta déclaration "NameVirtualHost", l'idéal est d'eviter l'adressage dynamique par le paramètre "*" mais plutot d'écrire :
Fichier /etc/apache2/httpd.conf
NameVirtualHost ton_ip:80
NameVirtualHost ton_ip:8112
Ensuite, on modifie aussi les fichiers des Vhosts :
Fichier /etc/apache2/sites-available/default
<VirtualHost ton_ip:80>
ServerAdmin webmaster@mon-domaine.net
ServerName www.mon-domaine.net
DocumentRoot /var/www/
Options -Indexes -FollowSymlinks
#Sécurité
RewriteEngine On
RewriteCond %{REQUEST_METHOD} ^TRACE
RewriteRule .* - [F]
CustomLog /var/log/apache2/default_access.log combined
</VirtualHost>
Fichier /etc/apache2/sites-available/toto
<VirtualHost ton_ip:8112>
ServerAdmin webmaster@mon-domaine.net
ServerName www.mon-domaine.net
DocumentRoot /home/toto/www/
Options -Indexes -FollowSymlinks
#Sécurité
RewriteEngine On
RewriteCond %{REQUEST_METHOD} ^TRACE
RewriteRule .* - [F]
CustomLog /var/log/apache2/toto_access.log combined
</VirtualHost>
Enfin, pour que le serveur web écoute sur ce nouveau port, il faut lui le préciser en ajoutant dans :
Fichier /etc/apache2/ports.conf
Listen 8112
Redemarrage du service web :
/etc/init.d/apache2 restart
Si çà n'est pas ce que tu voulais faire, dis le moi
Hors ligne
#11 Le 10/01/2008, à 12:04
- Sylvain31
Re : Virtual Host
Avec la derniere conf que tu viens d'écrire, il faut se connecter sur http://www.mon-domaine.net:8112/ pour accéder au deuxième virtual host ?
C'est pas tout à fait ce que je veux faire. En fait, j'utilise Deluge Torrent, qui a une interface web qui écoute sur le port 8112. Mon but est que, dès que je vais sur, par exemple, http://bt.mon-domaine.net, il fasse en réalité www.mon-domaine.net:8112.
Peut être est ce possible si dans le deuxieme vhost, je fais :
<VirtualHost ton_ip:8112>
ServerAdmin webmaster@mon-domaine.net
[b]ServerName bt.mon-domaine.net[/b]
DocumentRoot /home/toto/www/
Options -Indexes -FollowSymlinks
#Sécurité
RewriteEngine On
RewriteCond %{REQUEST_METHOD} ^TRACE
RewriteRule .* - [F]
CustomLog /var/log/apache2/toto_access.log combined
</VirtualHost>
#12 Le 10/01/2008, à 20:35
- Thamior
Re : Virtual Host
en fait, je pense que Deluge a son propre serveur web, on peux donc feinter de cette manière :
Tu dois d'abord t'assurer que http://www.mon-domaine.net:8112 arrive bien sur ton application Deluge.
Ensuite, on crée un nouveau vhost sous /etc/apache2/sites-available/deluge
<VirtualHost *>
ServerAdmin webmaster@mon-domaine.net
Servername bt.mon-domaine.net
RedirectPermanent / http://www.mon-domaine.net:8112
</VirtualHost>
n'oublie pas un "a2ensite deluge" et un restart d'apache
Hors ligne
#13 Le 11/01/2008, à 11:03
- Sylvain31
Re : Virtual Host
Impeccable, je ne savais pas que cette commande "RedirectPermanent" existait !
Mais je vais continuer à faire mon relou pour paufiner un peu !
Deja, avec cette méthode, l'adresse qui apparait dans la barre d'adresse devient http://www.mon-domaine.net:8112, n'est il pas possible de préserver bt.mon-domaine.net ?
Aussi, dans mon entreprise, le port 8112 est bloqué, est il possible "d'afficher" les pages deluge, mais en passant par le port 80, c'est à dire en passant par Apache ? (je sais pas si je suis tres clair dans la deuxième question).
Merci beaucoup pour ton aide.
#14 Le 11/01/2008, à 16:48
- Thamior
Re : Virtual Host
J'ai jeté un oeil au plugin WebUi de Deluge et on trouve dans la section [CONFIG_DEFAULT] du fichier "webserver_common.py" le parametre Port:8112.
Je n'ai pas ce logiciel mais il faudrait ce que çà donne si on lui indique "80" en port d'écoute
Hors ligne
#15 Le 11/01/2008, à 17:27
- Sylvain31
Re : Virtual Host
Ouais, mais le truc c'est que j'ai mon serveur apache qui ecoute sur 80 !
En fait, ce que je voudrais faire, c'est une page qui "passe" par le port 80, mais qui affiche en gros ce qu'il y a sur www.mon-domaine.net:8112, ou localhost:8112 si tu es en local sur le serveur.
#16 Le 11/01/2008, à 18:08
- Thamior
Re : Virtual Host
La pile logiciel avec laquelle je fais ce genre de manip est un Apache-Tomcat couplé avec le module mod_jk.
Pour ton application, çà me parait difficile...
En l'état, tu garde juste l'avantage de ne pas taper le port 8112 dans ton url grà¢ce au redirectPermanent, mais c'est tout.
Il y aurai peut etre une bidouille en faisant du rewriting mais çà n'est pas dit que çà marche, et je ne suis pas sur que çà en vaille le coup.
Hors ligne
#17 Le 25/01/2008, à 21:18
- Fabione01
Re : Virtual Host
Bonjour les experts !!
Je suis nouveau dans le monde linux !
Petite histoire : je viens de me monter une machien sur Ubuntu 7.10 Gutsy Gibbon
j"ai de peine et de misére apache , php , mysql phpmyadmin etc etc.
je viens de créer deux sites web
En local tout marche nikel.
j'ai installè no-ip duc et il roule bien J'arrive le voire sur le net sans problem
mais le secon site si je tape http://club.no-ip.info tombe en local sur l'adresse ip de ma machine
soir http://192.168.1.4/club/ et il marche bien seulement n'est pas visible sur internet.
Bon la question serieuse :
il faut que je crée des vitual host je pense je suis assez cruche
Est ce quelque bonne ame pourrait me mettre le code avec des noms
mes sites s'appellent le prémier cab et le deuxiéme clubcleo
enfin que je puisse comprendre ?
autre question les repertoires des deux sites doivent être dans var /www c'est bien ça ??
je vous remenrcie beaucoup d' avance
Fabio
#18 Le 17/02/2008, à 23:26
- kosnik
Re : Virtual Host
salut, bon j'arrive âpres la bataille mais ça peut être utile
Sylvain31
En fait, ce que je voudrais faire, c'est une page qui "passe" par le port 80, mais qui affiche en gros ce qu'il y a sur www.mon-domaine.net:8112, ou localhost:8112 si tu es en local sur le serveur.
tu peut essaye ça, ou quelque chose se s'approchant avec "ServerAlias" :
<VirtualHost ton_ip:8112>
ServerAdmin webmaster@mon-domaine.net
ServerName www.mon-domaine.net
ServerAlias bt.mon-domaine.net
DocumentRoot /home/toto/www/
Options -Indexes -FollowSymlinks
#Sécurité
RewriteEngine On
RewriteCond %{REQUEST_METHOD} ^TRACE
RewriteRule .* - [F]
CustomLog /var/log/apache2/toto_access.log combined
</VirtualHost>
Fabione01, c'est expliquer un peu plus haut, ou sino tu la doc ici pour crée des virtual host
Dernière modification par kosnik (Le 17/02/2008, à 23:27)
Pourquoi faire simple quand on peut faire compliquer
Hors ligne
#19 Le 16/04/2008, à 13:40
- bens
Re : Virtual Host
Bonjour,
je suis nouveau dans ce forum et j'ai besoin de votre aide
j'ai installé suse linux sur windows en utilizant Vmware Workstation 5.5, je peux fair ping entre la machine virtuel et la machine host(anfition).
J'ai instalé un serveur local (localhost) sur la machine virtuel mais ce que je veux c'est d'y acceder a partir de la machine host(windows).
J'espere que je me suis bien expliqué.
Comment on fait pour ça?
Merci et desolé pour tout derangement.
Pages : 1