サーバーの準備
TestRail を利用するには Web サーバー、SQL データベース (MySQL)、NoSQL データベース (Cassandra 3.11) および有効な PHP 環境がサーバーにインストールされている必要があります。Linux、Apache、MySQL、および PHP (一般に LAMP と呼ばれる) のインストールについては、このインストールガイドでは扱いません。ネット上には、主な Linux および Unix システムに LAMP をインストールする方法についてのすばらしいガイドがあります。
Ubuntu に LAMP をインストールする:
Ubuntu にインストールする場合、次の手順に従います。
- MySQL をインストールします。
$ sudo apt-get install mysql-server mysql-client -y
mysql をセキュア化します。プロンプトが表示された場合、匿名ユーザーの削除を許可し、テスト データベースを削除することが推奨されます。プログラムに権限テーブルのリロードを許可します。
$ sudo mysql_secure_installation
MySQL は、デフォルトでは root ユーザーを作成します。次のコマンドを実行して MySQL コンソールにアクセスし、新しいユーザーを作成します。
$ sudo mysql --defaults-file=/etc/mysql/debian.cnf
- Apache Web サーバーをインストールします。
$ sudo apt-get install apache2 -y
Apache サーバーが実行されていることを確認するため、Web ブラウザーで ‘http://localhost’ にアクセスします。Apache Web サーバーが正常にインストールされた場合、Apache2 Ubuntu デフォルト ページが表示されます。
- PHP 8.1 をインストールします。
$ sudo apt-get install php8.1 libapache2-mod-php8.1 -y
- Apache を再起動します。
$ sudo systemctl restart apache2
- phpinfo.php ファイルを作成します。phpinfo() 診断プログラムの実行の手順に従って phpinfo.php ファイルを作成します。
phpinfo.php ファイルの所有者を変更する必要がある場合があります。次のコマンドをそのまま、または固有の phpinfo.php ファイルの場所を指すよう変更して実行します。
$ sudo chown www-data:www-data /var/www/html/phpinfo.php
wwwroot フォルダーに phpinfo.php ファイルがある場合、phpinfo.php ファイル作成手順を省略し、Web ブラウザーで ‘localhost/phpinfo.php’ に移動して PHP のバージョンをチェックします。次のように表示されるはずです (タイトルに適切なバージョンが表示されていることを確認します)。
Cassandra を含むすべての必須 PHP 拡張機能をリストしたphpinfo ページを参照してください。
- MySQL PHP 8.1 拡張機能をインストールします。
$ sudo apt-get install php8.1-phpdbg -y
- Apache を再起動します。
$ sudo systemctl restart apache2
インストール前の重要な注意点
TestRail 7.1 以降では、MySQL (または MariaDB) および Cassandra データベースと関連ドライバーが必要です。
前提条件のインストール
Unix ベースのサーバー システムで MySQL および Cassandra データベースと組み合わせて TestRail を使用するには、次の PHP 拡張機能が必要です。
- gd PHP 拡張機能 – グラフの生成に使用します
- mysql PHP 拡張機能 – データベースにアクセスするのに必要です
- fileinfo PHP 拡張機能 – ファイル タイプおよびエンコーディングの判断に使用します
- imagick PHP 拡張機能 – 画像の処理に使用します
- mbstring PHP 拡張機能 – Unicode 文字列の操作に使用します
- curl PHP 拡張機能 – アップデートの確認などに使用します
- openssl PHP 拡張機能 – SSL 接続の処理に使用します
多くの拡張機能はデフォルトでインストールされていますが、mbstring、gd、imagick については手動でインストールする必要があります。これらをインストールするには、次のコマンドを実行します。
$ sudo apt-get install php8.1-imagick php8.1-mbstring php8.1-gd -y
TestRail をインストールした OS 用の Cassandra ドライバーもインストールする必要があります 。
Cassandra の前提条件および詳細なインストール/設定については、Cassandra のインストール手順を参照してください。
OS やプラットフォームによっては、 mysql および curl PHP拡張機能を (プラットフォームのパッケージ マネージャーで) インストールし、php.ini 設定ファイルで有効にする必要があります。たとえば、次のコマンドは Debian/Ubuntu システムに拡張機能をインストールします。
$ sudo apt-get install php8.1-mysql php8.1-curl php8.1-json php8.1-mbstring php8.1-xml php8.1-gd php8.1-zip -y
システムによっては、これらのモジュールを php.ini 設定ファイルで有効にする必要もあります (Ubuntu などのシステムでは、インストール時に自動的に拡張機能が有効になります)。手動で有効化するには、設定ファイルの末尾に ‘extension={extension_name}’ を追加します (php.ini ですでに有効化されていないことを確認してください)。
たとえば、ファイル名が ‘imagick.so’ の場合、 php.ini のエントリは次のようになります。
extension=imagick
ほとんどのシステムでは、php.ini は /etc/php/8.1、/etc/php、または /etc/php/8.1/apache2 にあります。 /etc/php/8.1/cli/ ディレクトリの php.ini ファイルも修正する必要があります。
多くの PHP 拡張機能は PHP に直接統合されており、外部モジュールをインストールする必要はありません。ただし、TestRail でこれらのモジュールのいずれかについて依存モジュールが不足しているというメッセージが表示された場合は、PHP に追加する必要があります (たとえば php8.1-json モジュールをインストールするなど)。
Ioncube のインストール
最後に必要な 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_8.1.so
ご使用のサーバー システムでどの ionCube 拡張を有効にする必要があるかわからない場合は、loader-wizard.php スクリプトを Web サーバーのディレクトリにコピーして Web ブラウザーからアクセスし、インストール手順に従ってください。拡張機能をインストールしたら、Web サーバーを再起動して新しくインストールした拡張機能をロードしてください。
php -v を実行すると、ionCube ローダー拡張機能が正常にインストールされたことを確認できます。ただし、PHP のコマンド ライン インターフェイスは、Web サーバーで使用されているのとは異なる PHP バージョンの設定ファイルを使用している可能性があることに注意してください。関連するすべての php.ini 設定ファイルで ionCube が有効になっていることを確認してください。php -v を実行し、次のように出力されていれば、ionCube ローダー拡張モジュールは正常にインストールされています (ionCube PHP Loader という文字列を含む行に注目してください)。
PHP 8.1.2-1ubuntu2.10 (cli) (built: Jan 16 2023 15:19:49) (NTS) Copyright (c) The PHP Group Zend Engine v4.1.2, Copyright (c) Zend Technologies with the ionCube PHP Loader v12.0.5, Copyright (c) 2002-2022, by ionCube Ltd. with Zend OPcache v8.1.2-1ubuntu2.10, Copyright (c), by Zend Technologies
SELinux での注意点: システムで SELinux が有効化されている場合 (多くは RedHat および類似の Linux ディストリビューションの場合)、ディレクトリ制限のため、Apache および/または PHP が ionCube やその他のファイルをロードできない場合があります。この問題が発生した場合は、必要に応じて SELinux 設定を調整するか SELinux を無効にします。