Virtual host & apache 2 - Logiciels - Linux et OS Alternatifs
Marsh Posté le 14-02-2005 à 14:12:31
Personnellement, j'ai un truc comme ça :
Dans mon apache.conf :
|
Après, j'ai un fichier par virtual host, qui contient un truc du genre :
|
J'ai pas ma config sous les yeux, mais il me semble que c'est comme ça.
Marsh Posté le 14-02-2005 à 23:25:55
pour le https, faut pas utiliser un module spécial ?
il me semble que spécifier comme sa, il va utiliser que le port, et pas le protocole ?
*:80 c'est la meme chose que xxx.xxx.xxx.xxx:80 ?
Marsh Posté le 14-02-2005 à 23:30:46
et la encore pire.... mes virtual host, ne marche que dans le réseau local :-S !!!!!!!!!
pour lui, mon ip et mon nom dynDNS il les prend pareil
j'y comprend vraiment pu rien du tout !
Marsh Posté le 14-02-2005 à 23:31:37
Ouais, bien sur, tu rajoutes ce qu'il faut pour faire marcher le ssl.
*:80, ça te permet d'y accéder à pertir de toutes les adresses ip de la machine.
Personnellement, mon serveur me sert de routeur aussi, et j'ai un virtualhost pour y accéder depuis l'intérieur, et des virtualhost pour y accéder de l'extérieur.
Si tu y accède qu'à partir d'une seule adresse, tu peux mettre * si tu veux ...
Marsh Posté le 14-02-2005 à 23:39:17
il y a une option spécial pour faire marcher les virtuals hosts de l'exterieur ?!
du réseau local, sa marche nicker, mais de l'exterieur... rien à faire ...
Marsh Posté le 14-02-2005 à 23:54:44
# Fichier apache2.conf
#######################
ServerRoot /usr/lib/apache2
ServerName "The Crypt ?!!! ..."
#LockFile /etc/apache2/apache2.lock
PidFile /var/run/apache2.pid
ErrorLog logs/error_log
LogLevel warn
DocumentRoot /var/www/localhost/htdocs
## la il charge tout les modules !!
Include conf/modules.d/*.conf
Include conf/commonapache2.conf
Include conf/vhosts/vhosts.conf
#BindAddress *
Listen 80
Listen 8080
Timeout 300
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 15
# Fichier commonapache2.conf
#######################
User apache
Group apache
UseCanonicalName Off
HostnameLookups On
EnableMMAP on
ServerTokens Full
ServerSignature On
# tout ce qui est mime, <directory> on suppose que c'est ok
# Fichier vhost.conf
#######################
NameVirtualHost domaine1
<VirtualHost domaine1>
DocumentRoot /var/www/domaine1/htdocs
ServerName domaine1
ServerAdmin root@domaine1
CustomLog logs/domaine1-access.log combined
ErrorLog logs/domaine1-error_log
RewriteEngine On
RewriteOptions inherit
</VirtualHost>
NameVirtualHost *:8080
<VirtualHost *:8080>
DocumentRoot /var/www/domaine1/htdocs
ServerName domaine1
ServerAdmin root@domaine1
Redirect permanent / http://www.google.fr
RewriteEngine On
RewriteOptions inherit
</VirtualHost>
#<IfDefine SSL>
# NameVirtualHost domaine1
# <VirtualHost domaine1>
# DocumentRoot /var/www/domaine1/htdocs
# ServerName "domaine1"
# ServerAdmin root@domaine1
#
# CustomLog logs/domaine1-ssl_access_log combined
# ErrorLog logs/domaine1-ssl_error_log
# CustomLog logs/domaine1.ssl_request_log "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
#
# SSLEngine on
# SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
# SSLCertificateFile /etc/ssl/server.crt
# SSLCertificateKeyFile /etc/ssl/server.key
# SSLCACertificateFile /etc/ssl/server.crt
#
# <Files ~ "\.(cgi|shtml|phtml|php?)$">
# SSLOptions +StdEnvVars
# </Files>
#
# <IfModule mod_setenvif.c>
# SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown downgrade-1.0 force-response-1.0
# </IfModule>
#
# <IfModule mod_rewrite.c>
# RewriteEngine On
# RewriteOptions inherit
# </IfModule>
# </VirtualHost>
#</IfDefine>
Marsh Posté le 14-02-2005 à 23:57:19
en fait le virtual host fonctionne que sur le serveur en question... comme je passais par un proxy j'avais pas vu tout de suite
Marsh Posté le 15-02-2005 à 00:13:55
non, il fonctionne si je suis sur le serveur.
quand je prend un poste client, le virtual host n'est pas prit en compte
mon serveur 192.168.0.1 <= pour lui tout est ok sa marche
mais : 192.138.0.10 192.168.0.20 <= pour eux sa marche pas
et pour tt les machines sur internet sa marche pas non plus
Marsh Posté le 15-02-2005 à 00:17:11
bon j'ai un peu trouver le probleme.....
mais il ne prend que les @IP, si je met le nom de domaine sa passe pas...
et comme j'ai une ip dynamic....
Marsh Posté le 15-02-2005 à 00:21:14
Si tu dis, ça marche pas, ça aide pas trop ...
T'as des trucs dans tes logs, tu tombe sur quoi ?
Précises un peu, parce que là ...
Marsh Posté le 15-02-2005 à 00:29:18
# mon fichier vhost.conf
#########################
NameVirtualHost domaine1:80
<VirtualHost domaine1:80>
DocumentRoot /var/www/domaine1/htdocs
ServerName domaine1
ServerAdmin root@domaine1
CustomLog logs/domaine1-access.log combined
ErrorLog logs/domaine1-error_log
RewriteEngine On
RewriteOptions inherit
</VirtualHost>
#NameVirtualHost 192.168.0.1:80
#<VirtualHost 192.168.0.1:80>
# DocumentRoot /var/www/domaine1/htdocs
# ServerName 192.168.0.1
# ServerAdmin root@domaine1
# CustomLog logs/domaine1-access.log combined
# ErrorLog logs/domaine1-error_log
# RewriteEngine On
# RewriteOptions inherit
#</VirtualHost>
#NameVirtualHost 83.112.22.6:80
#<VirtualHost 83.112.22.6:80>
# DocumentRoot /var/www/domaine1/htdocs
# ServerName domaine1
# ServerAdmin root@domaine1
# CustomLog logs/domaine1-access.log combined
# ErrorLog logs/domaine1.net-error_log
# RewriteEngine On
# RewriteOptions inherit
#</VirtualHost>
#################
tel quel, je tombe dans le documentroot principale, à savoir /var/www/localhost/htdocs.
maintenant, si je décommente le 1e v-host ( avec le nom de domaine ), et que je décommente le dernier ( avec mon @IP internet ).
je tombe dans le bon documentroot à savoir /var/www/domaine1/htdocs
et ceci que je tape le nom de domaine ou l'@IP.
en gros pour le serveur ya aucune erreur.
comme j'ai une IP dynamique..... sa pose encore problème
( en fait j'avance a chq fois un peut plus.... )
Il y a un truc a faire pour qu'il prenne le nom de domaine ?
Marsh Posté le 15-02-2005 à 00:41:56
bon, j'ai mit :
UseCanonicalName On
pour qu'il utilise la variable "ServerName" et non les @IP et c'est ok ! :-)
Marsh Posté le 15-02-2005 à 00:42:48
bcq de bruit....... pour pas gd chose
merci de ton aide en tout cas !
et puis des fois parler tout seul ça aide aussi a regler les problèmes :-p
Marsh Posté le 15-02-2005 à 00:43:59
Si tu mets ton nom de domaine en VirtualHost, tu fais du IP-Base VirtualHost, c'est à dire qu'il te faut une adresse IP pour chaque VirtualHost.
Je pense que c'est pas trop ce que tu veux.
Il doit y avoir un truc pour que ça marche avec une adresse IP dynamique, mais je connais pas
Sinon, il faut que tu laisses tomber le virtualhost en sur ton LAN, et que tu utilises * ...
Marsh Posté le 15-02-2005 à 14:59:50
mais ah chaque deconnexion du net, je suis obliger de relancer le serveur
Marsh Posté le 14-02-2005 à 01:10:09
Bonjour,
J'ai plusieurs nom de domaine, type dyndns :
j'utilise donc des virtuals host pour gérer le tous.
le problème qui se pose, c'est lorsque que je veux utiliser le https pour un des noms de domaine.
petit exemple :
###############
NameVirtualHost serveur1.com
<VirtualHost serveur1.com>
DocumentRoot /var/www/serveur1/htdocs
ServerName serveur1.com
ServerAdmin root@serveur1.com
RewriteEngine On
RewriteOptions inherit
</VirtualHost>
NameVirtualHost serveur2.com
<VirtualHost serveur1.com>
DocumentRoot /var/www/serveur2/htdocs
ServerName serveur2.com
ServerAdmin root@serveur2.com
RewriteEngine On
RewriteOptions inherit
</VirtualHost>
NameVirtualHost serveur3.com
<VirtualHost serveur3.com>
DocumentRoot /var/www/serveur3/htdocs
ServerName serveur3.com
ServerAdmin root@serveur3.com
RewriteEngine On
RewriteOptions inherit
</VirtualHost>
<IfDefine SSL>
NameVirtualHost serveur1
<VirtualHost serveur1>
DocumentRoot /var/www/serveur1/htdocs
ServerName "serveur1"
ServerAdmin root@serveur1.com
SSLEngine on
SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
SSLCertificateFile /etc/ssl/server.crt
SSLCertificateKeyFile /etc/ssl/server.key
SSLCACertificateFile /etc/ssl/server.crt
<Files ~ "\.(cgi|shtml|phtml|php?)$">
SSLOptions +StdEnvVars
</Files>
<IfModule mod_setenvif.c>
SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown downgrade-1.0 force-response-1.0
</IfModule>
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteOptions inherit
</IfModule>
</VirtualHost>
</IfDefine>
#############
en fait si je rajoute le port avec le host, il me dit qu'il ne peut pas gérer et le host et le port en meme temps... c'est donc soit l'un soit l'autre
et dans cette exemple, je veux que serveur1.com puisse etre accessible en http & https.
sauf que je n'arrive par a le faire
ou je decommente le 1e et j'ai que le https, ou je decommente le dernier, et j'ai que le http qui marche.
les deux en meme temps il peut pas ( dans cet exemple )
Pour résumer comment faire marcher le http et le https en meme temps pour un virtual host ?