サーバーの準備
TestRail を利用するには Web サーバー、SQL データベース (MySQL)、NoSQL データベース (Cassandra 3.11) および有効な PHP 環境がサーバーにインストールされている必要があります。Linux、Apache、MySQL、および PHP (一般に LAMP と呼ばれる) のインストールについては、このインストールガイドでは扱いません。ネット上には、主な Linux および Unix システムに LAMP をインストールする方法についてのすばらしいガイドがあります。
インストール前の重要な注意点
TestRail 7.1 以降では、MySQL (または MariaDB) および Cassandra データベースと関連ドライバーが必要です。
前提条件のインストール
Unix ベースのサーバー システムで MySQL および Cassandra データベースと組み合わせて 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) 圧縮ファイルを意識せずに読み取りおよび書き込みするのに利用します。 (エンタープライズ カスタマーの場合のみ必須)
- gd PHP 拡張機能 – グラフの生成に使用します。
TestRail をインストールした OS 用の Cassandra ドライバーもインストールする必要があります。
Cassandra の前提条件および詳細なインストール/設定については、Cassandra のインストール手順を参照してください。
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 php7.3-json php7.3-mbstring php7.3-xml php7.3-gd php7.3-zip -y
システムによっては、これらのモジュールを 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.3-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 を無効にします。