SEエストWeb インストール手順

SEエストWebは、ASP.NETによるWeb-DBシステムです。
WebサーバにIIS、データベースに SQL Server 2000 又は 2005 を使用します。そのため、SEエストWeb自体のインストール作業の他にこれらのインストールと設定及び、DBの作成作業が必要です。

以降は、SQL Server 2005 Express Edition を使用した場合を例にインストールの手順を説明します。

WindowsではAdministrator(コンピュータ管理者アカウント)ユーザでログインして作業するものとします。

□サーバの基本環境

サーバにするマシンには、まず次の環境が必要です。
SEエストproはDBサーバに直接アクセスしますので、サーバライセンスのあるOSが望ましいです。
IISがインストールされていない場合には、「コントロールパネル」 - 「プログラムの追加と削除」の「Windowsコンポーネントの追加と削除」でインストールしてください。

□.NET Framework 2.0 のインストール

Microsoft .NET Framework 2.0 がインストールされている必要があります。1.0や1.1では動作しません。
インストール媒体が無い場合にはWindows Updateでインストールすることもできます。Windows Updateでは、「カスタム」の「追加選択(ソフトウェア)」にあります。

.NET FrameworkのインストールはIISのインストールの後に行うようにしてください。この順番が逆になるとIISでASP.NETが認識されなくなることがあります。この現象になった場合は補足を参照してください。

□SQL Server 2005 Express Edition のインストール

ここでは、DBにSQL Server 2005 Express Editionを使用するものとして解説しています。ですが、SQL Server 2000 又は 2005であれば他のバージョンでも問題ないと思います。MSDE2000でも動作を確認しています。ただし、将来的に2005固有の機能を使用するようになる可能性があります。
これを書いている時点でのEXPRESSの最新版は「Microsoft SQL Server 2005 Express Edition with Advanced Services」です。こちらの版を選択すれば、SQL Server 2005 Management Studio Express (SSMSE)もインストールできるのでお勧めです。SSMSEは単独でも配布されています。

SQL Server 2005 Express Editon は、Microsoftが無償で配布してくれているデータベースシステムです。ダウンロードセンターで「SQL」とかで検索すれば見つかると思います。
MDAC2.8SP1以降がインストールされている必要があります。MDACが古いようならこちらもダウンロードして事前にインストールしておいてください。

SQLEXPR_JPN.EXE(又はSQLEXPR_ADV_JPN.EXE)を実行してインストールします。SQL Server 2005 Express Editon は MSDEのころとは異なり、普通のGUIのインストーラですので特に悩むことなくインストールできると思います。ここではポイントだけ書いておきます。

認証モードについて
SQL Serverには、DB接続の認証方法として次の2種類あります。
Windows認証
Windowsのユーザアカウント(又はグループアカウント)を使用する方法。セキュリティ面で強い分管理が面倒。Windows以外のクライアントでは使用できない。
SQL Server認証
SQLServerに登録されたログインとパスワードで認証。セキュリティ面で弱いが管理が楽。Windows以外のクライアントからも使用可能。
インストールでは、この両方を使用できる「混合モード」とWindows認証のみが可能になる「Windows認証モード」から選択します。もし、SQL Serverの管理に慣れていないのであれば「混合モード」でインストールされることをお勧めします。
認証モードはインストール後でもSSMSEで変更可能です。

インスタンス名について
Express Editionのインストーラでは、「SQLEXPRESS」という名前のインスタンスがデフォルト値になるようです。SEエストWebやSEエストproの初期設定値も、このインスタンス名で作成されていると考えて設定しています。もちろん、別のインスタンス名に変更しても、既定のインスタンスにしてもかまいません。
インスタンス名を変えたい、或いは既定のインスタンスにしたい場合には、登録情報の画面(名前や会社名を入力する画面)で「詳細構成オプションを非表示にする」のチェックを外す必要があるようです。

「詳細構成オプションを非表示にする」のチェックを外してインストールした場合は、「サービスアカウント」の画面で「SQL Browser」にチェックをいれることをお勧めします。SQL BrowserはSEエストproからのアクセスを可能にするために必要になります(次項を参照)。

□SEエストproのための設定

SEエストproは、クライアントマシンからSQL Serverに直接接続します。このため、SEエストproをサーバ機以外で使用する場合には、SQL Serverに対して外部からのアクセスを許可してやる必要があります。
  1. SQL Server 2005 Express Editonのインストーラの完了画面に表示される「セキュリティ構成ツールを使用してください」のリンクをクリックする。又は、スタートメニューから「SQL Server 2005 セキュリティ構成」を起動します。
  2. 「サービスと接続のセキュリティ構成」に入ります。
  3. 左のツリービューから対象のインスタンス(通常は「SQLEXPRESS」)の「データベースエンジン」の「リモート接続」を選択します。
  4. 「ローカル接続およびリモート接続」を選択します。プロトコルの選択は自由です。
  5. 【OK】を押します。再開が必要な旨のメッセージが表示されます。これも【OK】で閉じます。
  6. 再び「サービスと接続のセキュリティ構成」に入ります。
  7. 【停止】でSQL Server のサービスを停止します。
  8. 【開始】でSQL Server のサービスを開始しなおします。
  9. 左のツリービューから「SQL Server Browser」を選択します。
  10. 「スタートアップの種類」を「自動」に設定します。また、開始されていないなら【開始】でサービスを開始しておきます。
  11. 【OK】を押します。
Windows認証で運用する場合には、SEエストproを使用するユーザに権限を与える必要があります。SQL Server 2005 Management Studio Expressを使うとよいでしょう。本設定はSQL Serverの難しい部分であり、ここでは説明しきれませんし正確に説明する自信もありません。SQL Serverのヘルプなどで調べてください。

□データベースの作成

SEエストWebのダウンロードファイルを解凍しますと、「SQLS」というフォルダができたと思います。この中にデータベースやテーブルなどを作成するSQLファイルが格納されています。
まずは、データベースを作成します。
  1. データベースファイルの配置パスを決定してフォルダを作成します。C:\SEESTWeb\DATA にすると次のステップで楽です。
  2. SQLS\Cr_db.sql をテキストエディタで開いてください。17行、22行、28行 のFilenameのパスを上で作成したフォルダに合わせて書き換えます。その他のパラメタも必要に応じて書き換えてください。SizeやFileGrowthはかなり少なめに設定しています。利用者数がそれなりにいる場合には大きな値に変更すべきでしょう。
  3. 41行目で、SQL Server認証で使用するユーザを作成してます。必要ならパスワードを書き換えてください。
  4. 保存してテキストエディタを終了します。
  5. コマンドプロンプトを起動して、SQLSの下にカレントフォルダを移動します。
  6. osqlでCr_db.sqlを実行します。
    Windows認証
    osql -S (local)\SQLEXPRESS -E -i Cr_db.sql -o resultlog
    SQL Server認証
    osql -S (local)\SQLEXPRESS -U sa -P "sa_passwd "-i Cr_db.sql -o resultlog
    認証モードが混合モードでもWindows認証はできるのでWindows認証で実行すればよいのですが、念のためSQL Server認証でのパラメタも併記しています。
    SQLEXPRESSはインスタンス名を変更している場合はその名称に置き換えてください。「既定のインスタンス」の場合には-Sオプション自体を省略できます。
    resultlogは実行結果ログの出力ファイル名です。省略するとコンソールに表示されます。
    これらのことは以降のosqlを使った作業でも同じです。
  7. resultlogの内容をtypeコマンドなどで確認してエラーが無ければ成功です。

□テーブル作成

estdbにテーブルを作成します。
Windows認証
osql -S (local)\SQLEXPRESS -E -i Cr_tbl.sql -o resultlog
SQL Server認証
osql -S (local)\SQLEXPRESS -U sa -P "sa_passwd" -i Cr_tbl.sql -o resultlog
resultlogの内容を確認してエラーが無ければ成功です。

□ビュー、ファンクション作成

estdbにビューとファンクションを作成します。
Windows認証
osql -S (local)\SQLEXPRESS -E -i Cr_view.sql -o resultlog
SQL Server認証
osql -S (local)\SQLEXPRESS -U sa -P "sa_passwd "-i Cr_view.sql -o resultlog
resultlogの内容を確認してください。削除してから作成しているので、初回の実行では削除できない旨のエラーが表示されますが無視してください。このエラーのせいで確認しづらいようなら、もう一度実行してから確認するのが手っ取り早いです。

□参照整合性制約作成

estdbに参照整合性制約を作成します。
Windows認証
osql -S (local)\SQLEXPRESS -E -i Cr_const.sql -o resultlog
SQL Server認証
osql -S (local)\SQLEXPRESS -U sa -P "sa_passwd "-i Cr_const.sql -o resultlog
resultlogの内容を確認してエラーが無ければ成功です。制約により子テーブルの削除や親テーブルの削除抑制を行っています。必ず実行してください。

□Windows認証用ユーザ作成

IISがSQL Serverにログインするときに使用するユーザを登録し、権限を与えます。SQL Server認証の場合はこの作業は不要です。
IISのユーザはバージョンにより異なります。
IIS5.0の場合には、事前にテキストエディタなどで、Cr_iis5user.sql 内の「[MACHINENAME]」をサーバのマシン名に書き換えておきます。
IIS7.xの場合には、Cr_iis6user.sqlの「NT AUTHORITY\NETWORK SERVICE」を「IIS APPPOOL\ASP.NET v2.0」に書き換えて使用してください。
IIS6.0 (Windows Server 2003 のIIS)
osql -S (local)\SQLEXPRESS -E -i Cr_iis6user.sql -o resultlog
IIS5.0 (Windows2000 のIIS)
osql -S (local)\SQLEXPRESS -E -i Cr_iis5user.sql -o resultlog
この作業によりIISからlocalhostにあるSQLServerにはアクセスできるようになります。ただし、別マシンにあるSQL Serverに接続しようとする場合、パスワードがマシン毎に自動管理されているためエラーになります。別途共通のユーザを作成する等の作業が必要です(本件については作者はサポートできません)。

□SEエストWebインストール

estSetup.msiを実行してインストールします。
デジタル署名はありませんのでセキュリティ警告とか表示されるかもしれませんが、ここは信用して実行してください。

インストールをやり直したい場合は、再インストール前に「アプリケーションの追加と削除」でアンインストールしてください。
IIS7以降を使用していてインストーラの開始が失敗する場合には以下を確認してください(名称はバージョンによって微妙に異なります)。

□IISの設定

2.0以外の.NET Frameworkがインストールされている場合は次の確認をしてください。
  1. コントロールパネル - 管理ツール - インターネット インフォメーション サービス マネージャを起動します。
  2. インストール先の仮想フォルダ(通常は、「Webサイト - 既定のWebサイト - SEESTWeb」)を右クリックしてプロパティを指定します。
  3. 「ASP.NET」のタブを指定します。
  4. ASP.NET バージョンが「2.0.50727」になってなければそれを選択して【OK】ボタンを押します。
注)IIS6.0を例にしてます。5.0の場合は若干表現などが違うところがあると思います。

IIS7以降を使用する場合は、「SEESTWeb」を右クリック - 「アプリケーションの管理」 - 「詳細設定」の「アプリケーションプール」で「ASP.NET v2.0」を指定します。
無い場合は、右フィールドの「アプリケーションプールの追加...」で作成します。

□Web.configの編集

SQL Serverのインスタンス名がSQLEXPRESSでない場合や、SQL Server認証で接続する場合、WebサーバとDBサーバを分けている場合などは以下の作業が必要になります。
  1. インストール先(例:C:\Inetpub\wwwroot\SEESTWeb)にあるWeb.configをテキストエディタで開きます。
  2. 末尾の方にある、<appSettings>セクション内の接続文字列を編集します。編集方法はコメントを参照してください。

□SEエストWebの起動

Internet Explorerで次のURLでアクセスします。

http://localhost/SEESTWeb/

うまくいけばログイン画面が表示されます。最初の起動はかなり遅いです。あわてずに待ってください。
ユーザID Admin
パスワード Admin
でログインしてください。
ユーザIDは大文字小文字を区別しませんが、パスワードは区別されます。これは、ユーザIDはそのままDBに格納されていますが、パスワードはMD5変換したものを格納しているためです。SQL Serverの標準設定では大文字小文字を同一視しますので。

ログインに成功しましたらAdminのパスワードを変更しておくことをお勧めします。

クライアントマシンから

http://WEBサーバのURL/SEESTWeb/

でもアクセスできることも確認しておきましよう。

□サンプルデータについて(DB上級者向けオプション)

現版にはメンテ機能が未実装であるマスタテーブルが存在します。
そのままでも問題なく使用できますが、これらのマスタにデータを投入することでSEエストproの運用を楽に行えるようになるかもしれません。

テーブル名 内容
MOUTPUT 作成物のマスタです。
ここに作成物の情報を登録しておくと、プロジェクト作成時にここに登録された内容で、プロジェクト作成物の初期データが自動作成されます。
単純なテーブルですので比較的簡単に登録できると思います。
将来的には「開発プロセス」毎に管理できるように構成を変更する可能性があります。
MMILESTONE マイルストーンのマスタです。
ここに、マイルストーンを登録しておくと、SEエストproで工程を登録するときに、ここに登録された内容でマイルストーンを自動作成します。
MPHASE(工程マスタ)の子テーブルという位置付けのテーブルです。MPHASEの主キー(NPROCID,NPHASEID)を意識して作成する必要があるため難易度が高いです。

SQLフォルダにある Ins_sample.sql は、これを行うサンプルSQLです。これらのマスタを使用したい場合には、このファイルを参考にデータ投入してみてください。

□補足

IISが動いていて.NET Framework 2.0もインストールされているのに ASP.NETを認識していないかのような動作をする場合には、aspnet_regiis.exe を試してみるとよいかもしれません。
例)C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe /i