以下の例では www.ocean.shinagawa.tokyo.jp というドメイン名で○ Public フォルダーを使えるようにする
ohashi というユーザが WebDAV を使えるようにする仮定で書いてあります。
ここを自分の web server の domain-name, user-name に変更してください。
% cd /Library/WebServer/Documents
% sudo mkdir DAVdocs
% sudo chown -R www.www DAVdocs
% cd /var
% sudo mkdir lock
% cd lock
% sudo mkdir apache
% sudo touch apache/DAVLock
% sudo chmod 700 apache
% sudo chown -R www.www apache
% sudo vi /etc/httpd/httpd.conf
#ServerName new.host.name
の行を以下のように変更
ServerName www.ocean.shinagawa.tokyo.jp
#LoadModule dav_module /usr/libexec/httpd/libdav.so
の行を以下のように変更
LoadModule dav_module /usr/libexec/httpd/libdav.so
#AddModule mod_dav.c
の行を以下のように変更
AddModule mod_dav.c
< IfModule mod_dav.c>
DAVLockDB "/var/lock/apache/DAVLock"
DAVMinTimeout 600
< Directory /Library/WebServer/Documents/DAVdocs>
DAV on
AllowOverride None
Options None
AuthType Basic
AuthName WebDAV
AuthUserFile /Library/WebServer/.htpasswd
< LimitExcept GET HEAD OPTIONS>
require valid-user
</LimitExcept>
</Directory>
</IfModule>
上をそのまま copy and paste して使う場合、< の後の空白 を削除してください。HTTP で表示するため、ここに SPACE が 入ってしまいます。
% cd /Library/WebServer
% htpasswd -c .htpasswd ohashi
New password:
Re-type new password:
Adding password for user ohashi
ファイル名を UTF-8 で扱っており、日本語ファイル名が文字化けするので
mode_encoding というモジュールでこれを解決する。
http://www.gnu.org/software/libiconv/
の Get the Software から libiconv-1.9.1.tar を download する。
% tar xf libiconv-1.9.1.tar
% cd libiconv-1.9.1
% ./configure
% make
% sudo make install
次に mod_encoding をインストール
http://webdav.todo.gr.jp/download/
から mod_encoding.tar.gz をダウンロード
% tar xf mod_encoding-20021209.tar
% cd mod_encoding-20021209/lib/
% ./configure --prefix=/usr
% make
% sudo make install
% cd ..
% ./configure --with-apxs=/usr/sbin/apxs --with-iconv-hook=/usr/local/iinclude/iconv_hook
(註) ここは一行で入力します。
% make
% sudo make install
httpd.conf を編集
% sudo vi /etc/httpd/httpd.conf
#LoadModule headers_module /usr/libexec/httpd/mod_headers.so
の行を以下のように変更
LoadModule headers_module /usr/libexec/httpd/mod_headers.so
LoadModule encoding_module /usr/libexec/httpd/mod_encoding.so
AddModule mod_headers.c
AddModule mod_encoding.c
< IfModule mod_encoding.c>
EncodingEngine on
NormalizeUsername on
SetServerEncoding UTF-8
DefaultClientEncoding JA-AUTO-SJIS-MS SJIS
AddClientEncoding "cadaver/" EUC-JP
</IfModule>
上をそのまま copy and paste して使う場合、< の後の空白 を削除してください。HTTP で表示するため、ここに SPACE が 入ってしまいます。
% apachectl configtest
で /etc/httpd/httpd.conf の記述の誤りをチェックできる。
% sudo apachectl restart
Apache を再スタート
Finder の 「移動」「サーバへ接続...」メニューで以下をを指定してみる。
http://www.ocean.shinagawa.tokyo.jp/DAVdocuser-name, password を聞かれた後 DAVdoc がマウントされるはず。
感想:以上は DAVdoc を public folder として使う方法で、
これは上の記述通りにやれば簡単に設定できました。
この他にユーザごとの private folder を設定する方法があります。
私としてはとりあえず public folder が使えればよいのですが、
private folder もトライしてうまく行ったらここに追加します。