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 :

Créer un virtualhost par utilisateur


Sujet :

Apache

  1. #1
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    17 685
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 17 685
    Points : 43 745
    Points
    43 745
    Par défaut Créer un virtualhost par utilisateur
    Bonjour,

    Pour faire des tests webdav, je cherche à créer un virtualhost par utilisateur avec chacun son dossier.

    Voici ce que j'ai fait qui ne marche que pour le 1er :

    user-test.conf :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    Listen 8080
    DavLockDB /var/www/DavLock
     
    <Virtualhost *:8080>
        DocumentRoot /var/www/test
        Alias /test /var/www/test
     
        <Directory /var/www/test> 
     
            DAV On 
            AuthType Digest
            AuthName "webdav"
            AuthUserFile /var/www/users.passwd
            Require valid-user
     
        </Directory>
     
    </Virtualhost>
    user-test1.conf :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    #Listen 8080
    DavLockDB /var/www/DavLock
     
    <Virtualhost *:8080>
        DocumentRoot /var/www/test2
        Alias /test2 /var/www/test2
     
        <Directory /var/www/test2> 
     
            DAV On 
            AuthType Digest
            AuthName "webdav"
            AuthUserFile /var/www/users.passwd
            Require valid-user
     
        </Directory>
     
    </Virtualhost>
    Chaque virtualhost par user ne doit avoir accès qu"à son dossier (pas d'accès à /var/www) et ne répondre que sur le port 8080. le port 80 répondant sur le virtualhot par défaut sur /var/www/html.

    Ca fonctionne sur le 1er user mais le second me retourne une erreur.

    Si j'enlève virtualhost dans le second fichier, comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Alias /test2 /var/www/test2
     
        <Directory /var/www/test2> 
     
            DAV On 
            AuthType Digest
            AuthName "webdav"
            AuthUserFile /var/www/users.passwd
            Require valid-user
     
        </Directory>
    ça fonctionne mais répond sur le port 80 et le port 8080 ce que je ne veux pas.

    Merci pour votre aide.

  2. #2
    Membre éprouvé
    Homme Profil pro
    Architecte cybersécurité
    Inscrit en
    Avril 2014
    Messages
    500
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Architecte cybersécurité
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2014
    Messages : 500
    Points : 1 167
    Points
    1 167
    Par défaut
    Hello chrtophe,

    Bon alors je connais vaguement Webdav (j'ai un collègue qui l'a mis en place chez nous via nextcloud) et je connais bien Apache mais je ne le maitrise pas à 100% non plus (du moins pas autant que Nginx) mais je vais essayer d'apporter une réponse.

    Mais un virtualhost par utilisateur ca me semble insensé (imagines toi une boite avec 10000 personnes) et de ce que j'ai vu de la conf de mon collègue + celles sur le net, c'est en effet un seul virtual host qu'il faut.

    user-test.conf et user-test1.conf ne possède pas de directive server name, ils renvoient donc tous les deux implicitement au même server name à savoir surement le FQDN de la machine. Et évidemment Apache va utiliser le premier vhost qui match , pas étonnant donc que le second te retourne une erreur.

  3. #3
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    17 685
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 17 685
    Points : 43 745
    Points
    43 745
    Par défaut
    user-test.conf et user-test1.conf ne possède pas de directive server name, ils renvoient donc tous les deux implicitement au même server name à savoir surement le FQDN de la machine. Et évidemment Apache va utiliser le premier vhost qui match , pas étonnant donc que le second te retourne une erreur.
    J'ai essayé avec servername après avoir posté.


    Mais un virtualhost par utilisateur ca me semble insensé (imagines toi une boite avec 10000 personnes)
    J'aurais que quelques utilisateurs. C'est pas la solution idéale, mais je cherche une solution pour isoler l'accès par utilisateur avec chacun son dossier

    je vais regarder du coté d'un .htaccess par utilisateur et du coté authentification par les utilisateurs système.

    Et ça m'emmerde de devoir laisser www-data propriétaire des données.

  4. #4
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    17 685
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 17 685
    Points : 43 745
    Points
    43 745
    Par défaut
    Je biens d'essayer avec htacces avec un résultat plus probant.

    avec le virtualhot dav.conf :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    Listen 8080
    DavLockDB /var/www/DavLock
     
    <Virtualhost *:8080>
        DocumentRoot /var/www/dav
        Alias /dav /var/www/dav    
     
        <Directory /var/www/dav> 
     
            DAV On 
            #AllowOverride AuthConfig
            AllowOverride All
     
        </Directory>
     
    </Virtualhost>
    et dans le dossier dav/test, un fichier .htaccess :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    AuthType Basic
    AuthName "private Area"
    AuthUserFile /var/www/passwords.basic
    Require user test
    Le dossier test n'apparait pas dans ip:8080 mais j'ai un accès avec demande d'authentification via ip:8080/test
    pas testé en webdav mais en http c'est bon

Discussions similaires

  1. [1.x] probléme avec virtualhost
    Par sou1987 dans le forum Symfony
    Réponses: 18
    Dernier message: 03/05/2010, 23h01
  2. Problème de virtualhost
    Par Grimdol dans le forum Apache
    Réponses: 1
    Dernier message: 23/08/2009, 16h10
  3. problème de virtualhost
    Par mnem0 dans le forum Apache
    Réponses: 4
    Dernier message: 30/07/2009, 07h36
  4. Réponses: 3
    Dernier message: 22/01/2008, 18h14
  5. Problèmes redirections/virtualhosts
    Par JoN28fr dans le forum Serveurs (Apache, IIS,...)
    Réponses: 7
    Dernier message: 04/04/2006, 22h42

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