Index > Apache2.2を使ったWebDAVサーバ設定 (Apache2のソースからのインストールとWebDAV設定)
Wed, October 28, 2009

Apache2.2を使ったWebDAVサーバ設定 (Apache2のソースからのインストールとWebDAV設定)

Apache2.2をソースからインストールしてWebDAVを使えるようにするのは、かなり簡単でした。

Apache2.2のドキュメントはとてもわかりやすいですし、 今ではApache自体がとても簡単にインストールできるようになっていて ソースからインストールの説明通りに オペレーションすれば(GCCなどの環境が整っている限りでは)とても簡単にインストールできます。

ただ、WebDAVを使うには若干インストールオプションの設定等のカスタマイズが必要だったので、 以下にメモしておきます。

ここでは、Linux(CentOS)を使用しました。
GCCをはじめApacheインストールに必要な環境は整っていることを前提としています。

Apache2.2 をWebDAVが使えるようにオプション指定してソースからインストール

configure , make , make install

$ tar xfz httpd-2.2.14.tar.gz
$ cd httpd-2.2.14/
$ ./configure --prefix=/home/foo/apache2 --enable-dav=yes --enable-auth-digest
$ make
$ make install

※configureのオプションとしてインストール先と dav,auth-digest をイキに指定しておくことがポイント

ポートを80 から8080 へ変更

ポート80で動かすには root 権限が必要です。ここでは、foo ユーザで作動させられるように、 ポートを 8080 に変更します。

/home/foo/apache2/conf/httpd.conf を編集

#Listen 80
Listen 8080

Listen 80 を Listen 8080 に変更。

作動確認

apache を起動して...

$ cd /home/foo/apache2/bin
$ apachectl -k start

ブラウザで、 http://foobar.net:8080/ にアクセスして、問題がないことを確認します。 (It works. と出るはず)

WebDAVの設定

Apache2.2本体の作動確認できたら、WebDAVの設定をします。

/home/foo/apache2/conf/httpd.conf を編集

以下のWebDAVの行をイキにします。

# Distributed authoring and versioning (WebDAV)
Include conf/extra/httpd-dav.conf

通常は、 conf/extra/httpd-dav.conf (/home/foo/apache2/conf/extra/httpd-dav.conf) の中身を確認して、 自分が設定したい状況に合わせてから、以下の作業を行うのだが、 ここでは、まずWebDAVの作動を確認するため、httpd-dav.conf の デフォルト設定通りで作業を進めます。

DavLockDB ファイル保存用 var ディレクトリの用意

conf/extra/httpd-dav.conf をみると、

DavLockDB "/home/foo/apache2/var/DavLock"

の記述がある、/home/foo/apache2/var にまだディレクトリがないため、作成する。

$ mkdir /home/foo/apache2/var
$ chmod 777 /home/foo/apache2/var

※セキュリティのことを考えると chmod 777 ではなくより厳しくすべきでしょう。

DavLock ファイルは、httpd.conf の

# User/Group: The name (or #number) of the user/group to run httpd as.
# It is usually good practice to create a dedicated user and group for
# running httpd, as with most system services.
#
User daemon
Group daemon

で指定されているUserとGroupで作成される(はず)なので、このユーザの読み書き権限が必要。 このユーザを適切に書き換える、という方法も考えられる。

認証用ファイルの作成

adminユーザを作成し、パスワードを指定。

$ htdigest -c "/home/foo/apache2/user.passwd" DAV-upload admin

※user.passwd ファイルの設置場所は、conf/extra/httpd-dav.conf で確認すること。

uploads ディレクトリの作成

WebDAVとして公開するディレクトリ uploads を作成

$ mkdir /home/foo/apache2/uploads
$ chmod 777 /home/foo/apache2/uploads
$ echo "hello dav" > /home/foo/apache2/uploads/hello.txt

※hello.txt ファイルをテスト用に準備しておく。

apache を再起動してエラーがないことを確認

$ cd /home/foo/apache2/bin
$ apachectl -k stop
$ apachectl -k start

WebDAVの作動確認をする

クライアントからWebDAVの作動を確認します。

ブラウザで確認

まずFirefox等のブラウザで普通に /home/foo/apache2/uploads/hello.txt にアクセスできるか確認しておきます。

ブラウザに、URL欄に

を入力して意図通り表示されるか確認します。

WebDAVクライアントで確認

Ubuntu8.04であれば、cadaver が使用できます。

必要に応じて cadaver をインストール。

$ sudo apt-get install cadaver

cadaver を使って作動チェック

$ cadaver http://foobar.net:8080/uploads/

ユーザとパスワードを尋ねられるので、先に htdigest コマンドで指定した値を入力。

仕上げ

ここまでできたら、基本的な作動はOKです。後は自分が使いたいように設定を変更します。

http://httpd.apache.org/docs/2.2/ja/mod/mod_dav.html を読みつつ、

を適切に設定していけばOKでしょう。

それにしてもApacheはすばらしいですね。 わたしのようなユーザでも簡単にセットアップして使うことができるのですから...

 Twitter
follow me on Twitter
 Categories