Utilisation de WebDAV avec ISPConfig 3 sur Ubuntu 9.10
Ce guide explique comment configurer et utiliser WebDAV sur un site Web créé avec ISPConfig 3 sur un serveur Ubuntu 9.10. WebDAV signifie Web-based Distributed Authoring and Versioning et est un ensemble d'extensions du protocole HTTP qui permettent aux utilisateurs de modifier directement des fichiers sur le serveur Apache afin qu'ils n'aient pas besoin d'être téléchargés/téléchargés via FTP. Bien entendu, WebDAV peut également être utilisé pour charger et télécharger des fichiers.
Je n'émets aucune garantie que cela fonctionnera pour vous !
1 Remarque préliminaire
J'utilise un serveur Ubuntu 9.10 avec le nom d'hôte server1.example.com ici.
Étant donné que nous devons exécuter toutes les étapes de ce didacticiel avec les privilèges root, nous pouvons soit ajouter la chaîne sudo à toutes les commandes de ce didacticiel, soit nous devenons root dès maintenant en tapant
sudo su
Je suppose qu'ISPConfig 3 est déjà installé (selon The Perfect Server - Ubuntu 9.10 [ISPConfig 3]). Je vais activer WebDAV pour le site Web www.example.com / example.com (qui a été créé avec ISPConfig 3) qui a la racine du document /var/www/clients/client1/web1/web (ou /var/www/example .com/web qui est un lien symbolique vers /var/www/clients/client1/web1/web).
Le vhost www.example.com / example.com se présente actuellement comme suit :
cat /etc/apache2/sites-available/example.com.vhost
<Directory /var/www/example.com> AllowOverride None Order Deny,Allow Deny from all </Directory> <VirtualHost *:80> DocumentRoot /var/www/example.com/web ServerName example.com ServerAlias www.example.com ServerAdmin [email protected] ErrorLog /var/log/ispconfig/httpd/example.com/error.log ErrorDocument 400 /error/400.html ErrorDocument 401 /error/401.html ErrorDocument 403 /error/403.html ErrorDocument 404 /error/404.html ErrorDocument 405 /error/405.html ErrorDocument 500 /error/500.html ErrorDocument 503 /error/503.html <Directory /var/www/example.com/web> Options FollowSymLinks AllowOverride All Order allow,deny Allow from all </Directory> <Directory /var/www/clients/client1/web1/web> Options FollowSymLinks AllowOverride All Order allow,deny Allow from all </Directory> # mod_php enabled AddType application/x-httpd-php .php .php3 .php4 .php5 php_admin_value sendmail_path "/usr/sbin/sendmail -t -i [email protected]" php_admin_value upload_tmp_dir /var/www/clients/client1/web1/tmp php_admin_value session.save_path /var/www/clients/client1/web1/tmp php_admin_value open_basedir /var/www/clients/client1/web1/web:/var/www/clients/client1/web1/tmp:/usr/share/php5 </VirtualHost> |
2 Activation de WebDAV
Nous pouvons activer les modules WebDAV comme suit :
a2enmod dav_fs
a2enmod dav
Redémarrez Apache :
/etc/init.d/apache2 restart
3 Configurer l'hôte virtuel pour WebDAV
Nous créons maintenant le fichier de mot de passe WebDAV /var/www/clients/client1/web1/passwd.dav avec le test utilisateur (le commutateur -c crée le fichier s'il n'existe pas) :
htpasswd -c /var/www/clients/client1/web1/passwd.dav test
Il vous sera demandé de saisir un mot de passe pour le test utilisateur.
(Veuillez ne pas utiliser le commutateur -c si /var/www/clients/client1/web1/passwd.dav existe déjà car cela recréera le fichier à partir de zéro, ce qui signifie que vous perdrez tous les utilisateurs de ce fichier !)
Nous modifions maintenant les autorisations du fichier /var/www/clients/client1/web1/passwd.dav afin que seuls root et les membres du groupe www-data puissent y accéder :
racine chown :www-data /var/www/clients/client1/web1/passwd.dav
chmod 640 /var/www/clients/client1/web1/passwd.dav
Passons maintenant à l'onglet Options du site Web www.example.com / example.com dans ISPConfig 3 et ajoutons les lignes suivantes dans le champ des directives Apache :
<Directory /var/www/clients/client1/web1/web> Options +Indexes +MultiViews </Directory> Alias /webdav /var/www/clients/client1/web1/web <Location /webdav> DAV On AuthType Basic AuthName "webdav" AuthUserFile /var/www/clients/client1/web1/passwd.dav Require valid-user </Location> |
La directive Alias fait (avec
Après quelques instants (ISPConfig 3 doit d'abord réécrire le vhost), le vhost final devrait ressembler à ceci :
cat /etc/apache2/sites-available/example.com.vhost
<Directory /var/www/example.com> AllowOverride None Order Deny,Allow Deny from all </Directory> <VirtualHost *:80> DocumentRoot /var/www/example.com/web ServerName example.com ServerAlias www.example.com ServerAdmin [email protected] ErrorLog /var/log/ispconfig/httpd/example.com/error.log ErrorDocument 400 /error/400.html ErrorDocument 401 /error/401.html ErrorDocument 403 /error/403.html ErrorDocument 404 /error/404.html ErrorDocument 405 /error/405.html ErrorDocument 500 /error/500.html ErrorDocument 503 /error/503.html <Directory /var/www/example.com/web> Options FollowSymLinks AllowOverride All Order allow,deny Allow from all </Directory> <Directory /var/www/clients/client1/web1/web> Options FollowSymLinks AllowOverride All Order allow,deny Allow from all </Directory> # mod_php enabled AddType application/x-httpd-php .php .php3 .php4 .php5 php_admin_value sendmail_path "/usr/sbin/sendmail -t -i [email protected]" php_admin_value upload_tmp_dir /var/www/clients/client1/web1/tmp php_admin_value session.save_path /var/www/clients/client1/web1/tmp php_admin_value open_basedir /var/www/clients/client1/web1/web:/var/www/clients/client1/web1/tmp:/usr/share/php5 <Directory /var/www/clients/client1/web1/web> Options +Indexes +MultiViews </Directory> Alias /webdav /var/www/clients/client1/web1/web <Location /webdav> DAV On AuthType Basic AuthName "webdav" AuthUserFile /var/www/clients/client1/web1/passwd.dav Require valid-user </Location> </VirtualHost> |
Étant donné que mod_dav s'exécute avec les privilèges de l'utilisateur et du groupe Apache (tous deux www-data sur Ubuntu), nous devons modifier le propriétaire et le groupe de /var/www/clients/client1/web1/web en www-data de manière récursive (sinon vous ne serez pas autorisé à créer/modifier/supprimer des fichiers/répertoires à l'aide de WebDAV) :
chown -R www-data:www-data /var/www/clients/client1/web1/web
Veuillez noter que cela peut causer des problèmes pour les fichiers PHP si vous exécutez PHP via FastCGI, CGI ou suExec. Ce n'est pas un problème si vous utilisez mod_php.
Vous pouvez maintenant commencer à utiliser WebDAV comme décrit dans les chapitres 5, 6 et 7 du didacticiel Comment configurer WebDAV avec Apache2 sur Ubuntu 9.10. L'URL WebDAV est http://www.example.com/webdav/ pour les clients Linux et http://www.example.com:80/webdav/ pour les clients Windows.
4 liens
- WebDAV :http://www.webdav.org/
- Apache :http://httpd.apache.org/
- Ubuntu :http://www.ubuntu.com/
- ISPConfig :http://www.ispconfig.org/