Servidor WebDAV

De El raconet d'en Jordi

Dreceres ràpides: navegació, cerca

Contingut

Justificació

Si bé un sistema de discs personals i quotes amb SFTP és molt convenient, especialment per a un nombre gran d'usuaris amb els que de vegades és dificil o lent comunicar, aquest sistema no és pràctic per fer espais compartits de treball.

A un espai compartit han d'accedir diferents usuaris amb la seva contrasenya (i si es possible, que sigui la mateixa del disc personal, unifiquem contrasenyes!!) i ha de poder llegir i escriure qualsevol document de l'espai comú.

Per altra banda, la gestió de quotes és més senzilla: es tracta d'un nombre limitat d'espais, cadascú amb un responsable (cap de departament, director, coordinador pedagògic). A més a més, cada categoria està limitada a la seva pròpia partició del disc, reservant i limitant l'espai global disponible.

Un sistema WebDAV, a més de ser un sistema integrat en l'escriptori de GNome i a l'explorador de Windows, utilitza l'usuari www-data com a propietari dels fitxers, de forma que tots els usuaris accedeixen amb els mateixos permisos a la zona comuna. Per altra banda, en ser un servei web podem utilitzar l'autorització per grups del servidor apache. Aquesta autorització es pot fer amb el mòdul libapache2-mod-auth-mysql[1], i centralitzar la gestió d'usuaris i grups a la mateixa base de dades MySQL.

Requisits

  • Servidor Apache2
  • Mòdul auth_mysql instal·lat
  • Servidor MySQL amb dos taules
    • una amb els usuaris i contrasenyes
    • d'altra amb parelles usuari / grup

Activem els mòduls webdav i auth_mysql:

    # a2enmod dav_fs
    # a2enmod dav
    # a2enmod auth_mysql
    # /etc/init.d/apache2 restart

Configuració

Fem un fitxer /etc/apache2/conf.d/dtec amb el contingut:

Alias /dtec /home/dept/dtec
 <Location /dtec>
          DAV On

### mod auth_mysql
   AuthBasicAuthoritative Off
   AuthMYSQL on
   AuthMySQL_Authoritative on
   AuthMySQL_DB vianet
   Auth_MySQL_Host localhost
   Auth_MySQL_User control
   Auth_MySQL_Password segurata
   AuthMySQL_Password_Table usuaris
   AuthMySQL_Username_Field userid
   AuthMySQL_Password_Field password
   AuthMySQL_Group_Table grups
   AuthMySQL_Group_Field grupid
   AuthMySQL_Empty_Passwords off
   AuthMySQL_Encryption_Types PHP_MD5
   # Standard auth stuff
   AuthType Basic
   AuthName "Departament Tecnologia"

   Require group dtec


</Location>

i reiniciem el servidor apache

Accés des de GNU/Linux

L'escriptori GNome té una perfecte integració: