#author("2016-09-07T22:20:47+09:00","default:nowsky","nowsky")
*PandoraFMS [#n7679727]
[[PandoraFMS:+http://pandorafms.org/ja]]
サーバとNWの統合監視ソフトウェア。
OSSのプログラムとしては珍しく、PandoraFMS監視サーバをWindows上にも構築出来る。
Windows上に監視サーバを構築する場合は、IISの待ち受けポートと衝突させない等の工夫が必要。
必須なミドルウェアはインストーラに同梱されているので、クリックインストールのみとなる。
#author("2016-09-08T00:15:02+09:00","default:nowsky","nowsky")
*Microsoft SQL Server [#wfaaed94]
-[[SQL Server 2008 Express:+https://www.microsoft.com/ja-jp/download/details.aspx?id=1695]]
-[[SQL Server 2014 Express:+https://www.microsoft.com/ja-jp/download/details.aspx?id=42299]]
-[[SQL Server 2016 Express:+https://www.microsoft.com/ja-JP/download/details.aspx?id=52679]]

マイクロソフトが開発しているRDBMSの一種。SQL ServerとかMSSQLと呼ぶ事が多い。
名前から判るとおりWindows環境で使う事が多く、ADO.NETを使ったシステム構築がしやすいのが特長。
ライセンス料が非常に高く、バージョンによっては100万円する物もある。
 
検証・勉強用として機能制限がされているが無料のSQL Server Expressも用意されており、
余程の事が無ければExpress版で要件を満たせる場合が多い。
~
*メモ [#tf87b41c]
-監視サーバをWindows上に構築する場合、基本的にPandoraFMSに同梱されているapacheを利用する。
WebサーバをIISにする場合、機能の追加インストールと、PHP設定を行う事で利用可能になる。
-対応するDBはMySQL、PostgreSQL、Oracleの3つのみ。SQL Serverは未対応。
-パラメータとDB構成はLinux版と同じなので、Windows環境で仮構築後にLinuxへ移植も可能。
*メモ [#m5ff7d9a]
-SQL Server 2016 ExpressからWith Tools等の細分化が無くなり、
SQL Server Management Studioが同梱されなくなった。
-別途、SSMS 2016(無料版)をインストールすれば、今までのWith Tools相当を使う事は出来る。
-SQL Server 2014/2016 Expressだと、1DBで10GBまで構築出来る。
~
*パラメータ [#i687451c]
 ・PandoraFMS コンソール初期ユーザ
   [User]: admin
   [Pass]: pandora
 
 ・同梱MySQL 管理ユーザ
   [User]: root
   [Pass]: pandora
 
 ・同梱MySQL PandoraFMS用DB
   [User]: pandora
   [Pass]: pandora
~
*インストール(Apache版) [#z2135e75]
*インストール [#x21f7aad]
&size(16){&font(b){0. 前提条件};};
今回のメモは下記の条件で動作検証。
-構築環境
 ※インストール先はデフォルト値 "C:\PandoraFMS" を利用
 ---
 [VM]:  Hyper-V ver6.3.9600
 [OS]:  WindowsServer2012R2 x86_64
 [MEM]: 2GB
 [HDD]: 50GB
 [VM]:   Hyper-V ver6.3.9600
 [OS]:   WindowsServer2012R2 64bit
 [MEM]:  4GB
 [HDD]:  C:50GB / D:50GB
 [SQL]:  SQL Server 2016 Express
 [SSMS]: SQL Server Management Studio 2016

-ミドルウェア
 ※全てPandoraFMSインストーラに同梱されている物を使用
 ---
 [PandoraFMS]: Server 6.0SP1 x86_64
 [Apache]:     2.2.25
 [PHP]:        5.4.25
 [MySQL]:      5.5.37
-パラメータ
 [インストール用TEMP]:   C:\SQLServer2016Media
 [DBデータディレクトリ]: D:\Microsoft SQL Server
 [インスタンス構成]:     既定のインスタンス

~
&size(16){&font(b){1. インストール作業};};
事前にHPからPandoraFMSインストーラをダウンロードしておく。
ダウンロードしたインストーラを管理者権限で起動させる。
途中、Apacheのインストールでパラメータ入力をする必要がある。
&size(16){&font(b){1. インストール作業(MSSQL)};};
Microsoftから事前にSQL Serverのインストーラをダウンロードしておく。
下記手順だとReporting Servicesもインストールしているが、必要無ければインストールをしなくても良い。
 
>&ref(pandora_0001_00.png,left,nowrap,100%);
インストーラで利用する表示言語を選択 -> [OK]
#region(SQL Server 2016 Express インストール手順)
>&ref(sql_express2016_01.png,left,nowrap,50%);
インストーラを起動したらカスタムを選択
 
>&ref(pandora_0002_00.png,left,nowrap,100%);
PandoraFMSのインストールを開始 -> [Next]
>&ref(sql_express2016_02.png,left,nowrap,50%);
SQL Serverのインストールで使用するテンポラリを指定
この段階では実際のインストールはまだ動かない -> [インストール]
 
>&ref(pandora_0003_00.png,left,nowrap,100%);
ソフトの規約同意画面 -> [I Agree]
>&ref(sql_express2016_03.png,left,nowrap,50%);
バイナリをダウンロードし出すのでしばらく放置
 
>&ref(pandora_0004_00.png,left,nowrap,100%);
インストールするミドルウェアの選択
今回は同梱されている物を全て利用するので全部チェック -> [Next]
>&ref(sql_express2016_04.png,left,nowrap,50%);
放置していると、SQL Serverのインストーラが起動する
新規インストールの場合「新規スタンドアロンインストール」をクリック
 
>&ref(pandora_0005_00.png,left,nowrap,100%);
PandoraFMSインストール先の選択
選択したディレクトリ配下にApache、MySQL、PHPもインストールされる -> [Browse...] -> [Install]
>&ref(sql_express2016_05.png,left,nowrap,50%);
「ライセンス条項に同意」をチェック -> [次へ]
 
>&ref(pandora_0006_00.png,left,nowrap,100%);
Apacheの動作に必要なランタイムが表示される
必要に応じてMicrosoftからランタイムをインストールする -> [OK]
>&ref(sql_express2016_06.png,left,nowrap,50%);
「SQL Serverの更新プログラムを自動入手」をチェック -> [次へ]
 
>&ref(pandora_0007_00.png,left,nowrap,100%);
インストール完了 -> [Finish]
>&ref(sql_express2016_07.png,left,nowrap,50%);
インストール要件を満たしているか確認が走る
WindowsFirewallの警告が出るが、後で修正すれば良いので無視 -> [次へ]
 

インストールが完了した後は、各サービスが登録・起動しているかサービスマネージャから確認を行う。
Apache、MySQL、PHP、PandoraFMS_Serverの一つでも起動していなかったら、
フォルダへのアクセス権限、待ち受けポートの衝突などを確認する
~
*インストール(IIS版) [#pba3a7f7]
&size(16){&font(b){0. 前提条件};};
WebサーバをIISで構築する場合、事前に[[Apache版の内容>#rfd176db]]でセットアップを済ませておく。
その後にIISの機能追加とPHPの設定を行い、IISからPandoraFMSへの仮想ディレクトリを追加する。
>&ref(sql_express2016_08.png,left,nowrap,50%);
インストールする機能を選択。殆ど使わないLocalDBだけはチェックを外す
インスタンスルートは、データベース・バックアップ・ログ等が入るディレクトリ
共有機能ディレクトリは、SQL Server実行バイナリのインストール先
今回は上記の通りに選択・入力を行う -> [次へ]
 
ちなみに、PandoraFMSに同梱されているApacheは使わないが、
インストールしておかないと一部ページで不具合が出るのでインストールだけ行っておく。
-ミドルウェア
 [PandoraFMS]: Server 6.0SP1 x86_64
 [IIS]:        8.5
 [PHP]:        5.4.25
 [MySQL]:      5.5.37
>&ref(sql_express2016_09.png,left,nowrap,50%);
「既定のインスタンス」を選択。IDはデフォルトのまま -> [次へ]
 
>&ref(sql_express2016_10.png,left,nowrap,50%);
SQL Serverの実行ユーザを選択。とりあえずデフォルト(上記)のまま
ボリュームメンテナンスタスク実行特権は&color(#ff0000){&font(B){チェックを外す};}; -> [次へ]
 
>&ref(sql_express2016_11.png,left,nowrap,50%);
DBアクセスユーザと認証方法を設定する
デフォルトだとログイン中のOSローカルユーザが登録されるが後から消す事が出来る
SSMSからOSローカルユーザを消せば、結果としてSQL Server認証に限定させる事も出来る -> [次へ]
 
>&ref(sql_express2016_12.png,left,nowrap,50%);
Reporting Servicesは構成処理を行う -> 次へ
 
>&ref(sql_express2016_13.png,left,nowrap,50%);
利用規約を確認する -> [承諾] -> [次へ]
この後は画面に従ってクリックすればインストールが完了する
 
>&ref(sql_express2016_14.png,left,nowrap,50%);
インストールが完了したらインストーラを閉じる
インストーラを閉じたらインストールテンポラリ「C:\SQLServer2016Media」を削除する
#endregion

~
&size(16){&font(b){1. IISの機能追加};};
PandoraFMSに同梱されているApache同等の動きをIISで実現する為に機能追加を行う。
下記の機能追加リストは一例なので、サーバに必要な機能に応じて削除・追加も考える。
&size(16){&font(b){2. インストール作業(SSMS)};};
作成中...

 [サーバーマネージャー] -> [役割と機能追加] -> [サーバーの役割]
 ---
 ■ Webサーバー (IIS)
 ├■ Webサーバー
 │├■ HTTP 共通機能
 ││├■ HTTP エラー
 ││├■ ディレクトリの参照
 ││├■ 規定のドキュメント
 ││├■ HTTPエラー
 ││├■ 静的なコンテンツ
 ││├■ HTTP リダイレクト
 ││└□ WebDAV 発行
 ││
 │├■ セキュリティ
 ││├■ 要求フィルター
 ││├□ IIS クライアント証明書マッピング認証
 ││├■ IP およびドメインの制御
 ││├□ SSL 証明書の集中サポート
 ││├■ URL 承認
 ││├□ Windows 認証
 ││├□ クライアント証明書マッピング認証
 ││├■ ダイジェスト認証
 ││└■ 基本認証
 ││
 │├■ パフォーマンス
 ││├■ 静的なコンテンツの圧縮
 ││└□ 動的なコンテンツの圧縮
 ││
 │├■ 状態と診断
 ││├■ HTTP ログ
 ││├□ ODBC ログ
 ││├□ カスタムログ
 ││├□ トレース
 ││├□ ログ ツール
 ││└□ 要求の監視
 ││
 │└■ アプリケーション開発
 │  ├□ .NET 拡張機能 3.5
 │  ├□ .NET 拡張機能 4.5
 │  ├□ Application Initialization
 │  ├□ ASP
 │  ├□ ASP.NET 3.5
 │  ├□ ASP.NET 4.5
 │  ├■ CGI
 │  ├■ ISAPIフィルター
 │  ├■ ISAPI拡張
 │  ├■ WebSocketプロトコル
 │  └■ サーバー側インクルード

 ├□ FTP サーバー
 │├□ FTP サービス
 │└□ FTP 拡張

 └■ 管理ツール
   ├■ IIS 管理コンソール
   ├□ IIS 6 管理互換
   │├□ IIS 6 メタベース互換
   │├□ IIS 6 WMI互換
   │├□ IIS 6 スクリプトツール
   │└□ IIS 6 管理コンソール

   ├□ IIS 管理スクリプトおよびツール
   └□ 管理サービス

~
&size(16){&font(b){2. Apache、PHPの設定};};
インストール済みのApacheは利用しないのでサービスを停止する。
また、IISからPHPを参照出来る様に設定を追加する。

 ・Apacheの停止
 ---
 [管理ツール] -> [サービス] -> [Apache2.2] -> [プロパティ] -> [スタートアップの種類:無効] -> [OK]
 
 ・php.ini編集
 [C:\PandoraFMS\php\php.ini] -> PHPディレクティブの中に下記を追加
 ---
 fastcgi.impersonate=1
 fastcgi.logging=0
 cgi.fix_pathinfo=1
 cgi.force_redirect=0

~
&size(16){&font(b){3. IIS設定変更};};

 ・IISの仮想ディレクトリ追加
 [管理ツール] -> [インターネット インフォメーション サービス マネージャ] -> [仮想ディレクトリの追加]
 ---
 [エイリアス]: pandora_console
 [物理パス]  : C:\PandoraFMS\Apache\htdocs\pandora_console
 
 ・PHPのPATH設定
 [管理ツール] -> [インターネット インフォメーション サービス マネージャ] -> [ハンドラー マッピング] -> [モジュール マップの追加]
 ---
 [要求パス]        : *.php
 [モジュール]      : FastCgiModule
 [実行可能ファイル]: C:\PandoraFMS\php\php-cgi.exe
 [名前]            : PHP-FastCGI
 
 ・htdocsへの参照権限付与
 [エクスプローラ] -> [C:\PandoraFMS\Apache]
 ---
 [読み取りと実行]、[フォルダーの内容の一覧表示]、[読み取り] の権限を"IIS_IUSRS"に付与する
~
*パスワード変更 [#w9076563]
Windows版PandoraFMSはMySQLやログインユーザが共通デフォルトになっている為、
本番運用する前にはパスワード変更しておく方が良い。

~
&size(16){&font(b){1. MySQL};};
デフォルト状態のMySQLログインパラメータは下の通り。

|ユーザ |パスワード|
|root   |pandora   |
|pandora|pandora   |

 ・MySQLにcmdからコンソールログイン
 > cd C:\PandoraFMS\mysql\bin
 > mysql.exe -u root -p
 Enter password: *******
 
 ・現在のパスワードハッシュを確認
 mysql> select user,host,password from mysql.user;
 +---------+-----------+-------------------------------------------+
 | user    | host      | password                                  |
 +---------+-----------+-------------------------------------------+
 | root    | localhost | ***************************************** |
 | pandora | localhost | ***************************************** |
 +---------+-----------+-------------------------------------------+
 
 ・パスワードの変更
 mysql> set password for 'root'@'localhost' = PASSWORD('*********');
 mysql> set password for 'pandora'@'localhost' = PASSWORD('******');
 
 ・パスワードのハッシュが変更されたか確認
 mysql> select user,host,password from mysql.user;
 +---------+-----------+-------------------------------------------+
 | user    | host      | password                                  |
 +---------+-----------+-------------------------------------------+
 | root    | localhost | ***************************************** |
 | pandora | localhost | ***************************************** |
 +---------+-----------+-------------------------------------------+
 
 ・PandoraFMS設定ファイルの書き換え
 [notepad.exe] -> [C:\PandoraFMS\Apache\htdocs\pandora\include\config.php]
 ---
 $config["dbpass"]="設定したパスワード";
 
 ・PandoraServer設定ファイルの書き換え
 [notepad.exe] -> [C:\PandoraFMS\Pandora_Server\pandora_server.conf]
 ---
 dbpass "設定したパスワード";