Partage et ecriture de fichiers sur protocole HTTP

12 août 2009 par Gaëtan Laisser une réponse »

Bijour,

Encore un truc inutile mais assez intéressant ^^. Tout le monde connait le protocole HTTP pour télécharger des pages web, voir des fichiers, mais on peut aussi écrire des fichiers sur le protocole HTTP via webDAV (supporté de base par windows … si c’est pas la classe ^^).

Bon bien sûr, il existe d’autre protocoles pour partager des fichiers (ftp, p2p, smb), mais webDAV a ses avantages :

  • Gestion de la concurrence des accès (plusieurs personnes ne pourront pas modifier le même fichier).
  • Possibilité d’utiliser des certificats SSL pour chiffrer les transferts (super utile!!).
  • Rapide et sécurisé (ça tourne sur un serveur apache) et ça permet d’éviter d’avoir d’autre ports ouvert sur sa machine (genre ftp, …).

Niveau configuration, y’a pas grand chose à faire, il suffit de mettre les lignes suivantes dans un fichier de conf d’apache :

Alias /kikoosfiles /dossier/a/partager/
  1.     <Location /kikoosfiles>
  2.             Dav On
  3.             AuthType Basic
  4.             AuthName "Restricted Files"
  5.             AuthUserFile /etc/apache2/paccess.htpasswd
  6.             Require valid-user
  7.    </Location>

Il faut juste créer le htpasswd :

  1. htpasswd -c /etc/apache2/paccess.htpasswd votreLogin

On peut ensuite tester l’accès :

Sous linux :

webdavSous windows, il suffit d’ouvrir l’url comme dossier web (Alt+O) en donnant l’url.

Bien sûr, si vous avez le modsecurity, vos logs vont se remplir de pas mal de chose, il faut donc désactiver certaines vérifications faites par le modsecurity, ce qui donne la configuration suivante :

Alias /kikoosfiles /dossier/a/partager/
  1.     <Location /kikoosfiles>
  2.             Dav On
  3.             AuthType Basic
  4.             AuthName "Restricted Files"
  5.             AuthUserFile /etc/apache2/paccess.htpasswd
  6.             Require valid-user
  7.             SecRuleRemoveByMsg "Invalid HTTP Request Line"
  8.             SecRuleRemoveByMsg "Method is not allowed by policy"
  9.             SecRuleRemoveByMsg "Request Missing an Accept Header"
  10.             SecRuleRemoveByMsg "HTTP header is restricted by policy"
  11.    </Location>

Si vous avez un certificat ssl, vous saurez facilement comment le mettre en place pour chiffrer la connexion. Et hop, une connexion chiffrée sur http :

dav-ssl

Publicité
  1. Ju dit :

    Ne pas oublier d’activer les modules dav et dav_fs :

    a2enmod dav
    a2enmod dav_fs

Laisser un commentaire