■前回まででWebサーバー機能の構築が完了した。今回はアプリケーション・サーバーとして利用できるよう,データベース管理システムとASP.NET対応Webアプリケーションを構築する。
■データベース管理システムには,マイクロソフトが無償配布しているMSDE 2000を利用する。またWebアプリケーションには,BSDライセンスでオープンソースとして無償で利用が可能なコンテンツ・マネジメント・システムのDotNetNukeを利用する。

(内藤仁=マイクロソフト)



△ 図をクリックすると拡大
図1●MSDE 2000のダウンロード・サイト

△ 図をクリックすると拡大
図2●「JPN_MSDE 2000A.exe」と「ReadmeMSDE 2000A.htm」の2つのファイルをダウンロードする
 前回までの3連載でインターネット・サーバーとしての顔に当たるWebサーバーが準備できた。今回は,実際のサイトとしてコンテンツを格納するWindowsベースのWebアプリケーション・サーバーとして設定する。コンテンツを格納する際には,そのデータをデータベースに格納する方法が一般的だ。ここではマイクロソフトが無償提供しているMicrosoft SQL Server 2000 Desktop Engine(MSDE 2000)を使用する。

 名前の通りMSDE 2000は,SQL Server 2000のデータベース・エンジン部分のみで構成されている製品で,管理ツールや分析用コンポーネントは用意されていない。だが,データベース・エンジン自体はSQL Server 2000と同じなので,信頼性とパフォーマンスに問題はない。Accessを利用しているユーザーなら,Accessを利用して,OLEDB経由でMSDE 2000のデータベース編集が可能だ。AccessをSQL Serverのクライアント・アプリケーションとして利用すると便利である。AccessはMDBとMSDE(SQL Server)の2つのデータベース・エンジンに対応している。

データベース管理システムをインストールする
 それではMSDE 2000をインストールしてみよう。MSDE 2000はマイクロソフトのWebサイトからダウンロードできる。2006年1月末現在の最新版は「Release A」である(図1)。Webサイトから「JPN_MSDE2000A.exe」と「ReadmeMSDE2000A.htm」をダウンロードする(図2)。

 「JPN_MSDE2000A.exe」を実行すると,使用許諾確認とセットアップ用ファイルを展開するフォルダ(デフォルトはC:\MSDERelA)の確認画面が表示され,指定したフォルダにMSDE 2000のセットアップ・ファイルが格納される。セットアップを実行する前に一緒にダウンロードしたReadmeファイル「ReadmeMSDE2000A.htm」を読んでおこう。なぜなら,MSDEのセットアップでは,データベースに接続するためのSA(管理者ユーザー)のパスワードを,セットアップ・コマンドの引数に必ず指定する必要があるからだ。そのためのオプションがReadmeファイルに書いてある。


△ 図をクリックすると拡大
図3●SAのバスワードを指定するためのMSDE 2000のセットアップ・コマンドのオプション「SAPWD」

△ 図をクリックすると拡大
図4●MSDE 2000のセットアップが完了すると,[スタートアップ]メニュー内に[サービスマネージャ]が追加される

△ 図をクリックすると拡大
図5●サービス・マネージャを利用してMSDEを起動する
 以前のMSDEでは,SAのパスワードを指定しなくてもセットアップできた。これにより多くのユーザーがそのままMSDEをインストールしていたため,SAにパスワードを設定せずに利用されていた。この事実を知った悪意のあるユーザーがMSDEのデータベースに,パスワード無しで接続でき,問題となった。これは完全にセキュリティ・ホールである。この問題を解決するために,MSDE 2000 Release Aでは,SAのパスワードが必須設定項目になり,強力なパスワードを設定しなければならなくなった。Readmeファイルの3.4.3項をチェックしてほしい(図3)。

 コマンド・ラインからSAPWDパラメータにSAユーザーのパスワードを指定して混合モード(SECURITYMODE=SQL)でMSDE 2000のセットアップを起動する(例:setup.exe SAPWD="パスワード" SECURITYMODE=SQL)。すると,画面上にインストーラ(ウィザード形式ではない)が表示され,終了と同時に消える。インストーラが消えた時点でセットアップは完了し,Windowsのスタート・メニューの[スタートアップ]メニュー内に,[サービスマネージャ]が追加される(図4)。

 サービス・マネージャは,MSDEサービスの「開始」「一時停止」「停止」を切り替えるツールである。[スタートアップ]メニューに追加される理由は,OSにログオンしたタイミングでMSDEのサービス・マネージャを常に実行するためで,起動されるとタスクバーの右下にアイコンが表示される。インストール直後はMSDEサービスが起動していないので,手動でサービスを開始する(図5)。これでデータベースが使用可能になった。

オープンソースのDotNetNuke
 ここでは,データベース管理システムにMSDE 2000を使ったASP.NETベースのWebアプリケーションの例として,BSDライセンスでオープンソースとして無償で利用が可能なコンテンツ・マネジメント・システムの「DotNetNuke」を使用する。このWebアプリケーションは全世界で12万5000ものユーザーが利用している,恐らく最も利用されているASP.NETベースのWebアプリケーションだと思われる。このDotNetNukeの特徴を以下に簡単にまとめてみた。

(1)19種類のモジュールが標準で提供されている
 アナウンス,バナー,コンタクト・リスト,ディスカッション・ボード,FAQ,フィードバック,ドキュメントなどが用意されている。
(2)使いやすいインターフェイス
(3)拡張性が高い
 様々なサイト構成ニーズを満たすためのモジュールを,Visual Studio .NETを用いて独自開発できる。
(4)柔軟なカスタマイズが可能
 スタイル・シートを使ったフォントや色の指定といった基本的なカスタマイズから,新しいスキンを作成するような本格的なカスタマイズまで可能。
(5)多言語対応
 言語ごとのリソースを追加することで,多くの言語環境に対応できる。
(6)BSDライセンス
 DotNetNukeの著作権表示以外には法的な問題を考慮する必要のないライセンス。ソース・コードの修正,変更が可能。

 私が一番好きな機能は,モジュールと呼ばれるパーツをページに配置し,ブラウザ上でドラッグ&ドロップによって自分の好きな位置にダイナミックに再配置できる優れたインターフェイスを持つところだ。