実用 Apache 2.0運用・管理術 第6回

Apacheで作るファイルサーバ(WebDAV over SSL編)

鶴長 鎮一(book@tsurunaga.jp)
2005/12/13

WebDAV over SSLのインストールと設定

 では、WebDAV over SSLの導入と設定を行います。ここで一気にLDAPまで導入しないのは、うまく動作しなかった場合に問題を切り分けやすくするためです。

 ちなみに、@ITのLinux Tipsにも、WebDAV関係の記事が存在します。

 Linux Tips
  ・WebDAVサーバを構築するには
  ・WebDAVサーバにアクセスするには
  ・WebDAVサーバにSSLとBasic認証を適用するには

 ディストリビューションの多くはApacheを標準で採用しており、そのほとんどがHTTPSまで使用できるようになっています。本記事ではFedora Core 4(以下FC4)を前提に解説しますが、ほかのディストリビューションでも大差はありません。ソースからインストールする場合については、「Appendix:ソースからのインストール」を参照してください。

 まずインストールされているモジュールを確認します。必要なモジュールは、

  • mod_dav.so
  • mod_dav_fs.so
  • mod_ssl.so

です。これらはApache本体のパッケージとは別にインストールする必要があります。FC4の場合、WebDAVに必要なmod_dav.soとmod_dav_fs.soはApache本体のパッケージに付随していますが、HTTPSに必要なmod_ssl.soとその設定ファイルは別途インストールする必要があります。

# rpm -qa | grep mod_ssl
mod_ssl-2.0.54-10.2
mod_ssl.soのインストール確認(FC4の場合)

 インストールされていない場合は、yumコマンドでオンラインインストールします。

# yum install mod_ssl

 次に、公開するディレクトリを作成します。ここでは「/var/www/webdav」をWebDAV用に利用することにします。また、WebDAVは読み込み権限だけでなく、書き込み権限も必要です。ディレクトリの作成後、OwnerとGroupの変更を忘れずに実行しましよう。Owner/Groupは、httpd.confで指定されているApacheデーモンのものを指定します。

User apache
Group apache
httpd.conf

# mkdir /var/www/webdav
# chown apache.apache /var/www/webdav

 公開ディレクトリを作成したら、httpd.confの設定を行います。httpd.confの場所については、第1回を参照してください。

#モジュールの読み込み
LoadModule dav_module modules/mod_dav.so
LoadModule dav_fs_module modules/mod_dav_fs.so

#ロックファイルのための設定
<IfModule mod_dav_fs.c>
    # Location of the WebDAV lock database.
    DAVLockDB /var/lib/dav/lockdb
</IfModule>

#for WebDAV
Alias   /webdav    "/var/www/webdav" URLは「https://サーバ/webdav」
<Location /webdav>
        DAV on
        SSLRequireSSL ←SSLの有効化
        AuthType        Basic ←BASIC認証
        AuthName        "WebDAV Server"
        AuthUserFile    "/etc/httpd/.htpasswd" ←認証ファイルの指定
        Require valid-user ←AuthUserFileで指定したファイルに登録されている全ユーザー
</Location>
WebDAV+SSLのためのhttpd.confの設定

 上のサンプルでは、mod_sslの読み込みなどSSLに関係した設定を行っていないように見えますが、ディストリビューション提供のmod_sslをインストールした場合、SSL関係の設定は/etc/httpd/conf.d/ssl.confで行います。そのため、「SSLRequireSSL」の1行で「WebDAV over SSL」が可能となります。RPMなどのパッケージを使わずソースからインストールした場合は、「Appendix:ソースからのインストール」を参考に、サーバ証明書やサーバ用秘密鍵などを用意してssl.confを修正します。

mod_encodingによる文字化け対策

 このままでは、WindowsとLinuxの文字コードの違いから、日本語のファイル/ディレクトリ名で文字化けが起こります。そこで、文字コードの変換を行うmod_encodingをインストールします。mod_encodingは有志により作成されたモジュールで、詳細は「WebDAV Resources JP」(http://webdav.todo.gr.jp/)で確認できます。FC3用のRPMパッケージが存在し、これはFC4でも使用可能です。

# wget http://yum.sera.desuyo.net/3/i386/mod_encoding-20040616-1.fc3.webdavjp.1.i386.rpm
# rpm -ivh mod_encoding-20040616-1.fc3.webdavjp.1.i386.rpm

 mod_encodingをインストールすると、以下のようなの内容の/etc/httpd/conf.d/mod_encoding.confが追加されます。

EncodingEngine        on

SetServerEncoding     UTF-8 ←サーバの文字コードはUTF-8のみ対応

DefaultClientEncoding UTF-8 CP932 EUCJP-MS ←クライアント側の文字コード

AddClientEncoding "Microsoft .* DAV 1.1" ASCII CP932 UTF-8
AddClientEncoding "Microsoft .* DAV" UTF-8 CP932
AddClientEncoding "(Microsoft .* DAV $)" UTF-8 CP932
AddClientEncoding "(Microsoft .* DAV 1.1)" CP932 UTF-8
AddClientEncoding "Microsoft-WebDAV*" UTF-8 CP932
AddClientEncoding "RMA/*" CP932
AddClientEncoding "xdwin9x/" CP932
AddClientEncoding "cadaver/" UTF-8 EUCJP-MS
AddClientEncoding "Mozilla/" EUCJP-MS
/etc/httpd/conf.d/mod_encoding.conf

 DefaultClientEncodingには、自動判定を行うJA-AUTO-SJIS-MSも用意されていますが、上での設定では自動判定を行わずCP932を使用するようにしています。CP932はシフトJIS(Shift_JIS)のMicrosoft拡張といわれるもので、EUCJP-MSはMicrosoft拡張を反映したEUC対応のエンコードです。そのため「」や「」などの機種依存文字も正しく各文字コードにマッピングされます。

htpasswdを使ったBASIC認証

 ここでは暫定的に、htpasswdを使ったBASIC認証を利用します。以下の要領で/etc/httpd/.htpasswdを作成します。Apacheデーモンのユーザー権限で読み込みできる必要があります。

# htpasswd -c /etc/httpd/.htpasswd ユーザー名
New password: ←パスワードの入力
Re-type new password: ←再度パスワードの入力
Adding password for user ユーザー名

Apacheの再起動と確認

 ここまでの設定が終わったら、

# apachectl configtest

を実行してhttpd.confの文法チェックを行っておきましょう。

 httpd.confの確認が終わったら、Apacheを再起動します。

# apachectl restart
apachectlコマンドを使用したApacheの再起動

 Apacheを再起動して設定を反映させたら、次は動作確認です。先に紹介したLinux Tipsでは、SSLを用いないWebDAVの確認方法が解説されています。WebDAV over SSLの場合も基本的には同じであるため、ここでは注意点に簡単に触れるだけにとどめます。

GNOME(Linux)でWebDAV over SSLにアクセス

 「サーバへ接続」ダイアログボックスを開き、画面1のように「サービスの種類」で「セキュア WebDAV(HTTPS)」を選択し、「ポート番号」に「443」を入力します。

画面1 GNOMEの「サーバへ接続」ダイアログボックス

WindowsでWebDAV over SSLにアクセス

 「マイ ネットワーク」の「ネットワーク プレースの追加」アイコンをダブルクリックして「ネットワーク プレースの追加ウィザード」(画面2)を起動し、アドレス指定の際に「https」を使用します。

画面2 Windowsの「ネットワーク プレースの追加ウィザード」(画像をクリックすると拡大します)

 機種依存文字を含む日本語を名前に使っているファイル/ディレクトリのアップロード/ダウンロードを試し、動作を確認します。

 なお、ファイルやディレクトリは名前がUTF-8に変換されて/var/www/webdav下に作成されます。lsやrmなど、サーバ上のシェルでもそのまま操作できます。

 次回は、今回構築した環境にLDAP認証を組み込んでアクセス権を設定する方法を解説します。

2/3

Index
実用 Apache 2.0運用・管理術
 第6回 Apacheで作るファイルサーバ(WebDAV over SSL編)
  Page 1
 WebDAVとセキュリティ、認証機構の統合
Page 2
 WebDAV over SSLのインストールと設定
  mod_encodingによる文字化け対策
  htpasswdを使ったBASIC認証
  Apacheの再起動と確認
  Page 3
 Appendix:ソースからのインストール
  WebDAV、SSL、LDAPの組み込み
  mod_encodingmの組み込み
  SSLの設定(サーバ証明書と秘密鍵の用意)

連載 実用 Apache 2.0運用・管理術


 Linux Squareフォーラム サーバ構築・運用関連記事
連載:Heartbeatでかんたんクラスタリング(連載中)
オープンソースソフトウェアの「Heartbeat」を使ってHAクラスタを実現し、サービスを「落とさない」仕組みを実現します
特集:Apache 2.2でWebサイトをパフォーマンスアップ!
最新安定版Apache 2.2は、何が変わったのか? 最新のApacheを新機能の使い方とともに解説する
連載:実用 Apache 2.0運用・管理術(全8回)
本連載では、Apache 2.0の運用や管理方法を解説する。まず必須設定と基本的なセキュリティ対策を行い今後の運用に備える
連載:実用 BIND 9で作るDNSサーバ(全15回)
本連載では、BIND 9の構築/運用方法を解説していく。実際に役立つことを目的に、セキュリティや大規模運用などのテーマを取り上げていく
連載:実用qmailサーバ運用・管理術(全14回)
本連載を通して、qmailによるメールサーバの高度な構築・運用・管理術を紹介。SPAM対策やML管理からサーバでのウイルスチェックなどまで
特集:Samba 3.0の全貌 改訂版
Samba 3.0リリースから8カ月。ここであらためて、Samba 3.0系列の新機能、インストール方法、国際化の現状を解説する

MONOist組み込み開発フォーラムの中から、Linux関連記事を紹介します

TechTargetジャパン

Linux Square フォーラム 新着記事

@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

RSSフィード

キャリアアップ



- PR -
@IT Sepcial

イベントカレンダー

PickUpイベント

- PR -
もっと見る
- PR -

お勧め求人情報

ホワイトペーパーTechTargetジャパン

@IT Sepcial
ソリューションFLASH