Utilizzo di WebDAV con ISPConfig 3 su Ubuntu 9.10
Questa guida spiega come configurare e utilizzare WebDAV su un sito Web creato con ISPConfig 3 su un server Ubuntu 9.10. WebDAV sta per Creazione distribuita e controllo delle versioni basate sul Web ed è un insieme di estensioni al protocollo HTTP che consentono agli utenti di modificare direttamente i file sul server Apache in modo che non debbano essere scaricati/caricati tramite FTP. Naturalmente WebDAV può essere utilizzato anche per caricare e scaricare file.
Non garantisco che questo funzionerà per te!
1 Nota preliminare
Sto usando un server Ubuntu 9.10 con il nome host server1.example.com qui.
Poiché dobbiamo eseguire tutti i passaggi di questo tutorial con i privilegi di root, possiamo anteporre tutti i comandi in questo tutorial con la stringa sudo, oppure diventare root in questo momento digitando
sudo su
Presumo che ISPConfig 3 sia già installato (secondo The Perfect Server - Ubuntu 9.10 [ISPConfig 3]). Abiliterò WebDAV per il sito web www.example.com/example.com (che è stato creato utilizzando ISPConfig 3) che ha la radice del documento /var/www/clients/client1/web1/web (o /var/www/example .com/web che è un collegamento simbolico a /var/www/clients/client1/web1/web).
L'host virtuale www.example.com/example.com ha attualmente il seguente aspetto:
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 Abilitazione di WebDAV
Possiamo abilitare i moduli WebDAV come segue:
a2enmod dav_fs
a2enmod dav
Riavvia Apache:
/etc/init.d/apache2 restart
3 Configurare l'host virtuale per WebDAV
Ora creiamo il file password WebDAV /var/www/clients/client1/web1/passwd.dav con il test utente (l'opzione -c crea il file se non esiste):
htpasswd -c /var/www/clients/client1/web1/passwd.dav test
Ti verrà chiesto di digitare una password per il test utente.
(Per favore non utilizzare l'opzione -c se /var/www/clients/client1/web1/passwd.dav è già esistente perché questo ricreerà il file da zero, il che significa che perdi tutti gli utenti in quel file!)
Ora modifichiamo i permessi del file /var/www/clients/client1/web1/passwd.dav in modo che solo root e i membri del gruppo www-data possano accedervi:
chown root:www-data /var/www/clients/client1/web1/passwd.dav
chmod 640 /var/www/clients/client1/web1/passwd.dav
Ora andiamo nella scheda Opzioni del sito web www.example.com / example.com in ISPConfig 3 e aggiungiamo le seguenti righe nel campo Direttive 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 direttiva Alias fa (insieme a
Dopo alcuni istanti (ISPConfig 3 deve prima riscrivere il vhost), il vhost finale dovrebbe apparire così:
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> |
Poiché mod_dav è in esecuzione con i privilegi dell'utente e del gruppo Apache (entrambi www-data su Ubuntu), dobbiamo cambiare il proprietario e il gruppo di /var/www/clients/client1/web1/web in www-data in modo ricorsivo (altrimenti non ti sarà permesso creare/modificare/eliminare file/directory utilizzando WebDAV):
chown -R www-data:www-data /var/www/clients/client1/web1/web
Tieni presente che ciò potrebbe causare problemi per i file PHP se esegui PHP tramite FastCGI, CGI o suExec. Non è un problema se stai usando mod_php.
Ora puoi iniziare a usare WebDAV come descritto nei capitoli 5, 6 e 7 del tutorial Come configurare WebDAV con Apache2 su Ubuntu 9.10. L'URL WebDAV è http://www.example.com/webdav/ per i client Linux e http://www.example.com:80/webdav/ per i client Windows.
4 link
- WebDAV:http://www.webdav.org/
- Apache:http://httpd.apache.org/
- Ubuntu:http://www.ubuntu.com/
- Configurazione ISP:http://www.ispconfig.org/