Používání WebDAV s ISPConfig 3 na Ubuntu 9.10
Tato příručka vysvětluje, jak nastavit a používat WebDAV na webu vytvořeném pomocí ISPConfig 3 na serveru Ubuntu 9.10. WebDAV je zkratka pro Web-based Distributed Authoring and Versioning a je sada rozšíření protokolu HTTP, která uživatelům umožňují přímo upravovat soubory na serveru Apache, takže je není nutné stahovat/nahrávat přes FTP. WebDAV lze samozřejmě použít i k nahrávání a stahování souborů.
Neposkytuji žádnou záruku, že to pro vás bude fungovat!
1 předběžná poznámka
Používám server Ubuntu 9.10 s názvem hostitele server1.example.com zde.
Protože musíme všechny kroky z tohoto tutoriálu spustit s právy root, můžeme buď před všechny příkazy v tomto tutoriálu přidat řetězec sudo, nebo se staneme rootem hned teď zadáním
sudo su
Předpokládám, že ISPConfig 3 je již nainstalován (podle The Perfect Server - Ubuntu 9.10 [ISPConfig 3]). Povolím WebDAV pro webovou stránku www.example.com / example.com (která byla vytvořena pomocí ISPConfig 3), která má kořen dokumentu /var/www/clients/client1/web1/web (nebo /var/www/example .com/web, což je symbolický odkaz na /var/www/clients/client1/web1/web).
Vhost www.example.com / example.com aktuálně vypadá takto:
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 Povolení WebDAV
Moduly WebDAV můžeme povolit následovně:
a2enmod dav_fs
a2enmod dav
Restartujte Apache:
/etc/init.d/apache2 restart
3 Konfigurace virtuálního hostitele pro WebDAV
Nyní vytvoříme soubor s hesly WebDAV /var/www/clients/client1/web1/passwd.dav s uživatelským testem (přepínač -c vytvoří soubor, pokud neexistuje):
htpasswd -c /var/www/clients/client1/web1/passwd.dav test
Budete požádáni o zadání hesla pro uživatelský test.
(Nepoužívejte prosím přepínač -c, pokud /var/www/clients/client1/web1/passwd.dav již existuje, protože tím znovu vytvoříte soubor od začátku, což znamená, že ztratíte všechny uživatele v tomto souboru!)
Nyní změníme oprávnění souboru /var/www/clients/client1/web1/passwd.dav tak, aby k němu měl přístup pouze uživatel root a členové skupiny www-data:
chown root:www-data /var/www/clients/client1/web1/passwd.dav
chmod 640 /var/www/clients/client1/web1/passwd.dav
Nyní přejdeme na kartu Možnosti na webu www.example.com / example.com v ISPConfig 3 a přidáme následující řádky do pole Direktivy 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> |
Direktiva Alias umožňuje (spolu s
Po několika okamžicích (ISPConfig 3 musí nejprve přepsat vhost) by měl konečný vhost vypadat takto:
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> |
Protože mod_dav běží s právy uživatele a skupiny Apache (oba www-data na Ubuntu), musíme změnit vlastníka a skupinu /var/www/clients/client1/web1/web na www-data rekurzivně (jinak nebudete moci vytvářet/upravovat/mazat soubory/adresáře pomocí WebDAV):
chown -R www-data:www-data /var/www/clients/client1/web1/web
Upozorňujeme, že to může způsobit problémy se soubory PHP, pokud PHP spouštíte přes FastCGI, CGI nebo suExec. Není problém, pokud používáte mod_php.
Nyní můžete začít používat WebDAV, jak je popsáno v kapitolách 5, 6 a 7 výukového programu Jak nastavit WebDAV s Apache2 na Ubuntu 9.10. WebDAV URL je http://www.example.com/webdav/ pro klienty Linux a http://www.example.com:80/webdav/ pro klienty Windows.
4 odkazy
- WebDAV:http://www.webdav.org/
- Apache:http://httpd.apache.org/
- Ubuntu:http://www.ubuntu.com/
- ISPConfig:http://www.ispconfig.org/