Pages : 1
#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 ç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 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
Pages : 1