WebDAVを使ったファイル共有サーバの構築

2007年4月5日 at 6:04 午前

今日はWebDAVの設定方法について説明します。

※WebDAVについての詳細は他のサイトから情報を御入手ください。
ここでは、WebDAVの設定方法について説明します。

簡単に言えばHTTPのプロトコルを使用してファイルをWebサーバに
アップデートするための仕組みで、FTPと異なりロック機構が
存在するので、多人数によるファイル共有に向いています。
また、Samba等と異なり、Windows以外の環境でも容易に、
また非常に良く使われるプロトコルを使用してファイル共有が
できるなどの利点があります。
特にファイアウォールの環境等ではHTTPの通信で使用する
ポート番号だけを開けておくだけでファイル共有が簡単にできるため
このような環境でも利点があります。
さて、それでは実際に、Sun Java System Web Server 7.0で
WebDAVを利用できるように設定してみましょう。

前提:
●http://HOST-NAME/davというディレクトリにファイルを
共有できるように設定します。
●また、WebDAVのクライアントとしてMS-Windowsの
「ネットワークプレースを追加する」を利用します。
●WevDAVにアクセスするためにSolarisのPAM認証(/etc/passwd)を
利用します。
●Sun Java System Web Server 7.0のSolaris版を使用し
/sun/webserver7にインストールされていることとします。

WebDAVの設定手順:

1.共有ディレクトリの作成

まず、WebDAVで使用する共有ディレクトリを作成します。
設定する仮想サーバのドキュメントルートが/sun/webserver7/https-jse8-078/docs
ディレクトとして設定されています。そこでドキュメントルート配下に
/davディレクトを作成します。

jse8-78> pwd
/sun/webserver7/https-jse8-078/docs
jse8-78> mkdir dav
jse8-78> ls -l
合計 234
drwxr-xr-x 2 root root 512 4月 5日 19:56 dav
drwxr-xr-x 2 root root 512 4月 5日 11:42 img
-rw-r–r– 1 root root 12020 4月 5日 11:42 index.html
-rw-r–r– 1 root root 12632 4月 5日 11:42 index_de.html
-rw-r–r– 1 root root 12020 4月 5日 11:42 index_en.html
-rw-r–r– 1 root root 12772 4月 5日 11:42 index_es.html
-rw-r–r– 1 root root 13310 4月 5日 11:42 index_fr.html
-rw-r–r– 1 root root 14652 4月 5日 11:42 index_ja.html
-rw-r–r– 1 root root 13041 4月 5日 11:42 index_ko.html
-rw-r–r– 1 root root 10834 4月 5日 11:42 index_zh_cn.html
-rw-r–r– 1 root root 11543 4月 5日 11:42 index_zh_tw.html
drwxr-xr-x 2 root root 512 4月 5日 11:52 source
jse8-78>

2.PAM 認証データベースの作成

次にWebDAVのコンテンツにアクセスする際に使用する認証用の
データベースを作成します。
管理画面より下記のタブにアクセスします。

「構成」→「構成ファイル(jse8-078)」→「アクセス制御」→「認証データベース」

ここで、「新規」ボタンを押下してください。
すると、下記の画面が表示されます。
ここで、それぞれ下記を入力して「了解」ボタンを押下してください。

データベースタイプ PAM
認証データベースタ名 SolarisPAM

すると管理画面の右上に下記の「配備保留中」のリンクが現れますので、
このリンクを押下します。

すると下記の画面が表示されますので「配備」ボタンを押下してください。

正常に配備が完了すると「閉じる」ボタンを押下して、別ウィンドウを閉じます。

3.インスタンスの起動ユーザの変更
※ SolarisのPAMを使用する場合は必ずインスタンスの起動ユーザを
rootに変更してください。

管理ガイドにも書かれていますが、PAMを使用する場合はインスタンスを
rootで起動する必要がある事が書かれています。
私はこれをしないで、設定をしてしまいはまってしまいました。

管理ガイド

PAM PAM is the new auth-db supported by Sun Java System Web Server 7.0.
The PAM auth-db delegates the authentication to the Solaris PAM stack,
this allows existing Solaris users on the web server system to authenticate
to the web server as well.

Note
PAM auth-db is only supported in Solaris 9 and 10 (or higher) and
the web server instance must be running as root.

余談:

現時点では、インスタンスの起動ユーザにroot以外を指定している場合も、
エラー画面等表示されることなく、問題無く設定できているように見えます。
しかし、全ての設定が完了した後、WebDAVのコンテンツにアクセスしようと
試みた際に失敗してはじかれます。
この際、ログにワーニングメッセージが記載されています。
操作中はワーニングやエラーは表示されませんので、必ず変更するように
してください。

※ここで仮にインスタンスが起動している場合は、インスタンスを停止して
作業を行ってください。インスタンスを起動している状態で変更すると
エラーが発生します。

インスタンスの起動時のオーナを変更するには、
管理画面より下記にアクセスしてください。
「構成」→「構成ファイル(jse8-078)」→「一般」→「詳細」

ここで、構成情報を下記の画面のように「サーバユーザ」をrootに変更します。

変更して「保存」ボタンを押下した後、管理画面の右上に
「配備保留中」のリンクが現れます。

このリンクを押下します。
そして「配備」ボタンを押下してください。正常に配備が完了すると
「閉じる」ボタンを押下して、別ウィンドウを閉じます。

4.新規WebDAVコレクションの作成

さて、それでは実際に仮想サーバのWebDAVコレクションを作成します。
管理画面より下記にアクセスしてください。

「構成」→「構成ファイル(jse8-078)」→「仮想サーバ」→「仮想サーバID(jse8-078)

すると下記の画面が表示されます。

ここで、「新規」ボタンを押下してください。
すると別ウィンドウに下記の画面が表示されます。

ここで、URIに先ほど作成したディレクトリ名「/dav」を入力し
「次へ」ボタンを押下します。すると下記の画面が表示されます。

ここで、「認証データベース」として先ほど作成した「SolarisPAM」を指定します。
そして、「認証データベース内のすべてのユーザーを許可する」にチェックを付け
「次へ」ボタンを押下します。すると下記の確認画面が表示されます。

確認画面で「完了」ボタンを押下して下さい。
すると、「WEBDAV コレクションが正常に作成されました」のメッセージが表示されます。
「閉じる」ボタンを押下し、別ウィンドウを閉じてください。
すると、管理画面の右上に「配備保留中」のリンクが現れます。

このリンクを押下します。
そして「配備」ボタンを押下してください。正常に配備が完了すると
「閉じる」ボタンを押下して、別ウィンドウを閉じます。

以上でWeb Server側の設定が全て完了です。

5.ブラウザからの簡易確認

Web Server側での設定が完了しましたので、コンテンツに
アクセスできるか確認してみます。
ブラウザより、下記のURLにアクセスしてみてください。
すると下記のようなBasic認証の画面が表示されます。(IEの場合)

ここで、Solarisの/etc/passwd中に存在するユーザ名、パスワードを
それぞれ入力し「OK」ボタンを押下してください。
すると下記のような画面が表示されます。
どうでしょう、うまく表示されましたか?

6.WebDAVクライアントからのアクセス+ファイル共有
さて、もう既にWebDAVのコンテンツにアクセスできる状態ですので、
クライアントを利用して実際にファイルを置いてみましょう。
Windows XPならば、「マイネットワーク」より設定ができます。

「マイネットワーク」より「ネットワーク プレースを追加する」の
リンクを押下してください。すると下記のウィザード画面が表示されます。

「次へ」ボタンを押下してください。すると下記の画面が表示されます。

「次へ」ボタンを押下してください。すると下記の画面が表示されます。

ここで、「インターネットまたはネットワークのアドレス(A):」に
WebDAVのURI「http://10.14.8.78/dav」を入力し「次へ」ボタンを
押下します。すると下記の認証画面が表示されます。

ここで、Solarisの/etc/passwd中に存在するユーザ名、パスワードを
それぞれ入力し「OK」ボタンを押下してください。すると下記の画面が表示されます。
ここで、「ネットワーク プレースの名前を入力してください(T):」と表示
されている下のテキストフィールドに識別するための名前を入力してください。
※ここは識別名ですのでどのような名前でも結構です。

入力後「次へ」ボタンを押下してください。するとウィザードの完了画面が
表示されます。「完了」ボタンを押下してください。

「完了」ボタンを押下すると画面が閉じられ自動的にWebDAVへ接続を行います。
この際、再度認証画面が表示される場合もありますが、認証画面にてユーザ名、
パスワードを入力した後、下記の画面が表示されます。

「エクスプローラ」と同じUIですね!!
それでは、ファイルをドラッグ&ドロップしておいてみましょう!!
また、マウスを右クリックして新規「フォルダ」も作成してみましょう!!

如何でしょう?
簡単にファイル共有サーバができました!!
これは、最初に申し上げたとおり、HTTPの80番ポートを使用してアクセスしています。
ファイアウォールのある環境でも使えそうですよね!!

最後に、
今回はSolarisの/etc/passwdの中に含まれるユーザを
認証用のデータベースとして使用しています。
また、認証にはBasic認証を使っていますので、/etc/passwdの内容が
生でネットワークを流れてしまいます。
そこで、Solarisの/etc/passwdを使用する際には、HTTPSの設定や
他にもアクセス制限などを掛けることによってセキュリティを必ず確保してください。
そうしなければパスワード漏洩や、DoS攻撃などを受けてしまいますので、
十分にセキュリティを考えて御使用ください。

Entry filed under: SJS Web Server 7.

QA1 : JSF(Servlet)の対応バージョンについて Web Server 7.0の大きな導入事例登場!!


Java Champion & Evangelist

Translate

ご注意

このエントリは個人の見解であり、所属する会社の公式見解ではありません

カレンダー

2007年4月
 1
2345678
9101112131415
16171819202122
23242526272829
30  

カテゴリー

clustermap

ブログ統計情報

  • 1,268,119 hits

RSSフィード

アーカイブ


%d人のブロガーが「いいね」をつけました。