Windows へのインストール

Windows へのインストール

Windows Server システムに TestRail をインストールする方法については、以下を参照してください。サポート対象 OS およびサーバー システムの詳細については、 要件を参照してください。

注意:Windows の PHP/Apache/MySQL オールインワン パッケージ (XAMPP など) は使用しないことを推奨します。最高のパフォーマンスと信頼性を得るには、このページで説明しているように、IIS、PHP、FastCGI、および SQL Server for Windows 環境を使用することをお勧めします。または Linux、Apache、MySQL を使用します。どちらの環境も良好に動作します。

インストールの概要

  1. サーバーの準備
    • PHP と Microsoft SQL Server 用 Drivers for PHP をインストールします。
      • Microsoft の Web Platform Installer を用いる
        • PHP, Microsoft SQL Server 用 Drivers for PHP がインストールされます。
      • Microsoft の Web Platform Installer を用いない
        • PHP, Microsoft SQL Server 用 Drivers for PHP を手動でインストールします。
  2. 前提条件のインストール
    • PHP 拡張機能をインストールします。
      • Microsoft の Web Platform Installerを用いた場合
        • ionCube PHP ローダー
      • Microsoft の Web Platform Installerを用いなかった場合
        • sqlsrv, curl, json, mbstring, ioncube の PHP 拡張機能および PHP ローダー
  3. 空の TestRail データベースを作成する
    • データベースをインストールします。
      • Microsoft SQL Server Express (Advanced Services 付き)
      • 管理ツール (Microsoft SQL Server Management Studio)
    • TestRail 用のデータベースとユーザーを作成します。
  4. TestRail のインストール
    • TestRail をIIS に展開します。
    • 添付ファイル、レポート、およびログファイルを保存するフォルダー作成します。
    • WEB ブラウザーから TestRail の初期設定を行います。
  5. TestRail バックグラウンド タスクをアクティブにする
    • TestRailのバックグラウンドタスクを Windows タスクスケジューラーに登録します。

サーバーの準備

TestRailは (PHP ベースの) Web アプリケーションであるため、Web サーバー、データベース (SQL ServerまたはMySQL)、および有効な PHP 環境がサーバーにインストールされている必要があります。Windows Server では、Microsoft の IIS Web サーバーおよび FastCGI で動作するように設定された PHP の組み合わせが最適です。Windows に PHP をインストールする最も簡単な方法は、Microsoft のWeb Platform Installerを使用することです。

Web Platform Installer を使用して PHP をインストールするには、ウィンドウ上部の [製品] タブを選択し、以下のパッケージを選択します (パッケージの横にある [追加] ボタンを押します)。

  • PHP 7.3.x または 7.4.x
  • Microsoft Drivers 5.8 for PHP 7.3 for SQL Server in IIS または Microsoft Drivers 5.8 for PHP 7.4 for SQL Server in IIS

SQL ドライバー パッケージは、TestRail が SQL Server データベースに接続するために必要です。[インストール] ボタンをクリックして、パッケージとすべての依存関係 (IIS 自体など) をインストールします。IIS Express ではなく、完全な IIS Edition をインストールしてください。

Web Platform Installer を使用して PHP をインストールしたくない場合、Microsoft は IIS 6 および IIS 7 に手動で PHP をインストールする方法についても説明しています 。PHP を手動でインストールする場合は、 Microsoft SQL Server Driver for PHP もインストールしてください。ドライバーを使用するには SQL Server Native Client をインストールする必要があります (Web Platform Installer を使用した場合は自動的にインストールされます)。

前提条件のインストール

TestRail は、さまざまな OS やプラットフォームで動作するよう、外部アプリケーションや PHP 拡張機能への依存関係をできるだけ少なくするように設計されています。Windows で SQL Server データベースと組み合わせて TestRail を使用するには、次の PHP 拡張機能が必要です。

  • sqlsrv PHP 拡張機能 – SQL Serverデータベースにアクセスするのに必要です
  • curl PHP 拡張機能 – アップデートの確認などに使用します
  • json PHP 拡張機能 – 設定ファイルおよび統合に使用します
  • mbstring PHP 拡張機能 – Unicode 文字列の操作に使用します
  • ioncube PHP ローダー – TestRail PHP ファイルのデコードに使用します
  • zlib PHP 拡張機能 – gzip (.gz) 圧縮ファイルを意識せずに読み取りおよび書き込みするのに利用します (TestRail Enterprise 版をご利用の場合のみ必須)
  • PDO_Dblib 拡張機能 – Phinx を正常に実行するための拡張です

上記の説明に従って Web Platform Installer を使用して PHP をインストールした場合は、 ioncube ローダーを除くすべての拡張機能がすでにインストールされてアクティブ化されています。PHP を手動でインストールした場合は、以下のように PHP.ini ファイルで必要な拡張機能を有効にする必要がある場合があります。

extension=php_sqlsrv.dll
extension=php_curl.dll
extension=php_json.dll
extension=php_mbstring.dll
extension=php_pdo_sqlsrv.dll

最後に必要な PHP 拡張機能はフリーの ionCube PHP ローダーです。Windows 用の ionCube ローダーはこちらからダウンロードできます。どのバージョンをダウンロードするかについては、以下を参考にしてください。

  • PHP Version
    • 7.3 & 7.4
  • Ioncube Loader
    • Windows VC15 (Non-TS) (32 bits)
    • Windows VC15 (Non-TS) (64 bits)

ファイルをダウンロードしてサーバー上に解凍したら、使用している PHP のバージョンに合わせたローダー拡張機能 (例:ioncube_loader_win_7.2.dll) を PHP の ext ディレクトリ (通常はC:\Program Files (x86)\PHP\v7.2\ext など) にコピーします。PHP.ini ファイルに次の行を追加して拡張機能を有効にします (適切にディレクトリを調整し、ディレクトリ区切り文字として 2 つの円記号を使用してください)。ファイルへのフル パスを指定する必要があります。PHP.ini ファイルは、PHP のインストール ディレクトリ (通常は C:\Program Files (x86)\PHP\7.2 など)にあります。

zend_extension = "C:\Program Files\PHP\v7.3\ext\ioncube_loader_win_7.3.dll"

Windows のコマンド プロンプトで php -v を実行すると、ionCube ローダー拡張機能が正常にインストールされたことを確認できます (コマンドを実行するには、PHP のインストール ディレクトリに移動する必要があります)。

php -v を実行し、次のように出力されていれば、ionCube ローダー拡張モジュールは正常にインストールされています (ionCube PHP Loader という文字列を含む行に注目してください)。

PHP 7.3.25 (cli) (built: Nov 24 2020 13:41:31) ( NTS MSVC15 (Visual C++ 2017) x64 )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.25, Copyright (c) 1998-2018 Zend Technologies
     with the ionCube PHP Loader v10.4.5, Copyright (c) 2002-2020, by ionCube Ltd.

注意:IIS が拡張機能をロードできるようにするには、ionCube 拡張機能ファイルのパーミッションを変更する必要がある場合があります。それには、エクスプローラーでファイルをを右クリックし、[プロパティ] をクリックして [セキュリティ] タブを選択し、[Users] グループを追加します。

PHP をリロードするには、IIS Web サーバーを再起動する必要があります。最も簡単な方法は、World Wide Web Publishing Windows サービスを再起動することです。それには、[管理ツール] から [サービス] アプリケーションを開き、サービスを再起動します (これにより、すべての IIS アプリケーション プールおよび Web サイトが再起動されます。このサーバーで他の Web サイトおよびアプリケーションをホストしている場合は、関連するアプリケーション プールだけを再起動するほうがよいでしょう)。

空の TestRail データベースを作成する

次のステップで、TestRail のインストーラーは必要なデータベース テーブルと初期データをすべて自動的に作成しますが、事前に空のデータベースとデータベース ユーザーを作成しておく必要があります。Windows に TestRail をインストールする場合、SQL Server データベースを使用できます。

無償の Microsoft SQL Server Express エディションをインストールすることも、完全な SQL Server を使用することもできます。Express エディションをダウンロードする場合は、必ず Advanced Services 付きのバージョン (SQL Server 2017 Express with Advanced Services) をダウンロードしてインストールしてください。これは、将来的に TestRail がデータベースの全文検索機能を使用する可能性が非常に高いからです。また、必ず認証モードは混合モード(SQLServer 認証とWindows認証)を使用してください。TestRail はこのモードを必要とします。データベースおよび管理ツール (Microsoft SQL Server Management Studio) をインストールしたら、空のデータベースとユーザーの作成に進みます。

空の TestRail データベースを作成するには、SQL Server Management Studio を起動し、左側のツリーで [データーベース] を右クリックして [新しいデーターベース] を選択します。

新しいTestRailログインを作成します。左側のツリーで [セキュリティ] を展開し、[ログイン] を右クリックして [新しいログイン] を選択します。認証方法として [SQL Server 認証] を指定し、パスワードを入力し、下の 3 つのパスワード チェックボックスをすべてオフにします。

SQL Server はサーバーのログインとデータベースのユーザーを区別するため、新しく作成したログインで TestRail データベースにアクセスするには、データベースにユーザーを追加する必要もあります。それには、左側のツリーで TestRail データベースを展開し、[セキュリティ] を展開して [ユーザー] を右クリックし、[新しいユーザー] を選択します 。ユーザー名とログイン名を指定し、このユーザーに必ず db_owner ロールを割り当ててください。

TestRail のインストール

TestRail アプリケーション本体をインストールするには、TestRail インストーラーの圧縮ファイルを Web サーバーにアップロードして解凍し、ファイルを Web サーバーの wwwroot ディレクトリ (C:\inetpub\wwwroot など) にコピーします。あるいは、IIS に仮想ディレクトリを設定し、TestRail ファイルを別の場所にインストールすることもできます。

次に、Web ブラウザーで Web サーバーに新しく作成された testrail ディレクトリを指定して (例:http://<server>/testrail/) TestRailインストールウィザードを起動し、指示に従います。

パーミッションの問題 (401) が起きた場合:TestRail インストーラーにアクセスしようとしたときに 401 パーミッション エラーが発生した場合は、IIS が PHP ファイルを読み取って実行できることを確認する必要があります。それには、エクスプローラーで testrail ディレクトリを右クリックし、[プロパティ] をクリックして [セキュリティ] タブを選択します。IIS ユーザーが表示されていない場合は、[追加] をクリックし、IIS ユーザーを入力します (Windows 2008以降では IUSR、Windows 2003の場合は IUSR_<hostname>)。[OK] をクリックして確定します。その後、読み取りと実行、フォルダの内容の一覧表示、および読み取りパーミッションを確認します。重要:[詳細設定] ボタンをクリックして、[子オブジェクトのアクセス許可エントリすべてを、このオブジェクトからの継承可能なアクセス許可エントリで置き換える] をオンにします。[OK] をクリックしてすべてのダイアログを閉じます。

SQL Server Express/名前付きインスタンス:SQL Server Express (または他の SQL Server エディション) を名前付きインスタンスとしてインストールした場合は、TestRail をデータベースに接続するときに、サーバー名の一部としてインスタンス名を入力する必要がある場合があります。つまり、インストール ウィザードの 2 番目のページで、[Server] フィールドにホスト名とインスタンス名の両方を入力する必要があります。たとえば、sqlexpress という名前のローカルの SQL Server Express インスタンスの場合、次のようになります。

Server: localhost\sqlexpress

添付ファイル、レポート、およびログ ファイルを保存するディレクトリを指定するようにインストーラーから指示されます。それらのディレクトリを作成し、Web サーバーがディレクトリに書き込み可能であることを確認してください。添付ファイルとレポートのディレクトリについては、セキュリティ対策として、Web ブラウザーから直接アクセスできないことも確認してください。したがって、 wwwroot ディレクトリ以外のディレクトリ (C:\TestRail\Attachments など) を指定してください。IIS がディレクトリに書き込みできるようにするには、ディレクトリのセキュリティ設定に IUSR ユーザーを追加し、このユーザーに完全なアクセス許可を付与します (Windows Server 2003システムでは、ユーザー名は通常 IUSR_<hostname> です):

TestRail バックグラウンド タスクをアクティブにする

TestRail インストールの最後のステップは、バックグラウンド タスクのインストールです。この機能が有効になっている場合、バックグラウンド タスクは、テストが変更されたときに電子メール通知を送信する処理などを行います。バックグラウンド タスクはこのような処理を実行するために、定期的にトリガーされる必要があります。Windows でこれを実現する最も簡単な方法は、スケジュールされたタスクを作成することです。

タスクをスケジュールする前に、コマンド ライン (x86 および x64) から手動でタスクを実行し、バックグラウンド タスクが正常に開始されることを確認できます。

> "C:\Program Files\PHP\v7.2\php.exe" "C:\inetpub\wwwroot\testrail\task.php"
REMまたは、x64システムの場合:
> "C:\Program Files (x86)\PHP\v7.2\php.exe" "C:\inetpub\wwwroot\testrail\task.php"

TestRail バックグラウンド タスクは、タスクがすでに実行されているかどうかを自動的に検出します。そのため、最良の結果を得るには、非常に短い間隔 (1分ごとなど) でタスクを起動することをお勧めします。

コマンド ラインを使用してタスクを作成できます。Windows Server 2008の場合:

> schtasks /create /np /sc minute /mo 1 /tn "TestRail Background Task" /tr
    "C:\Program Files\PHP\v7.2\php.exe" "C:\inetpub\wwwroot\testrail\task.php"
REMまたは、x64システムの場合:
> schtasks /create /np /sc minute /mo 1 /tn "TestRail Background Task" /tr
    "C:\Program Files (x86)\PHP\v7.2\php.exe" "C:\inetpub\wwwroot\testrail\task.php"

あるいは、タスク スケジューラー GUI を使用することもできます。それには、Windows タスク スケジューラーを開き、[タスクの作成] (Windows 2008 の場合) を選択します。タスク名を指定し、ログオンしているユーザーがいなくてもタスクを起動するように設定します。

[トリガー] タブで新しいトリガーを追加し、タスクをいつ実行するかを指定します。

そして最後に重要なこととして、TestRail タスク スクリプトを実行するためのアクションを [操作] タブに追加します。スクリプトは PHP スクリプトであるため、php.exe および task.php スクリプトのパスを引数として指定する必要があります (引用符を含む)。

"C:\inetpub\wwwroot\testrail\task.php"

これで終わりです。何も問題が起きなかった場合は、TestRail のインストールは完了しており、Web ブラウザーでアプリケーションにアクセスし、使用を開始できます。

http://<server>/testrail/