Apache2.2を使ったWebDAVサーバ設定 (Apache2のソースからのインストールとWebDAV設定)
Apache2.2をソースからインストールしてWebDAVを使えるようにするのは、かなり簡単でした。
Apache2.2のドキュメントはとてもわかりやすいですし、 今ではApache自体がとても簡単にインストールできるようになっていて ソースからインストールの説明通りに オペレーションすれば(GCCなどの環境が整っている限りでは)とても簡単にインストールできます。
ただ、WebDAVを使うには若干インストールオプションの設定等のカスタマイズが必要だったので、 以下にメモしておきます。
ここでは、Linux(CentOS)を使用しました。
GCCをはじめApacheインストールに必要な環境は整っていることを前提としています。
Apache2.2 をWebDAVが使えるようにオプション指定してソースからインストール
- fooユーザのホームディレクトリ直下の apache2 (/home/foo/apache2)にインストールします。
- httpd-2.2.14.tar.gz を事前にダウンロードしておく
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欄に
- http://foobar.net:8080/uploads/hello.txt
を入力して意図通り表示されるか確認します。
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 を読みつつ、
- conf/httpd.conf
- conf/extra/httpd-dav.conf
を適切に設定していけばOKでしょう。
それにしてもApacheはすばらしいですね。 わたしのようなユーザでも簡単にセットアップして使うことができるのですから...