このセクションでは、Unix/Linux サーバーにインストールされた TestRail Server 7.4 以降に Cassandra NoSQL データベースをインストールする方法を説明します。
前提条件
Cassandra データベースをインストールするには、いくつかの必須コンポーネントをインストールする必要があります。
-
- Open JDK 8
- C++ driver
- Cassandra driver for TestRail installation operating system
以下の手順は、Ubuntu 20.04 の例です。
1.JDK 8 のインストール
次のコマンドを使用して Java バージョン 8 をインストールします。
$ apt-get install openjdk-8-jdk -y
RedHat ベースのディストリビューションにインストールする場合、パッケージ名は java-1.8.0-openjdk です。
インストールが完了したら、次のコマンドを使用してインストールされた Java のバージョンを確認します。
$ java -version
java -version で次のように出力されれば、JDK は正常にインストールされています。
Openjdk version “1.8.0_312” OpenJDK Runtime Environment (build 1.8.0_312-8u312-b07-0ubuntu1~20.04-b07) OpenJDK 64-bit Server VM (build 25.312-b07, mixed mode)
2.C++ ドライバーのインストール
Cassandra ドライバーが動作するには C++ ドライバーが必要であるため、Linux TestRail プラットフォームでは C++ ドライバーが必要です。
Ubuntu ディストリビューション
multiarch-support パッケージをダウンロードします:
$ wget http://archive.ubuntu.com/ubuntu/pool/main/g/glibc/multiarch-support_2.27-3ubuntu1.6_amd64.deb
パッケージをインストールします。
$ dpkg -i multiarch-support_2.27-3ubuntu1.6_amd64.deb
C++ ドライバーをインストールします。
$ wget https://downloads.datastax.com/cpp-driver/ubuntu/18.04/cassandra/v2.16.0/cassandra-cpp-driver_2.16.0-1_amd64.deb
次のコマンドを実行してインストールします。
$ dpkg -i cassandra-cpp-driver_2.16.0-1_amd64.deb
RedHat ベースのディストリビューション
multiarch-support パッケージをダウンロードします。
$ wget https://downloads.datastax.com/cpp-driver/centos/7/dependencies/libuv/v1.35.0/libuv-1.35.0-1.el7.x86_64.rpm
パッケージをインストールします。
$ rpm -i libuv-1.35.0-1.el7.x86_64.rpm
C++ ドライバーをインストールします。
$ wget https://downloads.datastax.com/cpp-driver/centos/7/cassandra/v2.16.0/cassandra-cpp-driver-2.16.0-1.el7.x86_64.rpm
次のコマンドを実行してインストールします。
$ rpm -i cassandra-cpp-driver-2.16.0-1.el7.x86_64.rpm
3.Cassandra driver for TestRail
ここから Linux 用ドライバーをダウンロードします。
手動でダウンロードするか、Git からファイルをクローンできます。
$ git clone https://git.assembla.com/gurock/Drivers.Cassandra.git
ファイルがあるドライバー ディレクトリに移動します。※ご利用の PHP バージョンに合わせてください。
$ cd Drivers.Cassandra/Linux/7.3
次のコマンドを実行して extension_dir フォルダーの場所を確認します。
$ php -i | grep ^extension_dir
cassandra.so ファイルを extension_dir フォルダーにコピーします。
$ cp cassandra.so /usr/lib64/php/modules/
php.ini ファイルに次の行を追加して拡張機能を有効化します。
extension=cassandra.so
次のコマンドを実行して拡張が利用可能であることを確認できます。
$ php -m
cassandra を含むすべての必須 PHP 拡張機能をリストした典型的な phpinfo ページはこちらです。
Apache Cassandra のインストール
以下の手順は、Ubuntu 20.04 での例です。RedHat ベースのディストリビューションでは、こちらの手順に従ってください。
現在、TestRail Server インスタンスでサポートされている Cassandra のバージョンは 3.11 だけです。
次のコマンドを使用して必須の依存パッケージをインストールします。
$ apt-get install apt-transport-https gnupg2 -y
次のコマンドを使用して GPC キーをダウンロードし、追加します。
$ wget -q -O - https://www.apache.org/dist/cassandra/KEYS | apt-key add -
OK というレスポンスを待機します。数秒かかる場合があります。次のコマンドを使用して APT に Cassandra リポジトリを追加します。
$ echo "deb https://debian.cassandra.apache.org 311x main" | sudo tee -a /etc/apt/sources.list.d/cassandra.sources.list
リポジトリ キャッシュを更新します。
$ apt-get update -y
Apache Cassandra をインストールします。
$ apt-get install cassandra -y
Cassandra Home の lib ディレクトリ (通常は /usr/share/cassandra/lib) に cassandra-lucene-index-plugin-*.jar がインストールされていることを確認します。JAR ファイルは Cassandra と同じバージョン番号であるはずです。
インストールされていない場合、公式 maven リポジトリから .jar ファイルをダウンロードできます。
$ wget https://repo1.maven.org/maven2/com/stratio/cassandra/cassandra-lucene-index-plugin/3.11.3.0/cassandra-lucene-index-plugin-3.11.3.0.jar
ファイルを Cassandra Home の lib ディレクトリにコピーします。
$ cp cassandra-lucene-index-plugin-3.11.3.0.jar /usr/share/cassandra/lib
Cassandra を再起動します。
$ service cassandra restart
これで Cassandra データベースへの初回の接続を行う準備ができました。次のように入力します:
cqlsh
次のように出力されるはずです。
Connected to Test Cluster at 127.0.0.1:9042. [cqlsh 5.0.1 | Cassandra 3.11.11 | CQL spec 3.4.4 | Native protocol v4] Use HELP for help. cqlsh>
TestRail をインストールするには、Cassandra キースペースを作成する必要があります。次の CQL クエリーを実行して TestRail 用キースペースを作成します。
CREATE KEYSPACE IF NOT EXISTS testrail WITH REPLICATION={'class': 'SimpleStrategy', 'replication_factor': 1};
この Cassandra は ユーザー名として ‘cassandra’ 、パスワードとして ‘cassandra’を使用します。新規ユーザーを作成するには、cassandra.yaml ファイルを編集します。
ファイルを編集して authenticator および authorizer ディレクティブを変更します。
authenticator: AllowAllAuthenticator 行をコメント化し、次のように行を追加します。
#authenticator: AllowAllAuthenticator authenticator: PasswordAuthenticator
authorizer: AllowAllAuthorizer 行をコメント化し、次のように行を追加します。
#authorizer: AllowAllAuthorizer authorizer: CassandraAuthorizer
Cassandra を再起動します。
$ service cassandra restart
デフォルトのユーザー名とパスワードを使用して Cassandra に接続します。
$ cqlsh -u cassandra -p cassandra
Cassandra に TestRail 用ユーザーおよびパスワードを作成します。
cassandra@cqlsh> create user 'username' with password 'password';
TestRail ユーザーに権限を与えます。
cassandra@cqlsh> GRANT ALL ON KEYSPACE testrail to 'username';
Cassandra を終了します。