VirtualHost ou Apache2 je ne sais plus
ylanu
Messages postés
42
Statut
Membre
-
kedal7 Messages postés 206 Statut Membre -
kedal7 Messages postés 206 Statut Membre -
Bonjour,
Je viens de monter récemment un serveur apache tout simple. Je gère 2 domaines la dessus domaine1.net et domaine2.org
Vous aurez tout de suite compris que je souhaite héberger les 2 domaines sur le même serveur. J'ai déjà suivi les tuto de chez apache mais en vain. Je m'explique:
En local tout va très bien, les pages s'affiche, là où ça se gâte c'est via internet.
Pour le domaine1.net
Quand je rentre http://domaine1.net, la page marche
Quand je rentre http://www.domaine1.net, impossible d'afficher la page
Pour le domaine2.org
Quand je rentre http://domaine2.org, il affiche le contenu du dossier /var/www
Quand je rentre http://www.domaine2.org, ça marche
Voici mon /etc/apache2/httpd.conf
Voici mon /etc/hosts
Chez les registrars ma zone dns est comme suit
Voilà, est ce que quelqu'un peut me dire ce qui se passe là car j'avoue que ne suis plus maintenant.
D'avance merci
A vous
Je viens de monter récemment un serveur apache tout simple. Je gère 2 domaines la dessus domaine1.net et domaine2.org
Vous aurez tout de suite compris que je souhaite héberger les 2 domaines sur le même serveur. J'ai déjà suivi les tuto de chez apache mais en vain. Je m'explique:
En local tout va très bien, les pages s'affiche, là où ça se gâte c'est via internet.
Pour le domaine1.net
Quand je rentre http://domaine1.net, la page marche
Quand je rentre http://www.domaine1.net, impossible d'afficher la page
Pour le domaine2.org
Quand je rentre http://domaine2.org, il affiche le contenu du dossier /var/www
Quand je rentre http://www.domaine2.org, ça marche
Voici mon /etc/apache2/httpd.conf
ServerName 127.0.0.1
NameVirtualHost 192.168.25.5:80
<VirtualHost 192.168.25.5:80>
ServerName www.domaine1.net
DocumentRoot /var/www/domaine1.net
</VirtualHost>
<VirtualHost 192.168.25.5:80>
ServerName www.domaine2.org
DocumentRoot /var/www/domaine2.org
</VirtualHost>
Voici mon /etc/hosts
127.0.0.1 localhost
127.0.1.1 web
192.168.25.5 domaine1.net
192.168.25.5 domaine2.org
Chez les registrars ma zone dns est comme suit
@ A monippublic
www A monipublic
Voilà, est ce que quelqu'un peut me dire ce qui se passe là car j'avoue que ne suis plus maintenant.
D'avance merci
A vous
A voir également:
- VirtualHost ou Apache2 je ne sais plus
- Apache2 ✓ - Forum Linux / Unix
- Problème avec Apache2 ... - Forum Debian
- Redémarrer apache2 - Forum Debian
- .Htaccess apache2 ne fonctionne pas ✓ - Forum Linux / Unix
- Problème vhost apache2 ✓ - Forum Hébergement
13 réponses
Separe les configs dans differents fichiers. C'est fait pour, c'est plus clair.
Pour mois c'est comme ca:
/usr/local/etc/httpd/extra/httpd-vhosts.conf
/usr/local/etc/httpd/extra/sites/domaine1.net
/usr/local/etc/httpd/extra/sites/domaine2.org
Pour mois c'est comme ca:
/usr/local/etc/httpd/extra/httpd-vhosts.conf
NameVirtualhost * Include /usr/local/etc/httpd/extra/sites/domaine1.net Include /usr/local/etc/httpd/extra/sites/domaine2.org
/usr/local/etc/httpd/extra/sites/domaine1.net
<VirtualHost *>
ServerName domaine1.net
DocumentRoot /www/online/sites/domaine1.net/htdocs
CustomLog /www/online/logs/domaine1.net_access combined
ErrorLog /www/online/logs/domaine1.net_errors
</VirtualHost>
/usr/local/etc/httpd/extra/sites/domaine2.org
<VirtualHost *>
ServerName domaine2.org
DocumentRoot /www/online/sites/domaine2.org/htdocs
CustomLog /www/online/logs/domaine2.org_access combined
ErrorLog /www/online/logs/domaine2.org_errors
</VirtualHost>
Salut,
ce n'est pas la séparation qui va changer quelque chose ;-)
je ne suis pas trop pour ça, sauf s'il y a des pertes de performances ;-)
(par exemple sous Debian on a un fichier /etc/apache2/ports.conf juste pour écrire la directive
Listen 80, perso ça me fait rire, mais pour certains, qui ne connaissent apache, c'était un vrai problème, puisqu'ils ne savaient pas pourquoi leur serveur ne fonctionne pas ;-) )
En revanche le même Débian alaissé dans le fichier de configuration par défaut un sacré nombre des lignes pour les directives
AddIcon
AddLanguage
AddCharset
ErrorDocument
quand ils pouvaient créer des fichiers et utiliser Include
Mais bon, chacun s'organise comme il veut ;-)
En fait tu dois écrire comme ça
Donc tu dois preciser l'ip avec la directive NameVirturalHost (tu l'as déjà fait).
En revanche pour la directive VirtualHost tu dois utiliser le nom et pas l'ip.
La configuration de genre NameVIrtualHost * et VirtualHost * va fonctionner, mais tu ne sauras pas que réprensent le * pour NameVirturalHost et VirtualHost ;-)
Si tu as plusieurs ip, alors tu peux faire une configuration de hôtes virtuels par adresse, mais en ce cas la directive NameVIrtualHost est inutile.
ce n'est pas la séparation qui va changer quelque chose ;-)
je ne suis pas trop pour ça, sauf s'il y a des pertes de performances ;-)
(par exemple sous Debian on a un fichier /etc/apache2/ports.conf juste pour écrire la directive
Listen 80, perso ça me fait rire, mais pour certains, qui ne connaissent apache, c'était un vrai problème, puisqu'ils ne savaient pas pourquoi leur serveur ne fonctionne pas ;-) )
En revanche le même Débian alaissé dans le fichier de configuration par défaut un sacré nombre des lignes pour les directives
AddIcon
AddLanguage
AddCharset
ErrorDocument
quand ils pouvaient créer des fichiers et utiliser Include
Mais bon, chacun s'organise comme il veut ;-)
En fait tu dois écrire comme ça
ServerName 127.0.0.1
NameVirtualHost 192.168.25.5:80
<VirtualHost www.domaine1.net>
ServerName www.domaine1.net
DocumentRoot /var/www/domaine1.net
</VirtualHost>
<VirtualHost www.domaine2.org>
ServerName www.domaine2.org
DocumentRoot /var/www/domaine2.org
</VirtualHost>
Il s'agit des hôtes virtuels par nom et pas par adresse.
Donc tu dois preciser l'ip avec la directive NameVirturalHost (tu l'as déjà fait).
En revanche pour la directive VirtualHost tu dois utiliser le nom et pas l'ip.
La configuration de genre NameVIrtualHost * et VirtualHost * va fonctionner, mais tu ne sauras pas que réprensent le * pour NameVirturalHost et VirtualHost ;-)
Si tu as plusieurs ip, alors tu peux faire une configuration de hôtes virtuels par adresse, mais en ce cas la directive NameVIrtualHost est inutile.
ServerName 127.0.0.1
NameVirtualHost 192.168.25.5:80
<VirtualHost www.domaine1.net>
ServerName www.domaine1.net
DocumentRoot /var/www/domaine1.net
</VirtualHost>
<VirtualHost www.domaine2.org>
ServerName www.domaine2.org
DocumentRoot /var/www/domaine2.org
</VirtualHost>
Il me dit que je ne peux pas mélanger un non port et port....en gros il y a une erreur quoi.
Maintenant j'ai fais ceci
ServerName 127.0.0.1
NameVirtualHost 192.168.25.5:80
<VirtualHost www.domaine1.net:80>
ServerName www.domaine1.net
ServerName domaine1.net
DocumentRoot /var/www/domaine1.net
</VirtualHost>
<VirtualHost www.domaine2.org:80>
ServerName www.domaine2.org
ServerName domaine2.org
DocumentRoot /var/www/domaine2.org
</VirtualHost>
Et là surprise:
Quand je fais domaine1.net ou www.domaine1.net j'ai la même page d'acceuil, donc c'est bon.
Cependant quand je fais domaine2.org j'ai la page d'acceuil de domaine1.net et
quand je fais www.domaine2.org j'ai, impossible d'afficher la page alors qu'hier il fonctionnait.
Une idée?
A vous
Salut,
tu n'as pas besoin de spécifier le port 80, il est par défaut
et affiche les logs pour voir les erreurs pour voir
ainsi que le fichier de configuration d'apache (la configuration des hôtes virtuelles est correcte donc ça ne viens pas de là)
tu n'as pas besoin de spécifier le port 80, il est par défaut
et affiche les logs pour voir les erreurs pour voir
ainsi que le fichier de configuration d'apache (la configuration des hôtes virtuelles est correcte donc ça ne viens pas de là)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Quand je ne met pas le :80, il me fait un message d'erreur quand je fais
Je corrige
Quand je fais:
domaine1.net en local il ne trouve pas
www.domaine1.net en local c'est bon
via internet j'ai la même page d'acceuil, donc c'est bon pour les 2
Cependant quand je fais:
domaine2.org, www.domaine2.org en local j'ai la page d'acceuil de domaine1.net
via internet domaine2.org, impossible d'afficher la page
quand je fais www.domaine2.org j'ai, impossible d'afficher la page alors qu'hier il fonctionnait.
sudo /etc/init.d/apache2 reload
Je corrige
Quand je fais:
domaine1.net en local il ne trouve pas
www.domaine1.net en local c'est bon
via internet j'ai la même page d'acceuil, donc c'est bon pour les 2
Cependant quand je fais:
domaine2.org, www.domaine2.org en local j'ai la page d'acceuil de domaine1.net
via internet domaine2.org, impossible d'afficher la page
quand je fais www.domaine2.org j'ai, impossible d'afficher la page alors qu'hier il fonctionnait.
je t'ai demander d'afficher ton fichier de configuration d'apache ainsi que les logs après tes tests
sinon je ne peux rien faire
et attention tu as mis 2 fois la directive ServerName
essaie comme ça
sinon je ne peux rien faire
et attention tu as mis 2 fois la directive ServerName
essaie comme ça
ServerName 127.0.0.1
NameVirtualHost 192.168.25.5
<VirtualHost www.domaine1.net>
ServerName www.domaine1.net
DocumentRoot /var/www/domaine1.net
</VirtualHost>
<VirtualHost www.domaine2.org>
ServerName www.domaine2.org
DocumentRoot /var/www/domaine2.org
</VirtualHost>et dans /etc/hosts 127.0.0.1 localhost
127.0.1.1 web
192.168.25.5 www.domaine1.net domaine1.net
192.168.25.5 www.domaine2.org domaine2.org
affiche aussi ls -l /var/www
Désolée mai je n'ai pas vu attends je te le fais:
/etc/apache2/apache.conf, je te mets l'essentiel
et voici la fameuse erreur
ls -l /var/www
le httpd.conf et /etc/hosts est le même que ce que tu m'as donné
Résultat:
http://www.domaine1.net et http://domaine1.net = ok via internet
en local domaine1.net = page introuvable
http://domaine2.org = page d'accueil de domaine1.net
http://www.domaine2.org = page introuvable
en local domaine2.org et www.domaine2.org = page d'accueil de domaine1.net
Voilà
merci encore
/etc/apache2/apache.conf, je te mets l'essentiel
ServerRoot "/etc/apache2"
LockFile /var/lock/apache2/accept.lock
PidFile /var/run/apache2.pid
Timeout 300
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 15
<IfModule mpm_prefork_module>
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxClients 150
MaxRequestsPerChild 0
</IfModule>
<IfModule mpm_worker_module>
StartServers 2
MaxClients 150
MinSpareThreads 25
MaxSpareThreads 75
ThreadsPerChild 25
MaxRequestsPerChild 0
</IfModule>
User www-data
Group www-data
AccessFileName .htaccess
<Files ~ "^\.ht">
Order allow,deny
Deny from all
</Files>
DefaultType text/plain
HostnameLookups on
ErrorLog /var/log/apache2/error.log
LogLevel warn
Include /etc/apache2/mods-enabled/*.load
Include /etc/apache2/mods-enabled/*.conf
Include /etc/apache2/httpd.conf
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent
ServerTokens Full
ServerSignature Off
Include /etc/apache2/conf.d/
Include /etc/apache2/sites-enabled/
et voici la fameuse erreur
ylan@web:~$ sudo /etc/init.d/apache2 reload
* Reloading web server config apache2 3844
[Sun Dec 30 14:08:08 2007] [error] VirtualHost www.domaine1.net:0 -- mixing * ports and non-* ports with a NameVirtualHost address is not supported, proceeding with undefined results
[Sun Dec 30 14:08:08 2007] [error] VirtualHost www.domaine2.org:0 -- mixing * ports and non-* ports with a NameVirtualHost address is not supported, proceeding with undefined results
[ OK ]
ls -l /var/www
ylan@web:~$ ls -l /var/www total 12 drwxr-xr-x 2 root root 4096 2007-12-28 21:16 apache2-default drwxr-xr-x 2 root root 4096 2007-12-29 14:02 domaine1.net drwxr-xr-x 2 root root 4096 2007-12-29 14:03 domaine2.org
le httpd.conf et /etc/hosts est le même que ce que tu m'as donné
Résultat:
http://www.domaine1.net et http://domaine1.net = ok via internet
en local domaine1.net = page introuvable
http://domaine2.org = page d'accueil de domaine1.net
http://www.domaine2.org = page introuvable
en local domaine2.org et www.domaine2.org = page d'accueil de domaine1.net
Voilà
merci encore
> ce n'est pas la séparation qui va changer quelque chose ;-)
Non mais on y voit plus clair! Surtout par la suite quand tu ajoutes/modifis la config.
> ServerName 127.0.0.1
> NameVirtualHost 192.168.25.5:80
De mon coté (Dedibox, Slackware 10.2, Apache 2.2.6) c'est comme ca:
(IP factice, 80<--->8080 via iptables)
Ca tourne donc sur l'IP de la Dedibox sur le port 8080
> Donc tu dois preciser l'ip avec la directive NameVirturalHost (tu l'as déjà fait).
> En revanche pour la directive VirtualHost tu dois utiliser le nom et pas l'ip.
Je crois qu'il y a plusieur facon de faire, en tout cas de mon coté ca marche.
Il vaut mieux installer Apache "from scratch" depuis les sources, comme ca même
quand tu changes de distribution, tout est a sa place.
Non mais on y voit plus clair! Surtout par la suite quand tu ajoutes/modifis la config.
> ServerName 127.0.0.1
> NameVirtualHost 192.168.25.5:80
De mon coté (Dedibox, Slackware 10.2, Apache 2.2.6) c'est comme ca:
(IP factice, 80<--->8080 via iptables)
Listen 88.100.101.102:8080 ServerName 88.100.101.102:8080
Ca tourne donc sur l'IP de la Dedibox sur le port 8080
> Donc tu dois preciser l'ip avec la directive NameVirturalHost (tu l'as déjà fait).
> En revanche pour la directive VirtualHost tu dois utiliser le nom et pas l'ip.
Je crois qu'il y a plusieur facon de faire, en tout cas de mon coté ca marche.
Il vaut mieux installer Apache "from scratch" depuis les sources, comme ca même
quand tu changes de distribution, tout est a sa place.
Salut,
je n'ai pas besoin d'essentiel, j'ai besoin de tout ;-)
et je n'ai pas demander les erreurs que tu les obtiens quand tu relance apache mais les erreur de connexion que tu les trouves dans les logs d'apache , voir le fichier /var/log/apache2/error.log
je n'ai pas besoin d'essentiel, j'ai besoin de tout ;-)
et je n'ai pas demander les erreurs que tu les obtiens quand tu relance apache mais les erreur de connexion que tu les trouves dans les logs d'apache , voir le fichier /var/log/apache2/error.log
Bonjour,
Voilà ce que tu voulais
Je crois que je vais commencer par le scratch
Voilà ce que tu voulais
[Sun Dec 30 01:36:50 2007] [notice] Graceful restart requested, doing restart [Sun Dec 30 01:36:50 2007] [notice] Apache/2.2.4 (Ubuntu) PHP/5.2.3-1ubuntu6.2 configured -- resuming normal operations [Sun Dec 30 01:47:43 2007] [notice] Graceful restart requested, doing restart [Sun Dec 30 01:47:43 2007] [notice] Apache/2.2.4 (Ubuntu) PHP/5.2.3-1ubuntu6.2 configured -- resuming normal operations [Sun Dec 30 01:51:42 2007] [notice] Graceful restart requested, doing restart [Sun Dec 30 01:51:42 2007] [notice] Apache/2.2.4 (Ubuntu) PHP/5.2.3-1ubuntu6.2 configured -- resuming normal operations [Sun Dec 30 02:00:15 2007] [error] [client 192.168.25.254] File does not exist: /var/www/talentamiray.org/apache2-default, referer: http:/domaine2.org/ [Sun Dec 30 02:00:22 2007] [error] [client 192.168.25.254] File does not exist: /var/www/domaine2.org/domaine1.net, referer: http://domaine2org/ [Sun Dec 30 02:00:27 2007] [error] [client 192.168.25.254] File does not exist: /var/www/domaine2.org/domaine2.org, referer: http://domaine2.org/ [Sun Dec 30 02:00:41 2007] [error] [client 192.168.25.254] File does not exist: /var/www/domaine2.org/favicon.ico [Sun Dec 30 02:19:46 2007] [error] [client 192.168.25.254] File does not exist: /var/www/domaine2.org/favicon.ico [Sun Dec 30 02:32:27 2007] [notice] (10)No child processes: cannot send signal 10 to pid 4599 (non-child or already dead)
Je crois que je vais commencer par le scratch
Ca devra te poser des questions cette partie (voir en gras)
Si tu veux qu'on comprenne, affiche les fichiers de configuration entiers.
L'installation depuis les sources ne va rien changer si tu as les fichiers de configuration mal renseignés.
Si tu veux qu'on comprenne, affiche les fichiers de configuration entiers.
L'installation depuis les sources ne va rien changer si tu as les fichiers de configuration mal renseignés.
[Sun Dec 30 02:00:15 2007] [error] [client 192.168.25.254] File does not exist: /var/www/talentamiray.org/apache2-default, referer: http:/domaine2.org/ [Sun Dec 30 02:00:22 2007] [error] [client 192.168.25.254] File does not exist: /var/www/domaine2.org/domaine1.net, referer: http://domaine2org/ [Sun Dec 30 02:00:27 2007] [error] [client 192.168.25.254] File does not exist: /var/www/domaine2.org/domaine2.org, referer: http://domaine2.org/</code>
Merci aux personnes de ce post qui ont indirectement résolu mon problème de :
J'ai enlevé le port :80 de mes <VirtualHost> alors qu'ils étaient indiqués sur ce tutorial :
http://www.nuxwin.com/article-18-tutorial-serveur-web-apache-2-virtualhost
Je vais en profiter pour en toucher un mot à son auteur.
...mixing * ports and non-* ports with a NameVirtualHost address is not supported, proceeding with undefined results
J'ai enlevé le port :80 de mes <VirtualHost> alors qu'ils étaient indiqués sur ce tutorial :
http://www.nuxwin.com/article-18-tutorial-serveur-web-apache-2-virtualhost
Je vais en profiter pour en toucher un mot à son auteur.