ページを選択

Unix/Linux サーバーへのインストールの準備

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

サーバーの準備

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

Ubuntu に LAMP をインストールする:

Ubuntu にインストールする場合、次の手順に従います。

  1. 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
  2. Apache Web サーバーをインストールします。
    $ sudo apt-get install apache2 -y

    Apache サーバーが実行されていることを確認するため、Web ブラウザーで ‘http://localhost’ にアクセスします。Apache Web サーバーが正常にインストールされた場合、Apache2 Ubuntu デフォルト ページが表示されます。

    1. Apache の設定ファイルを探して開きます。例:
      sudo nano /etc/apache2/sites-available/000-default.conf
    2. TestRail サイトに応じて適切な `<VirtualHost>` ブロックの内側に次のように `<Directory>` セクションを追加または更新します。
      <Directory /var/www/testrail>
      Options Indexes FollowSymLinks
      AllowOverride All
      Require all granted
      </Directory>
  3. PHP 8.1 をインストールします。
    $ sudo apt-get install php8.1 libapache2-mod-php8.1 -y
  4. Apache を再起動します。
    $ sudo systemctl restart apache2
  5. 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 のバージョンをチェックします。次のように表示されるはずです (タイトルに適切なバージョンが表示されていることを確認します)。

    すべての必須 PHP 拡張機能をリストしたphpinfo ページを参照してください。

  6. MySQL PHP 8.1 拡張機能をインストールします。
    $ sudo apt-get install php8.1-phpdbg -y
  7. Apache を再起動します。
    $ sudo systemctl restart apache2

インストール前の重要な注意点

※TestRail 7.1 以降では、MySQL (または MariaDB) と関連ドライバーが必要です。

前提条件のインストール

Unix ベースのサーバー システムで MySQL と組み合わせて 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

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 を無効にします。

Chrome Chrome Headless Shell 依存関係のインストール

  1. 任意のターミナル アプリケーションを開いて次を実行します。
    sudo apt update
    sudo apt install -y wget unzip libnss3 libatk1.0-0 libxcomposite1 libxdamage1 libxrandr2 libgbm1 libxkbcommon0 libasound2t64 libatk-bridge2.0-0 libxfixes3
  2. 最新の Chrome Headless Shell をダウンロードし、ターミナルで次のコマンドを実行します。
    cd /tmp
    LATEST_VERSION=$(wget -qO- https://googlechromelabs.github.io/chrome-for-testing/LATEST_RELEASE_STABLE)
    wget https://storage.googleapis.com/chrome-for-testing-public/${LATEST_VERSION}/linux64/chrome-headless-shell-linux64.zip
  3. バイナリを解凍して移動します。バイナリを解凍して任意の場所に移動できます。バイナリを移動する場所をメモしておきます。TestRail の設定にこのパスを追加する必要があります。
    unzip chrome-headless-shell-linux64.zip
    sudo mv chrome-headless-shell-linux64 /usr/bin/
  4. パーミッションを設定します。Apache の起動ユーザーが Chrome バイナリを実行するのに十分な権限を持っていることを確認します。
    sudo chown www-data:www-data /usr/bin/chrome-headless-shell-linux64 -R
    sudo chmod 775 /usr/bin/chrome-headless-shell-linux64 -R