Config Apache2 : utilisation de LocationMatch

Le
Slasher
Bonjour,

j'ai un petit soucis de conf Apache
Sur un serveur j'ai installé Nagios ainsi que iNagios (module
fournissant une interface spécifique pour iphone).

iNagios est fournit avec un fichier de conf pour Apache2 contenant ces
lignes :

<LocationMatch ".(m?html?|mpl)$">
SetHandler perl-script
PerlSetVar MasonDataDir /var/www/html/mason/inagios
PerlHandler HTML::Mason::ApacheHandler
</Locationmatch>

J'ai cherché sur le net mais je ne comprend pas bien à quoi sert la
fonction <LocationMatch> mais celle-ci me pose problème pour ce que je
veux faire

Sans ces lignes je peux ajouter un répertoire virtuel comme ceci :

alias /test /usr/share/test

Je place dedans un fichier index.html contenant simplement une ligne
"test", tout est ok.

A partir du moment ou je décommente les lignes <LocationMatch> je
n'accède plus à la page test de mon répertoire virtuel depuis mon
navigateur

message d'erreur : "The requested URL /test/index.html was not found on
this server."

Le problème est que si je vire les lignes <LocationMatch>, iNagios ne
fonctionne plus : je suppose que quelque chose n'est pas interprété
correctement dans les pages de code iNagios car je vois des choses de ce
genre là qui apparaissent dans les champs de formulaire : "<%
$form{nagiosurl} %>"

iNagios ne dispose d'aucune doc et j'ai du mal à comprendre le principe
de <LocationMatch>. Su quelqu'un peux m'éclairer un peu à ce sujet

Merci d'avance.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Fabien LE LEZ
Le #18831271
On Thu, 05 Mar 2009 18:21:14 +0100, Slasher
j'ai un petit soucis de conf Apache...



Dans ce cas, fr.comp.infosystemes.www.serveurs est fait pour toi.
Alain Montfranc
Le #18832171
Slasher a écrit
Bonjour,

j'ai un petit soucis de conf Apache...
Sur un serveur j'ai installé Nagios ainsi que iNagios (module fournissant une
interface spécifique pour iphone).

iNagios est fournit avec un fichier de conf pour Apache2 contenant ces lignes
:

SetHandler perl-script
PerlSetVar MasonDataDir /var/www/html/mason/inagios
PerlHandler HTML::Mason::ApacheHandler
</Locationmatch>

J'ai cherché sur le net mais je ne comprend pas bien à quoi sert la fonction
<LocationMatch> mais celle-ci me pose problème pour ce que je veux faire...



http://httpd.apache.org/docs/2.2/mod/core.html#locationmatch


Sans ces lignes je peux ajouter un répertoire virtuel comme ceci :

alias /test /usr/share/test

Je place dedans un fichier index.html contenant simplement une ligne "test",
tout est ok.

A partir du moment ou je décommente les lignes <LocationMatch> je n'accède
plus à la page test de mon répertoire virtuel depuis mon navigateur...



Normal, le LocationMatch s'applique

iNagios ne dispose d'aucune doc et j'ai du mal à comprendre le principe de
<LocationMatch>. Su quelqu'un peux m'éclairer un peu à ce sujet...





Si le fichier match le LocationMatch les directives s'appliquent
Slasher
Le #18835321
Fabien LE LEZ a écrit :
On Thu, 05 Mar 2009 18:21:14 +0100, Slasher
j'ai un petit soucis de conf Apache...



Dans ce cas, fr.comp.infosystemes.www.serveurs est fait pour toi.



Ok, merci pou l'info ;-)
il a l'air un peu déserté par contre :/
Slasher
Le #18835311
Alain Montfranc a écrit :
Slasher a écrit
Bonjour,

j'ai un petit soucis de conf Apache...
Sur un serveur j'ai installé Nagios ainsi que iNagios (module
fournissant une interface spécifique pour iphone).

iNagios est fournit avec un fichier de conf pour Apache2 contenant ces
lignes :

SetHandler perl-script
PerlSetVar MasonDataDir /var/www/html/mason/inagios
PerlHandler HTML::Mason::ApacheHandler
</Locationmatch>

J'ai cherché sur le net mais je ne comprend pas bien à quoi sert la
fonction <LocationMatch> mais celle-ci me pose problème pour ce que je
veux faire...



http://httpd.apache.org/docs/2.2/mod/core.html#locationmatch


Sans ces lignes je peux ajouter un répertoire virtuel comme ceci :

alias /test /usr/share/test

Je place dedans un fichier index.html contenant simplement une ligne
"test", tout est ok.

A partir du moment ou je décommente les lignes <LocationMatch> je
n'accède plus à la page test de mon répertoire virtuel depuis mon
navigateur...



Normal, le LocationMatch s'applique

iNagios ne dispose d'aucune doc et j'ai du mal à comprendre le
principe de <LocationMatch>. Su quelqu'un peux m'éclairer un peu à ce
sujet...





Si le fichier match le LocationMatch les directives s'appliquent





Hello !

Oui je suis allé voir déjà sur cette page mais j'ai quand même un peu de
mal à saisir...

Si je comprend bien les directives passées en dessous s'appliquent si ca
match, mais je ne comprend pas bien ce qu'on match exactement avec

Bon, d'après ce que je comprend on cherche les fichiers commençants par
"m" et finissant par "html" et les fichiers finissant par "mpl"...

Ça veux dire que tout fichier ne répondant pas à ça ne sera pas accessible ?

Quelle serait la solution pour que /test/ (et ses sous répertoires)
fonctionne normalement ?

Je ne comprend pas ce que signifie le "." et le "$" à la fin.
Alain Montfranc
Le #18836861
Slasher a écrit

Si je comprend bien les directives passées en dessous s'appliquent si ca
match, mais je ne comprend pas bien ce qu'on match exactement avec

Bon, d'après ce que je comprend on cherche les fichiers commençants par "m"
et finissant par "html" et les fichiers finissant par "mpl"...



Non, les fichiers finissant par .html .mhtml .mmmmhtml ou .mpl

Ça veux dire que tout fichier ne répondant pas à ça ne sera pas accessible ?



Non, qu'il sera traité selon les directives incluses dans le
LocationMatch


Quelle serait la solution pour que /test/ (et ses sous répertoires)
fonctionne normalement ?



Par exemple mettre tout ce qui concerne nagios en /nagios/ et modifier
le LocationMatch en /nagios/.*.(m?html?|mpl)$


Je ne comprend pas ce que signifie le "." et le "$" à la fin.



le . veut dire "tout caractere" en le backslashant il redevient le "."
normal

Le $ veut dire "fin de chaîne". Donc toto matche bien "t" mais pas "t$"
Slasher
Le #18837521
Alain Montfranc a écrit :
Slasher a écrit

Si je comprend bien les directives passées en dessous s'appliquent si
ca match, mais je ne comprend pas bien ce qu'on match exactement avec

Bon, d'après ce que je comprend on cherche les fichiers commençants
par "m" et finissant par "html" et les fichiers finissant par "mpl"...



Non, les fichiers finissant par .html .mhtml .mmmmhtml ou .mpl

Ça veux dire que tout fichier ne répondant pas à ça ne sera pas
accessible ?



Non, qu'il sera traité selon les directives incluses dans le LocationMatch


Quelle serait la solution pour que /test/ (et ses sous répertoires)
fonctionne normalement ?



Par exemple mettre tout ce qui concerne nagios en /nagios/ et modifier
le LocationMatch en /nagios/.*.(m?html?|mpl)$


Je ne comprend pas ce que signifie le "." et le "$" à la fin.



le . veut dire "tout caractere" en le backslashant il redevient le "."
normal

Le $ veut dire "fin de chaîne". Donc toto matche bien "t" mais pas "t$"





Super, merci pour ce petit explicatif.
Je vais retester ça :-)
Slasher
Le #18869641
Slasher a écrit :
Alain Montfranc a écrit :
Slasher a écrit

Si je comprend bien les directives passées en dessous s'appliquent si
ca match, mais je ne comprend pas bien ce qu'on match exactement avec

Bon, d'après ce que je comprend on cherche les fichiers commençants
par "m" et finissant par "html" et les fichiers finissant par "mpl"...



Non, les fichiers finissant par .html .mhtml .mmmmhtml ou .mpl

Ça veux dire que tout fichier ne répondant pas à ça ne sera pas
accessible ?



Non, qu'il sera traité selon les directives incluses dans le
LocationMatch


Quelle serait la solution pour que /test/ (et ses sous répertoires)
fonctionne normalement ?



Par exemple mettre tout ce qui concerne nagios en /nagios/ et modifier
le LocationMatch en /nagios/.*.(m?html?|mpl)$


Je ne comprend pas ce que signifie le "." et le "$" à la fin.



le . veut dire "tout caractere" en le backslashant il redevient le "."
normal

Le $ veut dire "fin de chaîne". Donc toto matche bien "t" mais pas "t$"





Super, merci pour ce petit explicatif.
Je vais retester ça :-)




Bon, j'ai fait quelques tests mais c'est peu concluant...
voilà à quoi ressemble mon fichier de conf :

#####################################################
#####################################################
#####################################################

Alias /inagios /var/www/html/inagios
<Directory /var/www/html/inagios>
SSLRequireSSL
</Directory>


<VirtualHost _default_:80>
ServerName inagios.monsite.net
ServerAlias *.inagios.monsite.net
ServerAdmin
DocumentRoot "/var/www/html/inagios"

ErrorLog /var/log/apache2/inagios-error.log
LogFormat "%h %l %u %t "%r" %>s %b "%{Referer}i"
"%{User-Agent}i"" combined
CustomLog /var/log/apache2/inagios-access.log combined

RewriteEngine On
#RewriteCond %{HTTPS} !=on
RewriteRule ^(.*) https://nagios.monsite.net [R,L]
</VirtualHost>

<VirtualHost _default_:443>
ServerName nagios.monsite.net
ServerAlias *.nagios.monsite.net
ServerAdmin
DocumentRoot "/var/www/html/inagios"

ErrorLog /var/log/apache2/inagios-error.log
LogFormat "%h %l %u %t "%r" %>s %b "%{Referer}i"
"%{User-Agent}i"" combined
CustomLog /var/log/apache2/inagios-access.log combined

SSLEngine on
SSLOptions +StrictRequire
SSLProtocol all -SSLv2
SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW
SSLCertificateFile /etc/nagios3/nagios.monsite.net.crt
SSLCertificateKeyFile /etc/nagios3/nagios.monsite.net.key

SetEnvIf User-Agent ".*MSIE.*"
nokeepalive ssl-unclean-shutdown
downgrade-1.0 force-response-1.0

DeflateBufferSize 8096
DeflateCompressionLevel 9
DeflateMemLevel 9
DeflateWindowSize 15

order allow,deny
deny from all
</Files>

<Location />
# Insert filter
SetOutputFilter DEFLATE

# Netscape 4.x has some problems...
BrowserMatch ^Mozilla/4 gzip-only-text/html

# Netscape 4.06-4.08 have some more problems
BrowserMatch ^Mozilla/4.0[678] no-gzip

# MSIE masquerades as Netscape, but it is fine
BrowserMatch bMSIE !no-gzip !gzip-only-text/html
# Don't compress images
SetEnvIfNoCase Request_URI
.(?:gif|jpe?g|png)$ no-gzip dont-vary

# Make sure proxies don't deliver the wrong content
Header append Vary User-Agent env=!dont-vary
</Location>

# # SetHandler perl-script
# PerlSetVar MasonDataDir /var/www/html/mason/inagios
# PerlHandler HTML::Mason::ApacheHandler
# </Locationmatch>

SetHandler perl-script
PerlSetVar MasonDataDir /var/www/html/mason/inagios
PerlHandler HTML::Mason::ApacheHandler
</Locationmatch>

</VirtualHost>

#####################################################
#####################################################
#####################################################

dans cet état, inagios fonctionne bien en ssl (https://nagios.monsite.net)

par contre https://nagios.monsite.net/test/ me retourne : The requested
URL /test/index.html was not found on this server.

si je décommente :

SetHandler perl-script
PerlSetVar MasonDataDir /var/www/html/mason/inagios
PerlHandler HTML::Mason::ApacheHandler
</Locationmatch>

...j'ai exactement le même résultant.

Maintenant je commente :

# # SetHandler perl-script
# PerlSetVar MasonDataDir /var/www/html/mason/inagios
# PerlHandler HTML::Mason::ApacheHandler
# </Locationmatch>

-> https://nagios.monsite.net/test/ fonctionne bien !!!
...mais https://nagios.monsite.net pose problème (la page inagios
s'affiche mais avec des choses comme ca dans les champs formulaire : <%
$form{nagiosurl} %>"

Je ne sais pas si c'est moi qui est mal fait quelque chose ou si il y a
autre chose dans la conf qui pose problème... (pour info dans le dossier
virtuel /test/ je fichier s'appelle index.html)
Publicité
Poster une réponse
Anonyme