Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 05/07/2013, à 09:36

demeter44

[Résolu] VirtualHost gros souci

Bonjour à tous.

J'ai un petit problème avec les Virtualhost d'apache

J'ai effectué un Virtualhost défaut qui pointe vers mon home personnel pour le site principale

afin d’évité accédée a Phpmyadmin avec http://www.domaine.fr/phpmyadmin j'ai également modifié ce fichier afin de créer un sous domaine et désactivé cette pseudo arborescence.

tout fonctionne bien
si je tape www.mondomaine.fr je suis bien redirigé vers mon home
si je tape phpmyadmin.mondomaine.fr je suis bien redirigé vers phpmyadmin

mais voila

si je tape mondomaine.fr je suis redirigé vers phpmyadmin pas terrible niveau sécurité.

j'ai bien rajouté  dans apache.conf

RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]

le problème c'est que tout les sous domaine et ip pointe vers phpmyadmin alors que cela devrai pointé vers mon home.

si quelqu’un a une idée

merci

voici les fichiers :

phpmyadmin.conf

<VirtualHost freeprog.fr:80>
Servername phpmyadmin.freeprog.fr
DocumentRoot /usr/share/phpmyadmin
ErrorLog /home/tony/log/apache/error_phpmyadmin.freeprog.fr.log
CustomLog /home/tony/log/apache/access_phpmyadmin.freeprog.fr.log combined
<Directory /usr/share/phpmyadmin>
        Options FollowSymLinks
        DirectoryIndex index.php

        <IfModule mod_php5.c>
                AddType application/x-httpd-php .php

                php_flag magic_quotes_gpc Off
                php_flag track_vars On
                php_flag register_globals Off
                php_admin_flag allow_url_fopen Off
                php_value include_path .
                php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp
                php_admin_value open_basedir /usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/
        </IfModule>

</Directory>

# Authorize for setup
<Directory /usr/share/phpmyadmin/setup>
    <IfModule mod_authn_file.c>
    AuthType Basic
    AuthName "phpMyAdmin Setup"
    AuthUserFile /etc/phpmyadmin/htpasswd.setup
    </IfModule>
    Require valid-user
</Directory>

# Disallow web access to directories that don't need it
<Directory /usr/share/phpmyadmin/libraries>
    Order Deny,Allow
    Deny from All
</Directory>
<Directory /usr/share/phpmyadmin/setup/lib>
    Order Deny,Allow
    Deny from All
</Directory>
</VirtualHost>

site default :

<VirtualHost freeprog.fr:80>
        ServerAdmin webmaster@freeprog.fr
        Servername www.freeprog.fr
        serveralias freeprog.fr
        DocumentRoot /home/tony/www
        <Directory />
                Options FollowSymLinks
                AllowOverride None
        </Directory>
        <Directory /var/www/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
        </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 /home/tony/log/apache/error_freeprog.fr.log
        CustomLog /home/tony/log/apache/access_freeprog.fr.log combined

        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn

    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>

Dernière modification par demeter44 (Le 06/07/2013, à 18:43)

Hors ligne

#2 Le 05/07/2013, à 09:41

Amarokk

Re : [Résolu] VirtualHost gros souci

Un petit quick fix que tu peux essayer, c'est , pour ton site default, remplacer la première ligne

<VirtualHost freeprog.fr:80>

par

<VirtualHost _default_:80>

Il devrait prendre l'ascendant sur l'autre.
Tiens nous au courant.


Ubuntuboy since 2007

Hors ligne

#3 Le 05/07/2013, à 09:50

demeter44

Re : [Résolu] VirtualHost gros souci

Bonjour,

Cela ne fonctionne pas du tout si je rentre

<VirtualHost _default_:80>

même www.mondomaine.fr est redirigé vers phpmyadmin.

Merci de l’intérêt porté a mon post

Hors ligne

#4 Le 05/07/2013, à 11:21

tiramiseb

Re : [Résolu] VirtualHost gros souci

Salut,

Remplace <VirtualHost freeprog.fr:80> par <VirtualHost *:80> (plus simple avec "*" qu'avec "_default_") tout de même, c'est plus facile à suivre smile


Il y a probablement un moyen de résoudre le problème avec un rewrite comme tu essaies de le faire, mais pourquoi ne pas plutôt définir un virtualhost spécifique, qui n'aurait que la redirection (en plus ce serait plus performant, même si tu ne risques pas de le ressentir) ?

Je t'invite à lire ça :
http://forum.ubuntu-fr.org/viewtopic.php?id=1316531

Hors ligne

#5 Le 05/07/2013, à 22:34

demeter44

Re : [Résolu] VirtualHost gros souci

Bonjour, merci de l’intérêt porté a mon message.

j'ai bien modifié <VirtualHost freeprog.fr:80> par <VirtualHost *:80>

mais tout est redirigé vers phpmyadmin. Je ne comprend vraiment pas pourquoi il prend le phpmyadmin en priorité. cela est t'il du au fait qu'il est dans le répertoire conf.d ?

peut être que je devrai créer un fichier dans site_available rien que pour lui qu'en pensez vous ?

Hors ligne

#6 Le 06/07/2013, à 06:42

tiramiseb

Re : [Résolu] VirtualHost gros souci

peut être que je devrai créer un fichier dans site_available rien que pour lui qu'en pensez vous ?

Techniquement, ça ne change pas grand chose : tous les fichiers sont chargés inclus de la même manière par la configuration d'Apache2, il n'y a pas une différence de traitement selon l'emplacement du fichier.
Mais pour que ce soit propre, bien sûr, si tu veux en faire un virtualhost rien qu'à lui, le fichier est de préférence à placer dans sites-available et à activer avec a2ensite.

J'ai pour ma part testé avec le nom d'hôte qui apparaît dans tes virtualhosts :

- avec phpmyadmin, j'arrive bien sur phpmyadmin
- avec www, j'arrive sur phpmyadmin
- sans rien, j'arrive sur squirrelmail


J'ai une question bête : ton site est-il bien activé (lien dans sites-enable vers sites-available, qui est créé par la commande a2ensite) ?



Sinon, concernant ta configuration, quelques remarques :
- pourquoi les logs dans /home ? C'est moche !
- le virtualhost de phpmyadmin me semble inutilement compliqué
- tu peux virer les références à /doc/ et à /cgi-bin/ dans la définition de ton site si tu ne les utilises pas
- tu utilises "Servername" et "serveralias", je crois que la casse ne change rien et qu'Apache devrait le comprendre sans problème, mais moi j'aime bien conserver les noms exacts des directives, donc "ServerName" et "ServerAlias" : c'est plus joli big_smile

Hors ligne

#7 Le 06/07/2013, à 08:55

demeter44

Re : [Résolu] VirtualHost gros souci

Bonjour Merci pour vos réponse.

je ne peut pas écrire <VirtualHost *:80> sinon il me ne trouve meme pas le www et redirige tout vers phpmyadmin.

cela vient sans doute de mon apache.conf

 NameVirtualHost 88.191.164.10:80 

ou alors de mon fichier hosts qui lui me parai très abstrait.

127.0.0.1       localhost.localdomain   localhost       freeprog1
88.191.164.10   freeprog        freeprog.fr     freeprog

ou bien encore de mon resolv.conf

nameserver 127.0.0.1

J'ai donc supprimer le site default et recréer un truc tout propre.

desormai :

phpmyadmin.freeprog.fr est bien redirigé
www.freeprog.fr est bien redirigé
freeprog.fr est bien redirigé

tout les autres sous domaine sans virtualhost ainsi que l'IP du dédié pointe vers phpmyadmin

Encore merci pour votre aide.

Hors ligne

#8 Le 06/07/2013, à 16:28

tiramiseb

Re : [Résolu] VirtualHost gros souci

je ne peut pas écrire <VirtualHost *:80> sinon il me ne trouve meme pas le www et redirige tout vers phpmyadmin.

cela vient sans doute de mon apache.conf

 NameVirtualHost 88.191.164.10:80 

D'une part, les valeurs de VirtualHost doivent être égales à celle de NameVirtualHost. Si tu as "NameVirtualHost 88.191.164.10:80", alors tu dois faire des "<VirtualHost 88.191.164.10:80>". Ou alors tu (re)mets VirtualHost *:80.
D'autre part, cette valeur est normalement dans ports.conf et non dans apache2.conf : dans la configuration fournie par Ubuntu il ne faut quasiment jamais modifier apache2.conf (sauf quand on a des besoins vachement bizarres de trucs vachement pointus).

La configuration par défaut d'Apache sur Ubuntu est vachement simple :
- il ne faut pas modifier apache2.conf
- NameVirtualHost est prédéfini dans ports.conf "comme il faut"
- il suffit de créer les configurations des hôtes virtuels, avec "*:80".

Éventuellement, désinstalle le paquet apache2 puis réinstalle-le, puis repars sur une base de configuration saine...
Car je ne sais pas ce que tu as pu modifier d'autre dans la configuration standard proposée par Ubuntu.

Hors ligne

#9 Le 06/07/2013, à 17:55

demeter44

Re : [Résolu] VirtualHost gros souci

Bonjour j'ai bien tenu compte de vos remarque et j'ai tout reinstallé proprement

j'ai également ajouter cette ligne dans mon fichier de config du domaine.

ServerAlias freeprog.fr *freeprog.fr *

tout est maintenant redirigé vers le répertoire définit sauf phpmyadmin qui lui pointe bien dans son dossier.

Tout pourrai être parfait mais mon sous domaine mail.freeprog.fr ne fonctionne plus et pointe dans le répertoire par default.

<VirtualHost *:80>
        ServerAdmin webmaster@freeprog.fr
        Servername mail.freeprog.fr
#        ServerAlias freeprog.fr *freeprog.fr *
        DocumentRoot /var/www/webmail
[...]
</VirtualHost>

j'ai quand même que c'est un peu le serpent qui se mort la queue nous résolvons un soucis mais un autre apparais.

[EDIT]

faut t'il créer un fichier par sous domaine ou mettre tout dans le fichier appartenant au domaine ? 

j'ai lu dans la doc

# Le premier serveur virtuel de la liste est aussi le serveur par défaut 

merci beaucoup pour votre aide.

Dernière modification par demeter44 (Le 06/07/2013, à 18:00)

Hors ligne

#10 Le 06/07/2013, à 18:02

tiramiseb

Re : [Résolu] VirtualHost gros souci

ServerAlias freeprog.fr *freeprog.fr *

Je n'aime pas trop les lignes comme ça. J'aime bien quand les choses sont définies parfaitement.
Je ne peux pas assurer que le problème vient de là, mais c'est possible... Je n'ai pas testé.

Je sais que lorsqu'on lui demande un nom qu'il ne connaît pas, Apache renvoie le premier virtualhost qu'il rencontre (donc celui qui est dans le premier fichier par ordre alphabétique). Donc il y a quelque part un ordre entre les vhosts.

Du coup, si ton hôte "freeprog.fr" est dans un fichier avec un nom qui passe avant celui de ton webmail, peut-être que l'astérisque oblitère complètement la configuration de l'hôte du webmail.

Et puis une chose qu'on n'a même pas encore regardée pour le moment : les logs !
D'une part au redémarrage Apache donne des alertes s'il y a des problèmes potentiels, d'autre part dans les logs on peut parfois trouver des trucs intéressants (à commencer par la réponse à la question "quel vhost est desservi ?", de laquelle découle la précision "Apache dessert-il l'hôte freeprog.fr (auquel cas il y a un conflit entre les deux vhosts) ou alors il dessert bien le webmail (auquel cas c'est un problème de configuration du vhost du webmail) ?").

Dernière modification par tiramiseb (Le 06/07/2013, à 18:02)

Hors ligne

#11 Le 06/07/2013, à 18:11

demeter44

Re : [Résolu] VirtualHost gros souci

Bonjour,

dans ce cas comment se fait t'il que phpmyadmin.freeprog.fr fonctionne lui

j'ai également regardé les logs il n'y a rien dans les logs pour le sous domaine mail.freeprog.fr apache se fou completement de se vhost ...

je ne comprend pas pourquoi cela marche pour un sous domaine et pas pour un autre.

Hors ligne

#12 Le 06/07/2013, à 18:12

tiramiseb

Re : [Résolu] VirtualHost gros souci

dans ce cas comment se fait t'il que phpmyadmin.freeprog.fr fonctionne lui

Peut-être parce que son nom de fichier passe avant.
Tu n'as pas précisé les noms des fichiers dans lesquels tu as mis les virtualhosts, du coup je ne peux que supposer...

Hors ligne

#13 Le 06/07/2013, à 18:17

demeter44

Re : [Résolu] VirtualHost gros souci

Le fichier phpmyadmin du vhost est generé aleatoirement il se trouve dans /etc/apache2/conf.d/phpmyadmin.conf

j'ai ensuite un fichier freeprog ( pour tout ce qui arrive sur la machine cf : serveralias )  et un fichier mail (pour mail.freeprog.net )

du coup cela veut dire que si cela fonctionne c'est peut être parce que phpmyadmin.conf est charger après le premier vhost.

si je supprimer serveralias tout les autre sous domaine seront redirigé vers phpmyadmin...

Hors ligne

#14 Le 06/07/2013, à 18:33

tiramiseb

Re : [Résolu] VirtualHost gros souci

Le fichier phpmyadmin du vhost est generé aleatoirement il se trouve dans /etc/apache2/conf.d/phpmyadmin.conf

Aléatoirement, je ne pense pas :-)

Dans conf.d, normalement ce n'est pas un vhost c'est juste la définition d'un alias (un sous-répertoire) qui s'applique à tous les sites.

En tout cas, conf.d est chargé avant sites-enabled.
Et si c'est un vhost, je te conseille de le déplacer dans sites-available...

si je supprimer serveralias tout les autre sous domaine seront redirigé vers phpmyadmin...

Donc phpmyadmin est bien chargé avant :-)

j'ai ensuite un fichier freeprog ( pour tout ce qui arrive sur la machine cf : serveralias )  et un fichier mail (pour mail.freeprog.net )

Donc "freeprog" est bien pris en compte avant "mail", il rend peut-être ce dernier inaccessible.

Tente la chose suivante :
- le vhost de phpmyadmin dans un fichier "phpmyadmin" dans sites-available
- le vhost du webmail dans un fichier "mail" dans sites-available
- le vhost de freeprog dans un fichier "z-freeprog" dans sites-available

Et activation de tout ça avec a2ensite, bien sûr.

Hors ligne

#15 Le 06/07/2013, à 18:39

demeter44

Re : [Résolu] VirtualHost gros souci

Rebonjour ^^ et merci beaucoup j'ai régler mon problème

jai ajouter dans port.conf

<VirtualHost *:80>
        RewriteEngine on
        RewriteRule ^/(.*) http://www.freeprog.fr/$1 [R=301,L]
</VirtualHost>

j'ai également supprimer le serveralias comme tu me la demandé et enfin respecté le modèle de tes vhost

du coup tout domaine, sous domaine ou ip non renseigné dans les vhost sera directement redirigé vers le site principale.

Je peut donc partir en vacance en toute tranquillité.

Encore merci pour ton aide et de ta patience.

pousse en l'air pour la communauté Ubuntu.

Hors ligne