トップ «前の日記(2004-08-08 (Sun)) 最新 次の日記(2004-08-10 (Tue))» 編集 RSS feed

継続にっき

2004|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|12|
2006|01|03|05|06|08|09|10|12|
2007|01|02|03|05|07|12|
2008|10|
2009|01|05|12|
2010|04|05|11|
2011|01|09|12|
2012|02|03|05|09|12|
2013|02|03|
2014|05|09|
2015|12|
2017|09|

2004-08-09 (Mon)

))) WebDAVサーバ

WindowsからLinuxサーバのファイルにアクセスするにはSCPを使うのが一番手っ取り早いけれど、 WebDAVを使えばシームレスにアクセスできる。もちろん同一ネットワークならSambaによる ファイル共有になるだろうけど、それ以外ならSSL経由のWebDAVが今の時点では一番よいと思う。

ただ、WebDAVアクセスを行うとApacheの実行権限でファイルが書き込まれるため 個人用にサーバを新しく立ててみた。*1

インストール

Apache

configure時にprefixを適切に設定する以外には特に注意点はなし。

$ "./configure" \
 "--with-layout=Apache" \
 "--prefix=/home/kazuki/httpd" \
 "--with-mpm=worker" \
 "--enable-mods-shared=all" \
 "--enable-deflate" \
 "--enable-so" \
 "--enable-ssl" \
 "--disable-asis" \
 "--disable-auth_anon" \
 "--disable-auth_dbm" \
 "--enable-dav" \
 "--enable-dav-fs" \
 "--disable-imap" \
 "--disable-status"
mod_endcoding

@ITの記事をなぞればOK。

$ cd ~/src
$ wget http://webdav.todo.gr.jp/download/mod_encoding-20020611a.tar.gz
$ wget http://webdav.todo.gr.jp/download/experimental/mod_encoding.c.apache2.20040616
$ tar zxf mod_encoding-20020611a.tar.gz
$ cp mod_encoding.c.apache2.20040616 mod_encoding-20020611a/mod_encoding.c
$ cd mod_encoding-20020611a/lib
$ ./configure
$ make
$ su -c 'make install; /sbin/ldconfig'
$ cd ..
$ ./configure --with-apxs=~/httpd/bin/apxs
$ make
$ gcc -shared -o mod_encoding.so mod_encoding.o -Wc,-Wall -L/usr/local/lib -Llib -liconv_hook
$ make install

設定

httpd.conf

変更したのは

  • Listen
  • User
  • Group
  • ServerName

あたり。

WebDAVに関する設定は

LoadModule encoding_module  modules/mod_encoding.so
LoadModule dav_module modules/mod_dav.so
LoadModule dav_fs_module modules/mod_dav_fs.so

<IfModule mod_encoding.c>
  EncodingEngine    on
  NormalizeUsername on
  SetServerEncoding     UTF-8
  DefaultClientEncoding JA-AUTO-SJIS-MS SJIS

  AddClientEncoding "cadaver/" EUC-JP
</IfModule>

<Location />
  deny from all
</Location>

Alias /dav "/home/username/"
<Location /dav>
   allow from all
   DAV on
   <Limit GET PUT POST DELETE PROPFIND PROPPATCH MKCOL COPY MOVE LOCK UNLOCK>
     AuthType Basic
     AuthName "WebDAV"
     AuthUserFile /home/username/.htpasswd-webdav
     Require valid-user
   </Limit>
</Location>
DAVLockDB  /home/username/httpd/var/DAVLock
ssl.conf

修正が必要なのは

  • Listen
  • <VirtualHost _default_:443>
  • ServerName

あたり。

使ってみる

これで準備は終わったので起動する。同梱の起動スクリプトは一般ユーザーからでは使えないようなので apachectlから。

$ ~/httpd/bin/apachectl -D SSL -k start

WindowsXPだったら[マイネットワーク]->[ネットワークプレースの追加]からWeb Folderを追加できる。 が、それでは使い勝手が悪いので「net use」を使ってドライブとして割り当てよう、と。

> net use z: https://host:nn/dav
システム エラー 67 が発生しました。

ネットワーク名が見つかりません。

……えー。どうやらhttp://host/という形でないとだめらしい。http://host:port/ですらだめ。 Web Folderでは問題なく使えるのに。ドライブレターもらえないとまるで使えないのでがっくり。

))) kksytle

もう一つバグ修正。<kkstyle-1.2.tar.gz> 最初キャッシュがあるのを忘れていて、ファイルを入れ替えても直らないのであせった。

*1 このあたりはperchildに期待だなぁ


2004|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|12|
2006|01|03|05|06|08|09|10|12|
2007|01|02|03|05|07|12|
2008|10|
2009|01|05|12|
2010|04|05|11|
2011|01|09|12|
2012|02|03|05|09|12|
2013|02|03|
2014|05|09|
2015|12|
2017|09|
トップ «前の日記(2004-08-08 (Sun)) 最新 次の日記(2004-08-10 (Tue))» 編集 RSS feed