IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Apache Discussion :

Accès dossier privé


Sujet :

Apache

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    268
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 268
    Points : 128
    Points
    128
    Par défaut conf de sites-available : Accès dossier privé
    J'ai un lien symbolique de /var/www/private/ vers le répertoire /media/web/private/. Je souhaite y accéder avec un Login / Mot de passe

    J'ai donc insérer ceci dans /etc/apache2/httpd.conf et j'ai aussi essayé dans /etc/apache2/sites-available/default.conf:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <Directory /var/www/private/>
    AllowOverride AuthConfig
    AuthType Digest
    AuthName "Restricted Files"
    AuthUserFile /etc/apache2/passwords
    Require user popovitch130
    </Directory>
    J'ai créé monfichier de mot de passe avec htpasswd (outil d'apache pour créer le fichier de mots de passe) et j'ai bien vérifié que le fichier existe et qu'il contient bien le login et le mot de passe crypté.

    Les droits sont en 755 sur le dossier /var/www/private/ et le fichier de test index.html

    Lorsque j'insére mon code dans /etc/apache2/httpd.conf j'obtiens une erreur 403 forbidden sans même qu'on me propose une authentification ...

    Lorsque j'insére mon code dans /etc/apache2/sites-available/ j'obtiens l'erreur suivante sans qu'on me propose l'authentification :

    Internal Server Error
    The server encountered an internal error or misconfiguration and was unable to complete your request.

    Je vous remercie de votre aide. Il y a pas mal de docs sur apache mais il y a apparemment des fondammentaux que je n'ai pas bien saisi comme savoir ou j'ai le droit de mettre les directives : dans httpd.conf, dans default.conf, dans un .htaccess etc...

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    268
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 268
    Points : 128
    Points
    128
    Par défaut .htaccess
    Bon sous Ubuntu mon fichier de conf c'est /etc/apache2/sites-availables/default
    ça c'est sur !

    Dedans j'ai mis :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Alias /private /media/web/private
    <Directory /var/www/private/>
     AllowOverride AuthConfig
     AuthName "Restricted Files"
     AuthUserFile /etc/apache2/passwords
    </Directory>

    dans mon fichier de mots de passe, on trouve bien
    et j'ai mis un .htaccess dans /var/www/private que voici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    AuthUserFile /private# /etc/apache2/passwords
    AuthName "Accès protégé"
    AuthType Basic
    <Limit GET>
    require user test
    </Limit>
    Toujours le même soucis :

    500 internal serveur error
    The server encountered an internal error or misconfiguration and was unable to complete your request.

    Et dans les log d'apache, il me dit :
    /media/web/private/.htaccess: Invalid auth file type: /etc/apache2/passwords


    J'ai bidouillé 3-4 fois ce truc sans que ça marche ...
    Je vous remercie de votre aide

  3. #3
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Tu le génères comment ton fichier /etc/apache2/passwords ? Il faut utiliser la commande htpasswd d'Apache.

    Dans ton .htaccess, le /private# dans ta directive AuthUserFile, c'est une erreur ou c'est volontaire ?

    Généralement, pour simplifier, on gère l'authentification dans un .htaccess et pas "hardcodée" dans le httpd.conf ou équivalent. Donc je commencerais par supprimer toute ta conf relative à l'authentification des fichiers default.conf et httpd.conf pour ne me concentrer que sur un .htaccess.

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    268
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 268
    Points : 128
    Points
    128
    Par défaut
    Le AuthUserFile /private# est bien dans le .htaccess, je vais enlever ça j'ai du faire une mauvaise manip.

    Le fichier de pass a bien été généré avec htpasswd ...

    En fait le truc que je ne comprends pas c'est quelle directive va dans default.conf (ou httpd.conf) et quelle directive va dans le .htaccess.

    Je crois comprendre que dans mon default.conf je doit autoriser la rédéfinition des droits d'accès en fesant ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     <Directory /var/www/private/>
            AllowOverride AuthConfig // ou alors AllowOverrride All
     </Directory>
    et dans le fichier .htaccess de mon répertoire private :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    AuthUserFile /etc/apache2/passwords
    AuthName "Accès protégé"
    AuthType Basic
    <Limit GET>
    require user test
    </Limit>
    c comme ça que tu le vois _Mac_ ?

  5. #5
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Oui, ça me paraît bien. Ca donne quoi comme ça ?

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    268
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 268
    Points : 128
    Points
    128
    Par défaut
    Avec allowOverride All ça fonctionne ! Merci beaucoup _Mac_ !

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    268
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 268
    Points : 128
    Points
    128
    Par défaut heu ...
    Alors bizzarement, j'ai relancé apache et la il ne me propose plus d'authentification, il m'affiche la page sans restrictions d'accès ... pas d'erreurs dans le fichier de log ...


    Dans default.conf :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <Directory /var/www/private/>
                    AllowOverride All
    </Directory>
    Dans .htaccess :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    AuthUserFile /etc/apache2/passwords
    AuthName "Accès protégé"
    AuthType Basic
    <Limit GET>
    require user test
    </Limit>
    Petite question méthode GET ou POST dans la directive <Limit> ça change quoi ? Merci

  8. #8
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Citation Envoyé par popovitch130 Voir le message
    Alors bizzarement, j'ai relancé apache et la il ne me propose plus d'authentification, il m'affiche la page sans restrictions d'accès ... pas d'erreurs dans le fichier de log ...
    L'astuce consiste surtout à fermer le navigateur : l'authentification basique est portée par le navigateur, ce n'est pas une session. Donc tant qu'on ne ferme pas le navigateur, on reste authentifié.

    GET, c'est pour les accès classiques en cliquant sur des liens, et POST c'est pour les formulaires soumis en POST

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

  9. #9
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    268
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 268
    Points : 128
    Points
    128
    Par défaut
    Merci Chef !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Accès dossiers privés
    Par ptitnic dans le forum Tomcat et TomEE
    Réponses: 0
    Dernier message: 05/06/2010, 22h17
  2. dossier privé pour chaque client tse
    Par yussuf dans le forum Windows Serveur
    Réponses: 4
    Dernier message: 13/03/2007, 16h54
  3. Dossier privé xp
    Par john7 dans le forum Windows XP
    Réponses: 1
    Dernier message: 13/11/2006, 22h45
  4. [Apache] Probleme acces dossier
    Par jak0 dans le forum Apache
    Réponses: 3
    Dernier message: 26/01/2006, 13h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo