Archive for 4月, 2007

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

今日は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攻撃などを受けてしまいますので、
十分にセキュリティを考えて御使用ください。

2007年4月5日 at 6:04 AM

QA1 : JSF(Servlet)の対応バージョンについて

先日、とある方から

「Sun Java System Web Server 7.0でJSF1.2が動作しないのでしょうか?」

「NetBeand 5.5でJSFの開発が簡単にできないのでしょうか?」

との御質問を頂きました。



まず、1点目についてですが、

残念ながら、現在正式リリースされているSun Java System Web Server 7.0では

JSF1.2のアプリケーションはサポートされていません。

サポートされているのは、J2EE 1.4ベースで、JSF1.1/Servlet 2.4の

アプリケーションの動作がサポートされています。



仮に、Java EE 5ベースでJSF 1.2/Servlet 2.5の

アプリケーションの動作が必須な御客様はもう暫く御待ちください。

次期リリースのSun Java System Web Server 7.0 Update 1より

Java EE 5ベースのJSF1.2/Servlet 2.5が正式サポートされるようになります。



※Web Serverのバージョンとサポートするテクノロジーのバージョン





Web Server 7.0Web Server 7.0 Update1
対応JSFバージョンJSF 1.1JSF 1.2
対応ServletバージョンServlet 2.4Servlet 2.5
対応JSPバージョンJSP 2.0JSP 2.1




Sun Java System Web Server 7.0 Update1 Technology Preview リリースノート



テクノロジープレビュー(いわゆるβ)版がリリースされています。

Sun Java System Web Server 7.0 Update1 Technology Previewのダウンロード



次期バージョンの正式なリリース日程につきましては申し上げることは

できませんが、数ヶ月後(2007年4月4日現在)にはリリースされると思います。



次に、NetBeans5.5を使用したJSFアプリケーションの簡単開発と

Web Server 7.0へのデプロイ方法についてですが、



まず、NetBeans 5.5 にはVisual Web Packという追加パッケージが存在します。

これを使うと、Sun Java Studio Creator 2と同じように、JSFコンポーネントの

ドラッグ&ドロップにより簡単に開発できるようになっています。



http://www.netbeans.org/products/visualweb/index_ja.html


開発イメージ


また、

NetBeans 5.5を使用したSun Java System Web Server 7.0への

プログラムのデプロイ方法については下記のURLに記載されていますので、

こちらを御参考にしてください。



「簡単に説明すると、NetBeans5.5のアップデートセンターより、

 Web Server 7.0のプラグインを入手していただく事で可能になります。」



Deploying Web Applications to Sun Java System Web Server 7.0 With NetBeans 5.x



最後に、余談になりますが。

現在はNetBeans 5.5のアップデートセンターから入手できるプラグインは

残念ながらSun Java System Web Server 7.0用の物だけです。

そこで、JSF 1.1ベースのアプリケーションしか作成できません。



社内で確認した所、Sun Java System Web Server 7.0 Update1用のプラグインは

現在作成中で正式リリースに併せて提供されるようです。



JSF1.2ベースのアプリケーションを御作成いただいている方は

Sun Java System Web Server 7.0 Update 1が出るまでは

Sun Java System Application Server PE 9.0 Update Release 1

で動作確認を行ってください。





******************************************************************

2007/04/05のアップデート情報です。



仮に、NetBeans 5.5+Visual Web PackでJSF1.2アプリケーションを作成し、

Sun Java System Web Server 7.0 Update1でどうしても動作確認を行いたい場合、

正式にサポートされていない方法ですが、下記で動作確認できます。



まず、プロジェクトを作成します。プロジェクトを作成する際、

Application Server 9を選択しJava EE 5のアプリケーションを作成します。







ここで、NetBeans 5.5のメニューより、「構築」→「主プロジェクトを構築(B)」を

実行します。

主プロジェクトを構築すると、NetBeans 5.5プロジェクトのdistディレクトリ配下に

warファイルが生成されますので、これをWeb Serverの管理画面より直接手動で

デプロイします。



デプロイした時点で、Web Serverのサーバログには下記のメッセージが出力されます。




[04/Apr/2007:16:19:11] info ( 1940): Initializing Sun’s JavaServer Faces
implementation (1.2_03-b09-FCS) for context ‘/WebApplication2’

[04/Apr/2007:16:19:14] warning ( 1940): JSF1033: Resource injection is
DISABLED.





このメッセージは、JSF 1.2の仕様で定義されているリソースインジェクションが

使用できない事が表示されています。

なぜならば、Web Server 7.0 Update 1のテクノロジープレビュー版では、

JSF 1.2_03がバンドルされているため、この機能を利用できないのです。



リソースインジェクションの機能はJSF 1.2_04より使用可能で、

Sun Java System Web Server 7.0 Update 1の正式版ではJSF 1.2_04が採用される

予定です。

つまり、現時点ではJSF 1.2のリソースインジェクションの機能を使用したアプリは

動作しませんが、Sun Java System Web Server 7.0 Update 1の正式版で利用可能になります。

この機能を利用しないアプリは動作すると思いますので、どうぞ御確認ください。

******************************************************************


2007年4月4日 at 1:56 AM

新しい投稿


Java Champion & Evangelist

Translate

ご注意

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

カレンダー

2007年4月
 1
2345678
9101112131415
16171819202122
23242526272829
30  

カテゴリー

Twitter

clustermap

ブログ統計情報

  • 1,181,598 hits

RSSフィード

アーカイブ