Ubuntu9.10でISPConfig3でWebDAVを使用する
このガイドでは、Ubuntu9.10サーバー上のISPConfig3で作成されたWebサイトでWebDAVをセットアップして使用する方法について説明します。 WebDAVは、Webベースの分散オーサリングとバージョン管理の略です。 また、HTTPプロトコルの拡張機能のセットであり、ユーザーがApacheサーバー上のファイルを直接編集できるため、FTP経由でファイルをダウンロード/アップロードする必要がありません。もちろん、WebDAVを使用してファイルをアップロードおよびダウンロードすることもできます。
これがあなたのために働くという保証はありません!
1予備メモ
ここでは、ホスト名server1.example.comのUbuntu9.10サーバーを使用しています。
このチュートリアルのすべてのステップをroot権限で実行する必要があるため、このチュートリアルのすべてのコマンドの前に文字列sudoを付けるか、「
」と入力して今すぐrootになります。sudo su
ISPConfig 3がすでにインストールされていると想定しています(The Perfect Server-Ubuntu 9.10 [ISPConfig 3]による)。ドキュメントルート/var/ www / clients / client1 / web1 / web(または/ var / www / example)を持つWebサイトwww.example.com / example.com(ISPConfig 3を使用して作成)に対してWebDAVを有効にします/ var / www / clients / client1 / web1/webへのシンボリックリンクである.com/web)。
www.example.com / example.com vhostは現在、次のようになっています。
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> |
2WebDAVの有効化
次のようにWebDAVモジュールを有効にできます。
a2enmod dav_fs
a2enmod dav
Apacheを再起動します:
/etc/init.d/apache2 restart
3WebDAV用に仮想ホストを構成する
次に、ユーザーテストを使用してWebDAVパスワードファイル/var/www/clients/client1/web1/passwd.davを作成します(ファイルが存在しない場合は、-cスイッチでファイルを作成します):
htpasswd -c /var/www/clients/client1/web1/passwd.dav test
ユーザーテスト用のパスワードを入力するように求められます。
(/var/www/clients/client1/web1/passwd.davがすでに存在する場合は、-cスイッチを使用しないでください。これにより、ファイルが最初から再作成され、そのファイル内のすべてのユーザーが失われます!)
>次に、/ var / www / clients / client1 / web1 / passwd.davファイルのアクセス許可を変更して、rootとwww-dataグループのメンバーのみがアクセスできるようにします。
chown root:www-data /var/www/clients/client1/web1/passwd.dav
chmod 640 /var/www/clients/client1/web1/passwd.dav
次に、ISPConfig3のwww.example.com/ example.com Webサイトの[オプション]タブに移動し、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> |
Aliasディレクティブは、(
しばらくすると(ISPConfig 3は最初にvhostを書き換える必要があります)、最終的なvhostは次のようになります。
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> |
mod_davはApacheユーザーとグループ(両方ともUbuntuのwww-data)の特権で実行されているため、/ var / www / clients / client1 / web1 / webの所有者とグループをwww-dataに再帰的に変更する必要があります(それ以外の場合)。 WebDAVを使用してファイル/ディレクトリを作成/編集/削除することはできません):
chown -R www-data:www-data /var/www/clients/client1/web1/web
FastCGI、CGI、またはsuExecを介してPHPを実行している場合、これによりPHPファイルで問題が発生する可能性があることに注意してください。 mod_phpを使用している場合は問題ありません。
これで、チュートリアル「Ubuntu9.10でApache2を使用してWebDAVを設定する方法」の第5章、第6章、および第7章で説明されているようにWebDAVの使用を開始できます。 WebDAV URLは、Linuxクライアントの場合はhttp://www.example.com/webdav/、Windowsクライアントの場合はhttp://www.example.com:80/webdav/です。
4つのリンク
- WebDAV:http://www.webdav.org/
- Apache:http://httpd.apache.org/
- Ubuntu:http://www.ubuntu.com/
- ISPConfig:http://www.ispconfig.org/