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 example@unixlinux.online
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 example@unixlinux.online"
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 example@unixlinux.online
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 example@unixlinux.online"
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/