Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Serveurs (Apache, IIS,...) > Apache
Apache Forum d'entraide Apache. Avant de poster : Cours Apache, FAQ Apache
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 20/08/2011, 01h50   #1
Candidat au titre de Membre du Club
 
Inscription : septembre 2009
Messages : 18
Détails du profil
Informations forums :
Inscription : septembre 2009
Messages : 18
Points : 13
Points : 13
Par défaut Authentification et PerlSetVar

Bonjour tous,

Je dispose d'un hébergement mutualisé, et je voudrais le "mimiquer" localement, sur ma machine Ubuntu 10.04 (lucid) fraîchement repeinte (ex utilisateur de Suse 10.3). Le domaine distant est http://www.domaine.net, et chez l'hébergeur, www est un répertoire parmis d'autres dont des sous-domaines éventuels. Ainsi, j'ai "/etc/host" qui contient:
Code :
1
2
3
...
127.0.0.1	localhost http://www.domaine.lin
...
les seules (-: je crois) lignes changées dans /etc/apache2/apache2.conf sont:
Code :
1
2
User pserru
Group pserru
et les ont été changé en /etc/apache2/httpd.conf est resté vide.

Pour le serveur virtuel /etc/apache2/sites-available/domaine.lin:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<VirtualHost *:80>
  ServerAdmin postmaster@domaine.lin
  ServerName domaine.lin
  ServerAlias http://www.domaine.lin
  DocumentRoot /var/www/domaine.net/www
  <Directory />
    Options FollowSymLinks
    AllowOverride All
  </Directory>
  <Directory "/var/www/domaine.net/www">
    Options All
    AllowOverride All
    Order allow,deny
    Allow from All
  </Directory>
  ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
  <Directory "/usr/lib/cgi-bin">
    AllowOverride All
    Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
    Order allow,deny
    Allow from all
  </Directory>
  ErrorLog "/var/log/apache2/domaine.net/error.log"
  # Possible values: debug, info, notice, warn, error, crit, alert, emerg.
  LogLevel warn
  CustomLog "/var/log/apache2/domaine.net/access.log" combined
  Alias /doc/ "/usr/share/doc/"
  <Directory "/usr/share/doc/">
    Options Indexes MultiViews FollowSymLinks
    AllowOverride All
    Order deny,allow
    Deny from all
    Allow from 127.0.0.0/255.0.0.0 ::1/128
  </Directory>
</VirtualHost>
fichier pointé par un lien symbolique dans /etc/apache2/sites-enabled/ et les fichiers par défaut (/etc/apache2/sites-available/default et /etc/apache2/sites-available/000-default) sont intacts (**).
Au démarrage / redémarrage d'apache, la console m'affiche:
Code :
Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
Je n'ai rien trouvé dans les fichier de configuration de ralatif à "127.0.1.1"!. Mais le serveur semble fonctionner correctement. C'est un peu normal: tout ceci est d'une grande banalité!

Bien entendu, /var/www/domaine.net est un lien vers "/home/pserru/domaine.net/", contenant un sous répertoire "www/". Et ainsi, quand je saisie "http://www.domaine.lin/ comme URL d'un fureteur de ma machine, j'ai en retour la page espérée.

Je voudrais restreindre l'accès à ce domaine. Chez l'hébergeur, la restriction à l'accès d'un répertoire se fait par l'adaptation du fichier ".htacces" de cette manière si classique:
Code :
1
2
3
4
PerlSetVar AuthFile .htpasslist
AuthName "Acces Restreint"
AuthType Basic
require valid-user
où le fichier ".htpasslist" est localisé par la directive Perl PerlSetVar, chemin relatif à la racine du sous-domaine.
Puisqu'en locale j'ai accès à /var/www/ j'ai pu essayer l'authentification de base, et ça fonctionne bien. Chez l'ébergeur, ces directives dans le fichier ".htacces" fonctionnent évidemment bien. Mais si je place ce code dans ".htacces" du répertoire "domaine/", je vois à cette erreur en /var/log/apache2/domaine.net/error.log:
Code :
[Fri Aug 19 12:18:05 2011] [error] [client 127.0.0.1] (9)Bad file descriptor: Could not open password file: (null)
Si j'ajoute au fichier .htacces, la ligne:
Code :
AuthBasicAuthoritative Off
Code :
1
2
[Fri Aug 19 12:28:11 2011] [error] [client 127.0.0.1] (9)Bad file descriptor: Could not open password file: (null)
[Fri Aug 19 12:28:11 2011] [crit] [client 127.0.0.1] configuration error:  couldn't check user.  No user file?: /index.php
J'ai bien télécharger le packet perl et cette installation m'a placer un "/etc/apache2/mods-available/perl.load" et son lien /etc/apache2/mods-enabled/perl.load.

Ma question est donc: comment faire fonctionner cette authentification en locale ?
Et accessoirement, pourquoi ai-je ce message au lancement d'apache ?

J'ai jeté un oeil sur la doc Perl, pensant trouver quelque chose "proche de l'utilisateur" sur PerSetVar. Échec encore. J'ai eu l'impression qu'il m'aurait fallut lire les sources pour comprendre, et pis, même la syntaxe du language me semble loin de tout. Ça m'a donné froid dans le dos! M'enfin, ce n'est pas la première fois que je me sens imbécile et je vis mal mais toujours!

Merci pour l'attention que vous aurez porté à ce post,
Patrick
pserru est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 11h33.


 
 
 
 
Partenaires

Hébergement Web