HTTPSでアクセス可能なWebDAVサイトを構築してみよう
2008年4月 9日
WebDAVを設定してみよう
それでは実際にHTTPSでアクセス可能なWebDAVサイトを構築してみよう。例として、www.example.comサイト更新用WebDAVの URIとしてhttps://192.0.2.5/www.example.com/を用意する。また、このURIへのアクセスを制限するBASIC認証の設定を追加してみよう。
SSL/TLSの設定は「/etc/httpd/conf.d/ssl.conf」ファイルに記述されているので、このファイルを編集する。なお、SuitePRO V2にプリインストールされているApache HTTP ServerではWebDAV用モジュールは最初から有効になっているため、モジュールについては特に設定することはない。
Aliasディレクティブでwww.example.com用のディレクトリを「https://192.0.2.5/www.example.com/」というURIでアクセス可能とし、このURIへWebDAVでアクセス可能とするために、LocationディレクティブとDAVディレクティブを使う。この例では認証に必要な設定として、「/var/www/.davpasswd」をユーザのパスワードファイルとし、グループは使用しない、認証されるのはパスワードファイルに登録されているユーザ「maskin」だけである、といった指定をしている。
- /etc/httpd/conf.d/ssl.confファイルの更新内容(root権限で編集)
-
(略) CustomLog logs/ssl_request_log \ "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b" Alias /www.example.com "/var/www/sites/www.example.com" <Location /www.example.com> DAV on AllowOverride None AuthUserFile /var/www/.davpasswd AuthGroupFile /dev/null AuthName "dav user" AuthType Basic Require user maskin Options Indexes -FollowSymLinks </Location> </VirtualHost>
BASIC認証を設定する
ここで、BASIC認証をするのに必要なパスワードファイルを作成する。パスワードファイルは「/var/www/.davpasswd」に保存するが、ユーザmaskinのパスワード登録とファイルの作成を同時に行うこともできる。
方法は簡単だ。次のようにhtpasswd コマンドへ「-c」オプションを指定して実行すれば良い。ユーザを追加するだけの場合は「-c」オプションはつけないで実行する。作成したパスワードファイルは、apacheユーザのみ参照できるようにファイルのパーミッションを変更する。
[root@ns ~]# htpasswd -c /var/www/.davpasswd maskin New password: Re-type new password: Adding password for user maskin [root@ns ~]# chmod 600 /var/www/.davpasswd [root@ns ~]# chown apache:apache /var/www/.davpasswd
設定ができたら、問題がないことをチェックしてから変更内容を反映する。
[root@ns ~]# service httpd configtest Syntax OK [root@ns ~]# service httpd reload Reloading httpd: [ OK ] [root@ns ~]# exit
HTTPSでWebDAVが動くことを確認
設定を反映できたところで、HTTPSでWebDAVの動作確認をしてみよう。
サーバ上での動作確認にはWebDAVクライアントの「cadaver」コマンドを使う。cadaverは、初期状態ではSuitePRO V2にインストールされていないので、root権限で「yum install cadaver」を実行して、依存関係があるファイルを含めてインストールしよう。
cadaverではHTTPSでアクセスするので、自己認証局による場合はブラウザからの場合と同様セキュリティ証明書に関する警告が表示されるが受け入れて先に進めよう。cadaverではftpコマンドのようにputやgetでファイルのアップロード、ダウンロードができる。以下にcadaverでdav.txtというファイルをアップロードする場合の使用例を示す。
[maskin@ns ~]$ cadaver https://192.0.2.5/www.example.com WARNING: Untrusted server certificate presented for (略) Do you wish to accept the certificate? (y/n) y Authentication required for dav user on server `192.0.2.5': Username: maskin Password: dav:/www.example.com/> ls Listing collection `/www.example.com/': succeeded. index.html 16 Feb 2 03:02 dav:/www.example.com/> put dav.txt Uploading dav.txt to `/www.example.com/dav.txt': Progress: [=============================>] 100.0% of 278 bytes succeeded. dav:/www.example.com/> bye Connection to `192.0.2.5' closed.
クライアントからアクセスできるかも動作確認しよう。Windows XPの場合は、[マイネットワーク]-[ネットワークプレースを追加]をクリックし表示される[ネットワークプレースの追加ウィザード]でWebフォルダを作成してアクセスする。サービスプロバイダの指定では[別のネットワークの場所を選択]を選び、インターネットのアドレスとしては「https://192.0.2.5/www.example.com」を入力する。認証ダイアログが表示されたら、登録したアカウント名とパスワードを指定する。[このネットワークプレースの名前を入力してください]では初期値をそのまま使っても良いし、わかりやすいものに変更しても良い。
Windows Vistaの場合は、[スタート]-[コンピュータ]でエクスプローラを表示し、その中で表示されている[コンピュータ]を右クリックして[ネットワークの場所を追加する]を選択してWebフォルダを作成する。Windows VistaではWebDAV(Webフォルダ)にバグがあったが、SP1では改善されている。
これで、https://192.0.2.5/www.example.comへWebDAV経由でアクセスすることにより、Webサイトのコンテンツ更新ができるようになる。別のバーチャルWebサーバドメイン(www.example.net・・・)についても同様に設定すれば良い。バーチャルWebサイトごとに別のアカウント名とパスワードを用意して、バーチャルWebサイトごとに管理者を割り当てるといった運用の仕方も可能である。
SuitePRO V2で便利なバーチャルWebサイトが楽々
バーチャルホスティング機能による複数サイトの運用で、特に有効なのが評価(Stage)用Webサイトと公開サイトの共存だ。同じ仕様のサーバを評価用と公開用にわけ、評価サイトで試験をしたあとで公開することでより安全にコンテンツやプログラムを運用することとができる手法だ。通常は、評価用と公開用のサーバが完全に一致せず、評価はOKでも、公開でNGということも発生するが、バーチャルWebサイトであればサーバの仕様はまったく同じであり、試験の有効性が高い。また、同じサーバ内に展開しているので、管理効率が極めて高いのだ。
評価サイトと公開サイトを共存させる場合、WebDAVで管理するのは原則評価サイトに限定し、試験が終了した後で公開サイトに同期すれば、より確実かつ安全に運用できる。
以上がバーチャルWebサイトを運用するにあたって必要なWebサーバの設定方法だ。SuitePRO V2では、バーチャルホスト、WebDAV、SSL、どれも簡単に設定できるようになっていることがわかってもらえたことと思う。インストール作業らしいインストールが特に必要ないというのが嬉しい点だ。次回はメールサーバをバーチャルドメインへ対応させる方法について解説する。
フィードを登録する |
---|
Web2.0時代の情報発信を考える
過去の記事
- デザインや機能だけでは勝負できない時代を勝ち抜く2008年4月25日
- MTOSに触れてみよう2008年4月25日
- SuitePRO V2にMTOSをインストールする2008年4月23日
- SuitePRO V2にMTOSをインストールする準備をしよう2008年4月23日
- MTOSで構築する情報発信型Webサイト2008年4月23日