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 13/04/2008, à 04:09

Alban DESSOTTO

[Résolu] Serveurs Virtuels

Bonjour

J'ai un petit soucis, vraiment un tout petit ... tellement petit que je ne trouve pas de solution :-(

Je voudrais avoir en local (127.0.0.1) les sites accessibles par les URL suivantes :
http://phpmyadmin.telosmars.fr
http://www.telosmars.fr
http://webcalendar.telosmars.fr
http://gallery2.telosmars.fr
par ordre de création des fichiers de conf dans /etc/apache2/sites-available

Pas de soucis pour accéder à ces 4 sites... à une exception près. Cela concerne le second (www.telosmars.fr) :
Dans un premier temps s'affiche les pages correspondant aux URL suivantes :
- http://www.telosmars.fr/phpinfo.php
- http://www.telosmars.fr/liens.html
- http://www.telosmars.fr/index.html
alors que
- http://www.telosmars.fr/
affiche la page d'accueil de... phpmyadmin ?!


Inutile de rappeler que je ne sais pas dans quoi je pédale mais le fait est que je pédale pas de manière très efficace  :-(

La seule "extravagance" par rapport à la config classique concerne la directive
DocumentRoot qui a pour valeur  /var/www/html  (au lieu de /var/www/)
En effet l'arborescences de ce site se trouve dans /var/www/html/

On retrouve cette directive dans les fichiers suivants :
- /etc/apache2/sites-available/www.telosmars.fr
- /etc/apache2/sites-available/default

nota 1 :
pour ce dernier fichier la valeur par défaut de DocumentRoot était "/var/www/" aussi ai je essayé les 2 valeurs suivantes :
- /var/www/html/ dans un premier temps
- /var/www/html ensuite
sans différence aucune. Je pensais que la seconde écriture était la norme mais vu que j'avais "/var/www/" dans la config par défaut de /etc/apache2/sites-available/default désormais je ne sais plus trop ce qui est correct ou pas...

nota 2 :
dans /etc/apache2/sites-available/www.telomars.fr j'ai
<Directory "/var/www/html">


Pour info www.telosmars.fr est mon site principal. C'est pourquoi j'ai mis cette valeur dans le fichier site-available/default
Dans mes précédentes config avec une autre distrib tout ma config se fasait dans 2 fichiers :
- /etc/httpd/conf/httpd.conf
- /etc/httpd.conf/vhost/Vhost.conf pour les serveurs virtuels
C'est ma première config sous Ubuntu et j'ai du passé à côté de quelque chose. Mais quoi ?

De toute façon il semble que le problème ne vient pas de là puisque pour les autres sites ça à l'air de fonctionner. En fait il faut que je configure le fichier de conf de phpMyAdmin ainsi que ceuxi de la Gallerie et du WebCalendar. Pour ces derniers on verra plus tard - il y a quelques soucis à résoudre auparavant - mais apparemment ça l'air d'être correct. Les URL racines sont redirigées vers les pages dédiées à l'installation.

Je vous remercie par avance de votre aide.

Dernière modification par Alban DESSOTTO (Le 14/04/2008, à 22:11)

Hors ligne

#2 Le 13/04/2008, à 11:34

wblitz

Re : [Résolu] Serveurs Virtuels

tu peux poster les fichiers de configuration des différents virtualhost ?


"Un optimiste, c'est un homme qui plante deux glands et qui s'achète un hamac" - Jean de Lattre de Tassigny
Pensez à mettre [RÉSOLU] dans le sujet de vos posts une fois qu'ils le sont...
quelques docs

Hors ligne

#3 Le 13/04/2008, à 16:04

Alban DESSOTTO

Re : [Résolu] Serveurs Virtuels

# ----------------------------------------------------------------------------------------------------------
# ---------------------------------------- www.telosmars.fr ------------------------------------------------
#                                          ----------------



#NameVirtualHost      127.0.0.1                       # DESORMAIS TRANSFERE DANS /etc/apache2/conf.d/virtual-host.conf


<VirtualHost 127.0.0.1>
#
ServerName           www.telosmars.fr
DocumentRoot         /var/www/html
    <Directory "/var/www/html">
    #
    Options               -Indexes FollowSymLinks MultiViews
    AllowOverride         None
    Order                 allow,deny
    Allow from            all
    #
    </Directory>
#ErrorLog             logs/www-error_log
#TransferLog          logs/www-access_log
ErrorLog              /var/log/apache2/www-error.log
TransferLog           /var/log/apache2/www-access.log
#CustomLog            /var/log/apache2/www_access.log combined                      
#
</VirtualHost>




# ----------------------------------------------------------------------------------------------------------
# ------------------------------------- phpmyadmin.telosmars.fr --------------------------------------------
#                                       -----------------------

#NameVirtualHost      127.0.0.1                       # DESORMAIS TRANSFERE DANS /etc/apache2/conf.d/virtual-host.conf


<VirtualHost 127.0.0.1>
#
ServerName           phpmyadmin.telosmars.fr
#DocumentRoot        /var/www/html/phpmyadmin
DocumentRoot         /usr/share/phpmyadmin
    <Directory "/usr/share/phpmyadmin">
    #
    Options               -Indexes FollowSymLinks MultiViews
    AllowOverride         None
    Order                 allow,deny
    Allow from            all
    #
    </Directory>
#ErrorLog             logs/phpmyadmin-error_log
#TransferLog          logs/phpmyadmin-access_log
ErrorLog             /var/log/apache2/phpmyadmin-error.log
TransferLog          /var/log/apache2/phpmyadmin-access.log
#CustomLog            /var/log/apache2/phpmyadmin_access.log combined                
#
</VirtualHost>

voici aussi /etc/apache2/sites-available/default

# ----------------------------------------------------------------------------------------------------------


NameVirtualHost                      *


<VirtualHost *>
  ServerAdmin                        webmaster@localhost

  #DirectoryIndex                    index.html index.html.var index.php index.php3 index.shtml index.cgi index.pl index.htm Default.htm default.htm index.xml
  DocumentRoot                       /var/www/html
  <Directory />
      Options                        FollowSymLinks
      AllowOverride                  None
  </Directory>
  <Directory /var/www/html/>
      Options                        Indexes FollowSymLinks MultiViews
      AllowOverride                  None
      Order                          allow,deny
      allow from                     all
      # This directive allows us to have apache2's default start page
      # in /apache2-default/, but still have / go to the right place
      #RedirectMatch                 ^/$                             /apache2-default/
  </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                           /var/log/apache2/error.log

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

  CustomLog                          /var/log/apache2/access.log     combined
  ServerSignature                    On

  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>

Hors ligne

#4 Le 13/04/2008, à 17:29

wblitz

Re : [Résolu] Serveurs Virtuels

essaie en définissant ton virtualhost pour www.telosmars.fr dans le fichier /etc/apache2/sites-available default :

<VirtualHost *>
  ServerAdmin webmaster@localhost
  ServerName www.telosmars.fr
  DocumentRoot /var/www/html
  <Directory /var/www/html/>
      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>

  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>

  LogLevel warn
  ErrorLog /var/log/apache2/www-error.log
  TransferLog /var/log/apache2/www-access.log
  CustomLog /var/log/apache2/www-access.log     combined

  ServerSignature On
</VirtualHost>

ensuite, tu désactives le site www si tu l'as activé :

sudo a2dissite www.telosmars.fr

(remplace www.telosmars.fr par le nom du fichier dans /etc/apache2/sites-enabled)

ensuite, recharge la configuration d'apache :

sudo /etc/init.d/apache2 reload

Dernière modification par wblitz (Le 13/04/2008, à 17:30)


"Un optimiste, c'est un homme qui plante deux glands et qui s'achète un hamac" - Jean de Lattre de Tassigny
Pensez à mettre [RÉSOLU] dans le sujet de vos posts une fois qu'ils le sont...
quelques docs

Hors ligne

#5 Le 14/04/2008, à 02:36

Alban DESSOTTO

Re : [Résolu] Serveurs Virtuels

Wblitz je te remercie d'avoir suivi mon affaire. Et en plus ça marche.

Mon sentiment est que toi être grand manitou Apache !
Car en vérité j'ai pas compris pourquoi ? Et pas qu'une seule fois.

En premier lieu je ne vois pas pourquoi le fait de déclarer le site "www.xxxx.xx" dans /etc/apache2/sites-avalaible/default  permet de résoudre le problème.
Dans les versions antérieures à la 1.3 d'Apache c'est un truc que je faisais. Je ne sais plus pourquoi d'ailleurs. J'avais du pomper le httpd.conf sur le Web à partir d'un article qui devait traiter des serveurs virtuels.
Mais maintenant ? Que l'on prenne la solution Debian/Ubuntu avec une config modulaire ou à l'instar de Mandriva avec des fichiers de conf plus centralisés il y a un historique de plusieurs centaines de milliers de sites Web - si ce n'est de millions - pour qu'une telle chose ne puisse arriver quelque soit la configuration (centralisé ou modilaire) choisie.

Pour moi ce problème reste un mystère tout comme le fait que par défaut la directive NameVirtualHost se retrouve dans plusieurs fichiers de conf qui plus est avec des valeurs différentes (* ou 127.0.01 - ou autre IP d'ailleurs).Chose que je retrouve avec la directive  DirectoryIndex. Ce qui rajoute à ma surprise c'est que j'ai trouvé des ressources qui recommandaient - à juste titre AMHA - d'alimenter sinon de créer les fichiers  /etc/apache2/mods-available/dir.conf ou /etc/apache2/conf.d/virtual-host.conf afin d'héberger ces directives sans qu'elles soient supprimées par ailleurs. Cette redondance ne me semble pas faite pour faciliter la maintenance. Pourquoi ne pas mettre toutes ces directives suceptibles d'être personnaliser par les utilisateurs dans le fichier httpd.conf qui est vide sous Ubuntu et dont un appel est fait dans apache2.conf ?

Ne pas prendre mon point de vue pour une mise en cause de l'architecture d'Apache selon Ubuntu tout d'abord parce que je ne suis pas un expert Apache, et qu'ensuite je débute avec Ubuntu. Tout cela est du au fait que j'étais - et le suis encore - un peu perdu.

C'est pourquoi si tu peux m'expliquer ce qui t'a conduit à me proposer ta solution avec un
défault allégé du code suivant :

<Directory />
      Options                        FollowSymLinks
      AllowOverride                  None
</Directory>

je suis preneur.

En tous les cas je renouvelle mes remerciements

Hors ligne

#6 Le 14/04/2008, à 07:55

wblitz

Re : [Résolu] Serveurs Virtuels

pour la partie là :

<Directory />
      Options                        FollowSymLinks
      AllowOverride                  None
</Directory>

c'est une erreur de copier/coller wink ça fonctionnera normalement toujours ensuite.

pour le fait de le déclarer dans le virtualhost par défaut, ce n'est pas un soucis de "localisation" de cette définition. tu aurais pu laisser l'hôte défini dans un fichier dédié (telosmars.fr.conf). ce qui est gênant, c'est que tu définissait www.telosmars.fr avec pour racine le même répertoire que l'hôte par défaut et que, comme ce dernier est accessible par toutes les interfaces ("<virtualhost *>"), il est prenait le pas sur l'autre.

de plus, le fait que tu mettes "<virtualhost 127.0.0.1>" pour la définition des hôtes les rend inaccessible en dehors du serveur. si tu veux qu'un client de ton réseau local (ou d'internet) puisse y accéder, il faut que l'hôte soit défini sur au moins une autre adresse que loopback. par exemple :

<VirtualHost 192.168.1.1>

ou :

<VirtualHost *>

pour écouter sur nimporte quelle interface.

Cette redondance ne me semble pas faite pour faciliter la maintenance

justement si. si tu définis les options dans des fichiers de configuration dédiés, une modification affectera l'ensemble de tes hôtes simultanément (pas besoin d'aller modifier chaque hôte un par un)

dans le fichier httpd.conf qui est vide sous Ubuntu

ce fichier est obsolète avec apache2, d'où le fait qu'il est vide.

Ne pas prendre mon point de vue pour une mise en cause de l'architecture d'Apache selon Ubuntu tout d'abord parce que je ne suis pas un expert Apache, et qu'ensuite je débute avec Ubuntu. Tout cela est du au fait que j'étais - et le suis encore - un peu perdu.

mais tu as tout à fait raison wink chaque distribution adopte en plus une architecture un peu différente pour les modules, les hôtes virtuels, la manière d'organiser l'arborescence des sites, etc. bref, il est facile de s'y perdre.

pour ubuntu, ce qu'il faut retenir :
   - le fichier ports.conf définit les ports d'écoute (directive Listen)
   - conf.d/virtualhosts.conf définit les interfaces d'écoute (directive NameVirtualHost)
   - conf.d/charset définit le charset utilisé par défaut
   - mods-available définit les modules disponibles (à activer avec a2enmod)
   - sites-available définit les hôtes disponibles (à activer avec a2ensite)
   - mods-available/dir.conf définit les fichiers d'index (directive DirectoryIndex)
   - mods-available/php5.conf définit les extensions à traiter par php

quelques infos supplémentaires ici : http://doc.ubuntu-fr.org/apache2


"Un optimiste, c'est un homme qui plante deux glands et qui s'achète un hamac" - Jean de Lattre de Tassigny
Pensez à mettre [RÉSOLU] dans le sujet de vos posts une fois qu'ils le sont...
quelques docs

Hors ligne

#7 Le 14/04/2008, à 22:10

Alban DESSOTTO

Re : [Résolu] Serveurs Virtuels

Merci pour tout, oh grand Sachem :-)

Hors ligne