Configuration apache

Bonjour,

Je voudrais faire cohabiter des sites en http et un site en https sur un même serveur. Avoir plusieurs sites sur un serveur pas de soucis avec virtualhost et apache

Par contre lorsque j'essaye il me mentionne le message d'erreur

Impossible de démarrer Apache :

 :
Starting web server (apache2)...[Thu Sep 09 21:08:01 2010] [error] VirtualHost *:443 -- mixing * ports and non-* ports with a NameVirtualHost address is not supported, proceeding with undefined results
[Thu Sep 09 21:08:01 2010] [error] VirtualHost *:80 -- mixing * ports and non-* ports with a NameVirtualHost address is not supported, proceeding with undefined results
[Thu Sep 09 21:08:01 2010] [warn] NameVirtualHost *:443 has no VirtualHosts
[Thu Sep 09 21:08:01 2010] [warn] NameVirtualHost *:80 has no VirtualHosts


La configuration :

Linux debian et apache.

Merci par avance de vos réponses

8 réponses

  1. Conserver toujours la même forme de déclaration pour un même port :
    <VirtualHost *:80>
    ou
    <VirtualHost *:443>

    Mais pas de
    <VirtualHost *:*>

    Si un même domaine doit être accessible en HTTP et HTTPS, faire un VirtualHost pour chaque.
    1. 1- Parmi tous tes fichiers de configuration de VirtualHost; un seul doit contenir ou commencer par la directive NameVirtualHost *:80 avant <VirtualHost *:80> et les autres commenceront par la directive <VirtualHost *:80>.
      2- Tu dois renseigner les deux numéro de port (80, 443) dans le fichier port.conf. Cela te permettra d'utiliser les deux ports.
      3- Il ne te reste plus qu'à mettre 80 comme numéro de port pour des sites que tu veux utiliser http et 443 pour des site que tu veux utiliser du https.
      1. Les VirtualHosts d'un port sont-ils tous déclarés de la même façon ?
        <VirtualHost *:80>

        Par exemple, y aurait-il des
        <VirtualHost *>
        ou des
        <VirtualHost *:*>
        en plus des
        <VirtualHost *:80>
        ?
        1. En effet, un peu de tout ça...

          Puis-je faire cohabiter un site en https avec d'autres site en http ? Dans ce cas quelle est la bonne syntaxe à utiliser ?

          Merci par avance de ta réponse.
          1. Merci à vous deux pour vos réponses. J'ai néanmoins, encore un pb (apache démarre bien si j'utilise :

            
            NameVirtualHost *:80
            NameVirtualHost *:443
            
            <VirtualHost *:80>
                ServerAdmin             hostmaster@nomdedomaine.com
                ServerName              sql.nomdedomaine.com
                DocumentRoot            /usr/share/phpmyadmin/
                <Directory              /usr/share/phpmyadmin/>
                    AllowOverride       All
                </Directory>
             
            </VirtualHost>
            
            <VirtualHost *:443>
                ServerAdmin             hostmaster@nomdedomaine.com
                ServerName              sql.nomdedomaine.com
                DocumentRoot            /usr/share/phpmyadmin/
                <Directory              /usr/share/phpmyadmin/>
                    AllowOverride       All
                </Directory>
                SSLEngine On
                SSLCACertificateFile    /etc/apache2/ssl/cacert.crt
                SSLCertificateFile      /etc/apache2/ssl/sql.nomdedomaine.crt
                SSLCertificateKeyFile   /etc/apache2/ssl/sql.nomdedomaine.key
                CustomLog               /var/log/apache2/access.log combined
            </VirtualHost>
            


            Par contre à partir du moment ou j'ajoute un nouveau site sur le port 80 et que j'arrête et redémarre apache, il m'affiche :
            Impossible de démarrer Apache :
            
            Starting web server (apache2)... failed!
            


            Merci par avance pour votre aide.
            1. Les lignes
              NameVirtualHost *:80
              NameVirtualHost *:443

              ne doivent exister qu'une seule et unique fois pour tous les VirtualHosts.

              A voir dans le log global d'apache pour voir la raison du refus de démarrage si elle est autre.
              1. Merci de ta réponse mais si j'ajoute les lignes:

                <VirtualHost *:80> 
                    ServerAdmin     webmaster@nomdedomaine.info 
                    DocumentRoot    /home/ha/nomdedomaine/www/ 
                    ServerName      test.nomdedomaine.info 
                    CustomLog       logs/nomdedomaine-access_log combined 
                    <Directory              /home/ha/nomdedomaine/www/> 
                        AllowOverride       All 
                    </Directory> 
                </VirtualHost> 
                
                


                Rien ne va plus... il ne veux plus démarrer apache

                Merci par avance de votre aide
                1. Il affiche quel message d'erreur ?

                  Entre temps, la ligne CustomLog logs/nomdedomaine-access_log combined n'est pas correcte; je crois que c'est coe ça: CustomLog
                  /var/log/apache2/nomdedomaine-access_log combined