3分で認証とか考慮しないWebDavを構築してみる

大したことはないし、そこらへんに構築メモは転がってるので要らないと思うけど・・・

という訳で、一から最低限の機能のみを構築しますという体で進めます。
日本語の文字化け対策にエンコーディングを入れてーみたいなことはしません。

動かすことのみに注力します。

環境


・CentOS6.3 x86_64

Apacheのインストール


以下のコマンドでApacheをインストールします。
このとき、インストールするパッケージはdevelにします。(色々必要なものが一緒に入るので)

1
$sudo yum install httpd-devel

モジュールの確認


WebDavは、Apacheの追加モジュールです。
develパッケージでインストールした場合、自動でインストールされますが念の為に確認します。
以下の2つが、「/etc/httpd/conf/httpd.conf」に記載されているか確認します。

  • LoadModule dav_module modules/mod_dav.so
  • LoadModule dav_fs_module modules/mod_dav_fs.so

記載が無ければ、「/usr/lib/httpd/modules/」に上記モジュールがあるか確認します。
モジュールが存在していれば、追加しましょう。

WebDavの設定


以下の内容で、「/etc/httpd/conf.d/webdav.conf」を作成します。
ACLやBasic認証とかもここで設定できますが、最低限動作なので実施しません。
因みに、ディレクトリに対して細かい設定ができます。

1
2
3
4
5
6
7
8
9
10
#
# This is to permit URL access to WebDav.
#
Alias /webdav/ "/var/www/html/webdav/"
<IfModule mod_dav.c>
    DAVMinTimeout 600
    <Location /webdav>
        DAV On
    </Location>
</IfModule>

WebDav用のディレクトリ作成


WebDavとして共有するためのディレクトリを作成します。

1
$sudo mkdir -p /var/www/html/webdav

ディレクトリをApacheから制御できるように所有者・所有グループを「apache」に変更します。

1
$sudo chown apache:apache /var/www/html/webdav

iptablesの設定


iptablesを未設定のままにすると、iptablesによってアクセスできないので、80番ポートのアクセスを許可するように設定変更します。

1
$sudo emacs /etc/sysconfig/iptables

80番での通信を許可するよう、以下の内容をREJECTの前に追加します。

1
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

iptablesを再起動します。

1
$sudo /etc/init.d/iptables restart

Apacheの起動


以下のコマンドで起動します。

1
$sudo /etc/init.d/httpd start

http://localhost/webdavにアクセス出来れば完了です。

この程度だと、大したことないし知ってれば3分要らないかもw