Forum général.général Virtual Host avec apache2

Posté par .
Tags : aucun
1
29
août
2010
Bonjour,
j'ai un nom de domaine chez gandi, que je redirige avec un champ A vers mon IP, simplement.
Seulement, je m'essaie aux virtualhost, et j'arrive à faire pointer glorf.eynires.fr sur un répertoire particulier de mon /var/www, mais le tout est sur le port 8080, donc il faut que je tape http://glorf.eynires.fr:8080/ ... Je suppose qu'il y a un moyen de tout faire sur le port 80, et de rediriger ensuite vers le 8080 si c'est pour glorf.eynires.fr.
Mais je ne sais pas du tout ... Quelqu'un pourrait-il m'aider ?
Cordialement,
Glorf
  • # redirect permanent

    Posté par . Évalué à 2.

    crée le fichier /etc/apache2/sites-enabled/glorf.eynires.fr
    avec ceci dedans :

    <VirtualHost *:80>
    ServerName glorf.eynires.fr
    Redirect permanent / http://glorf.eynires.fr:8080/
    </VirtualHost>
    • [^] # Re: redirect permanent

      Posté par . Évalué à 1.

      j'oubliais de préciser que le chemin de fichier correspond à un apache2 en paquets systèmes pour debian lenny

      et il faut taper :

      /etc/init.d/apache2 reload

      pour que apache prenne en compte la conf du vhost
      • [^] # Re: redirect permanent

        Posté par . Évalué à 1.

        Bon, ben ça ne marche pas ...
        http://eynires.fr/ me sort mon site habituel, eynires.fr:8080/ me sort l'endroit que je veux,
        glorf.eynires.fr et glorf.eynires.fr:8080/ sont pas atteignables ("serveur introuvable").
        mes vhosts :
        celui par défaut :

        <VirtualHost *:80>
        ServerAdmin glorf@eynires.fr
        Alias /webmail/ "/var/lib/roundcube/"
        DocumentRoot /var/www
        #directives de configuration qui n'ont pas de rapport avec mon problème
        </VirtualHost>

        vhost glorf :

        <VirtualHost *:8080>
        ServerAdmin glorf@eynires.fr
        ServerName glorf.eynires.fr
        DocumentRoot /var/www/misc/glorf
        #directives de conf sans rapport aussi
        </VirtualHost>

        et vhost glorf.eynires.fr :

        <VirtualHost *:80>
        ServerName glorf.eynires.fr
        Redirect permanent / http://glorf.eynires.fr:8080/
        </VirtualHost>

        et, je pense pas que ça peut servir, ma configuration DNS chez gandi :

        @ 28800 IN MX 10 smtp
        smtp 300 IN A 82.226.176.84
        @ 300 IN A 82.226.176.84
        www 300 IN A 82.226.176.84
        • [^] # Re: redirect permanent

          Posté par (page perso) . Évalué à 2.

          glorf.eynires.fr et glorf.eynires.fr:8080/ sont pas atteignables ("serveur introuvable").

          et, je pense pas que ça peut servir, ma configuration DNS chez gandi :

          Ben si, glorf doit d'abord posséder un record vers quelque part. Pour le moment il n'en a pas. Sans ça, tu ne pourras pas accéder à ton vhost (à moins de passer par /etc/hosts).

          thib@pollux:~$ host glorf.eynires.fr
          Host glorf.eynires.fr not found: 3(NXDOMAIN)
          • [^] # Re: redirect permanent

            Posté par . Évalué à 1.

            Ça marche maintenant, et en fait en faisant écouter apache sur le port 80 avec juste glorf, je peux désactiver glorf.eynires.fr
            Parfait !
        • [^] # Re: redirect permanent

          Posté par . Évalué à 2.

          tout ca peut etre simplifier en faisant un seul fichier vhost pour glorf

          <VirtualHost *:80>
          ServerAdmin glorf@eynires.fr
          ServerName glorf.eynires.fr
          DocumentRoot /var/www/misc/glorf
          #directives de conf sans rapport aussi
          </VirtualHost>


          evidemment il faudra que glorf.eynires.fr ait une entrée DNS pour qu'un navigateur puisse demander http://glorf.eynires.fr/
      • [^] # Re: redirect permanent

        Posté par (page perso) . Évalué à 2.

        Heu, si t'es sous debian, tu le crées pas dans enabled mais dans sites-available et ensuite tu fais un a2ensite glorf.eynires.fr pour l'activer. Et ensuite tu reload.
        Bien sûr ça marchera aussi mais c'est plus propre comme ça.
  • # vhost

    Posté par . Évalué à 2.

    Oui il y a moyen.

    En gros, il existe 3 types de virtualhosts :
    - basé sur l'ip
    - basé sur le port
    - basé sur le host header.

    Pour l'ip, il te faut plusieurs @ip public sur ta machine, ce qui j'imagine n'est pas de le cas.
    Pour le port, à priori, c'est pas ce que tu veux.
    Ce qu'il t faut c'est sur le hostheader de ta requête http.

    Donc tu déclares ton namevirtualhost tonip:80, tu déclares ton <VirtualHost tonip:80> et apache se débrouillera avec ce qu'il trouvera dans ServerName pour savoir que c'est bien ce site là qu'il doit fournir.

    Si, par exemple, derrière il y a un tomcat ou autre serveur applicatif, tu peux éventuellement t'essayer aux proxypass sur un vhost binder sur la socket tonip:80 qui reécrira tout ce qui va et tout ce qui vient vers ton tomcat. Tu auras donc un apache en frontal et un tomcat derrière. Si c'est le cas, bind ton tomcat sur 127.0.0.1 et utilise le proxypass sur 127.0.0.1. Ton tomcat ne sera alors accessible que via ton apache.
    Si c'est pas ce que tu veux, précise ta demande stp.

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.