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 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 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 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> |
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/