ページを選択

Unix/Linux へのインストール

Unix/Linux へのインストール

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

インストールの概要

  1. サーバーの準備
    • Apache、PHP、MySQL をインストールします。
  2. 前提条件のインストール
    • PHP 拡張機能をインストールします。
    • mysql, curl, json, mbstring, ionCube, xml, zip の PHP 拡張機能および PHP ローダー
      • ionCube の設定は、Apache, CLI 両方の php.ini に追加してください。
  3. 空の TestRail データベースを作成する
    • TestRail 用のデータベースとユーザーを作成します。
      • 管理ツール (phpMyAdmin など) または mysql コマンドラインツールを使用
  4. TestRail のインストール
    • TestRail を Web サーバーに展開します。
    • 添付ファイル、レポート、およびログファイルを保存するフォルダー作成します。
    • WEB ブラウザーから TestRail の初期設定を行います。
  5. TestRail バックグラウンド タスクをアクティブにする
    • TestRailのバックグラウンドタスクをcronに登録します。

サーバーの準備

TestRail は (PHP ベースの) Web アプリケーションであるため、Web サーバー、データベース (MySQL)、および有効な PHP 環境がサーバーにインストールされている必要があります。Linux、Apache、MySQL、および PHP (一般にLAMPと呼ばれる) のインストールについては、このインストールガイドでは扱いません。ネット上には、主な Linux および Unix システムに LAMP をインストールする方法についてのすばらしいガイドがあります。

前提条件のインストール

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

  • mysql PHP 拡張機能 – データベースにアクセスするのに必要です
  • curl PHP 拡張機能 – アップデートの確認などに使用します
  • json PHP 拡張機能 – 設定ファイルおよび統合に使用します
  • mbstring PHP 拡張機能 – Unicode 文字列の操作に使用します
  • ioncube PHP ローダー – TestRail PHP ファイルのデコードに使用します
  • xml PHP 拡張機能 – XML のインポート/エクスポートに使用します
  • zip PHP 拡張機能 – 電子メールの添付ファイルの zip に使用します
  • zlib PHP 拡張機能 – gzip (.gz) 圧縮ファイルを意識せずに読み取りおよび書き込みするのに利用します (TestRail Enterprise 版をご利用の場合のみ必須)
注意:TestRail 5.5 には、PDF レポートを作成するための PhantomJS が含まれていました。そのために、一部の管理者からは、libfontconfig1 と fontconfig への追加の依存関係が報告されています。詳細は こちら (英語) を参照してください。

OS やプラットフォームによっては、 mysql および curl PHP拡張機能を (プラットフォームのパッケージ マネージャーで) インストールし、PHP.ini 設定ファイルで有効にする必要があります。たとえば、次のコマンドは Debian/Ubuntu システムに拡張機能をインストールします。

$ sudo apt-get install php7.3-mysql php7.3-curl

システムによっては、これらのモジュールを PHP.ini 設定ファイルで有効にする必要もあります (Ubuntu などのシステムでは、インストール時に自動的に拡張機能が有効になります)。手動で有効化するには、設定ファイルの末尾に次の行を追加します (PHP.ini ですでに有効化されていないことを確認してください)。ほとんどのシステムでは、PHP.ini は /etc/php7.3、/etc/php、または /etc/php7.3/apache2 にあります。

extension=mysql.so
extension=curl.so

通常、json および mbstring 拡張機能は PHP に直接統合されており、外部モジュールをインストールする必要はありません。ただし、TestRail でこれらのモジュールのいずれかについて依存モジュールが不足しているというメッセージが表示された場合は、PHP に追加する必要があります (たとえば php7.2-json モジュールをインストールするなど)。

最後に必要な PHP 拡張機能はフリーの ionCube PHP ローダーです。ご使用のオペレーティング システムに対応する ionCube エディションは、 ionCube の Webサイトからダウンロードできます。ファイルをダウンロードして Web サーバー上に解凍したら、ファイルを任意のディレクトリ (たとえば/opt/ioncube) に配置します。

ionCube を有効にするには、対応する ionCube ローダー拡張機能を PHP.ini に追加します。それには、必ず zend_extension または zend_extension_ts 設定ディレクティブを使用して、拡張機能へのフルパスを指定してください。

zend_extension=/opt/ioncube/ioncube_loader_lin_7.3.so

異なるバージョンの PHP (例:PHP 7.4) を使用している場合は、必ず対応するバージョンの ionCube ローダーを指定してください。たとえば、PHP 7.4 の場合は、次のように ionCube ローダーをロードする必要があります (ファイル名のバージョンが異なることに注目してください)。

zend_extension=/opt/ioncube/ioncube_loader_lin_7.4.so

ご使用のサーバー システムでどの ionCube 拡張を有効にする必要があるかわからない場合は、loader-wizard.php スクリプトを Web サーバーのディレクトリにコピーして Web ブラウザーからアクセスし、インストール手順に従ってください。拡張機能をインストールしたら、Web サーバーを再起動して新しくインストールした拡張機能をロードしてください。

php -v を実行すると、ionCube ローダー拡張機能が正常にインストールされたことを確認できます。ただし、PHP のコマンド ライン インターフェイスは、Web サーバーで使用されているのとは異なる PHP バージョンの設定ファイルを使用している可能性があることに注意してください。関連するすべての PHP.ini設定ファイルで ionCube が有効になっていることを確認してください。php -v を実行し、次のように出力されていれば、ionCube ローダー拡張モジュールは正常にインストールされています (ionCube PHP Loader という文字列を含む行に注目してください)。

PHP 7.3.25 (cli) (built: Nov 24 2020 xx:xx) 
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.

SELinux での注意点:ご使用のシステムで SELinux が有効になっている場合 (RedHat および類似の Linux ディストリビューションでは多くの場合有効です)、Apache や PHP はディレクトリの制限により ionCube または他のファイルをロードできない可能性があります。この問題が発生した場合は、必要に応じて SELinux 設定を調整するか SELinux を無効にします。

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

次のステップで、TestRail のインストーラーは必要なデータベース テーブルと初期データをすべて自動的に作成しますが、事前に空のデータベースとデータベース ユーザーを作成しておく必要があります。それには、好みの MySQL 管理ツール (phpMyAdminなど) を使用するか、mysql コマンド ライン ツールを使用してデータベース テーブルとユーザーを作成します。

$ mysql -u root -p 
> CREATE DATABASE testrail DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
> CREATE USER 'testrail'@'localhost' IDENTIFIED BY 'newpassword';
> GRANT ALL ON testrail.* TO 'testrail'@'localhost';

データベースとユーザーを手動で作成する場合は、必ずutf8_unicode_ci 照合順序で既定の文字セット utf8 を指定し、新しいユーザーに TestRail データベースに対するすべての権限を付与してください。

TestRail のインストール

TestRail アプリケーション本体をインストールするには、TestRail インストーラーのアーカイブを Web サーバーにアップロードして解凍し、ファイルを Web サーバーの www ディレクトリ (たとえば Ubuntu では /var/www/html/testrail など) にコピーします。一部の Unix システムは、デフォルトでは unzip コマンドをサポートしていないので、最初にそれをインストールしなければならない場合があります (次のサンプルは Ubuntu/Debian の例です)

$ sudo apt-get install unzip

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

添付ファイル、レポート、およびログ ファイルを保存するディレクトリを指定するようにインストーラーから指示されます。それらのディレクトリを作成し、Web サーバーがディレクトリに書き込み可能であることを確認してください。添付ファイルとレポートのディレクトリについては、セキュリティ対策として、Web ブラウザーから直接アクセスできないことも確認してください。したがって、 wwwディレクトリ以外のディレクトリ (/opt/testrail/attachments など) を指定してください。Webサーバーがディレクトリに書き込みできるようにするには、ディレクトリの所有権を Web サーバーのユーザーに変更します。たとえば、Ubuntu システムでは、以下を実行します。

$ sudo chown www-data:www-data /var/www/html/testrail/logs/
$ sudo chown www-data:www-data /opt/testrail/attachments/
$ sudo chown www-data:www-data /opt/testrail/reports/

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

TestRail インストールの最後のステップは、バックグラウンド タスクのインストールです。この機能が有効になっている場合、バックグラウンド タスクは、テストが変更されたときに電子メール通知を送信する処理などを行います。バックグラウンド タスクはこのような処理を実行するために、定期的にトリガーされる必要があります。Unix ベースのシステムでこれを実現する最も簡単な方法は、cron ジョブを追加することです。OS X ベースのサーバー システムを使用している場合は、代わりに launchd script を使用することを検討してください。

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

$ php /var/www/html/testrail/task.php

TestRail バックグラウンド タスクは、タスクがすでに実行されているかどうかを自動的に検出します。そのため、最良の結果を得るには、非常に短い間隔 (1分ごとなど) でタスクを起動することをお勧めします。それには、システムに cron がインストールされていることを確認し、/etc/cron.d/testrail ファイルを作成して次のように記述します。

* * * * * www-data /usr/bin/php /var/www/html/testrail/task.php

cron ジョブは PHP のコマンド ライン インターフェイスを必要とします。これはすでにシステムにインストールされている場合があります。php -v コマンドを実行すると、すでにインストールされているかどうかをテストできます。まだインストールされていない場合は、プラットフォームのパッケージ マネージャーを使用して php7.2-cli またはこれに相当するパッケージをインストールしてください。

注意:また、php-cli が Web サーバーの PHP.ini ファイルを使用しない場合は、php-cli の PHP.ini に上記の PHP 拡張機能を追加してください。Ubuntu システムでは、 /etc/php/7.2/cli/php.ini に ioncube 拡張機能も追加します。

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

http://<server>/testrail/