رفتن به محتوای اصلی
فهرست مستندات
نصب روی لینوکس/یونیکس

نصب پایگاه داده NoSQL Cassandra (Unix/Linux) – نسخه ۸.۰.۴.۷۰۳۶

به‌روزرسانی ۵ دقیقه مطالعه TestRail

فهرست مطالب
  1. پیش‌نیازها
  2. 1. نصب JDK 8
  3. 2. نصب درایور C++
  4. 3. درایور Cassandra برای TestRail
  5. نصب Apache Cassandra
  6. فعال کردن Authentication و Authorization در Cassandra

در ادامه روند نصب پایگاه داده NoSQL Cassandra را برای نصب‌های TestRail Server روی سرورهای Unix یا Linux می‌بینید. این راهنما برای TestRail ۷.۴ یا نسخه‌های جدیدتر است.

پیش‌نیازها

برای نصب پایگاه داده Cassandra، باید چند جزء موردنیاز را نصب کنید:

  1. OpenJDK 8
  2. درایور C++
  3. درایور Cassandra برای سیستم‌عامل محل نصب TestRail

مراحل زیر نمونه‌ای برای نصب روی Ubuntu ۲۰.۰۴ است:

۱. نصب JDK ۸

Java نسخه ۸ را با دستور زیر نصب کنید:

$ apt-get install openjdk-8-jdk -y

 

اگر نصب را روی توزیع مبتنی بر RedHat انجام می‌دهید، نام package این است: 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)

۲. نصب درایور C++

در پلتفرم‌های Linux برای TestRail به درایور C++ نیاز دارید، چون درایور Cassandra بدون آن اجرا نمی‌شود.

توزیع Ubuntu

package multiarch-support را دانلود کنید:

$ wget http://archive.ubuntu.com/ubuntu/pool/main/g/glibc/multiarch-support_2.27-3ubuntu1.6_amd64.deb

package را نصب کنید.

$ 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

package 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

package را نصب کنید.

$ 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

۳. درایور Cassandra برای TestRail

درایور Linux را از اینجا دانلود کنید.

مطمئن شوید فایل در دایرکتوری extension مربوط به PHP قرار دارد. محل پوشه ‘extension_dir’ را می‌توانید با دستور زیر پیدا کنید.

$ php -i | grep ^extension_dir

فایل cassandra.so را در پوشه extension_dir کپی کنید.

$ cp cassandra.so /usr/lib/php/20210902/

با ابزاری مثل md5sum بررسی کنید که checksum MD5 این فایل مقدار زیر باشد:

a151c2a7146d56c16236baa8cc1e9134

باید خروجی‌ای شبیه این برگردد:

$ /usr/lib/php/20210902# md5sum cassandra.so
a151c2a7146d56c16236baa8cc1e9134 cassandra.so

extension را در php.ini فعال کنید؛ برای این کار خط زیر را به فایل اضافه کنید.

extension=cassandra

با اجرای دستور زیر می‌توانید مطمئن شوید extension در دسترس است.

$ php -m

نمونه‌ای از صفحه معمول phpinfo را ببینید که همه extensionهای PHP موردنیاز، از جمله cassandra، را فهرست می‌کند.

اگر cassandra درست load نمی‌شود، با اجرای دستور زیر می‌توانید بررسی کنید همه dependencyهای درایور در دسترس هستند. این دستور را از دایرکتوری extension اجرا کنید یا مسیر کامل فایل ‘cassandra.so’ را بدهید.

ldd cassandra.so

نمونه خروجی درست شبیه این است:

linux-vdso.so.1 (0x00007ffe7fdf8000)
libcassandra.so.2 => /lib/x86_64-linux-gnu/libcassandra.so.2 (0x00007f037a800000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f037ad2e000)
libuv.so.1 => /lib/x86_64-linux-gnu/libuv.so.1 (0x00007f037acfc000)
libgmp.so.10 => /lib/x86_64-linux-gnu/libgmp.so.10 (0x00007f037a77e000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f037a556000)
libssl.so.1.1 => /lib/x86_64-linux-gnu/libssl.so.1.1 (0x00007f037a200000)
libcrypto.so.1.1 => /lib/x86_64-linux-gnu/libcrypto.so.1.1 (0x00007f0379c00000)
libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f037acde000)
libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f03799d6000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f037acbe000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f037acb9000)
/lib64/ld-linux-x86-64.so.2 (0x00007f037ae9a000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f037acb2000)

اگر درایور C++ نصب نشده باشد، خروجی نادرست می‌گیرید؛ برای مثال:

linux-vdso.so.1 (0x00007ffcc7ffd000)
libcassandra.so.2 => not found
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f0574a3e000)
libuv.so.1 => /lib/x86_64-linux-gnu/libuv.so.1 (0x00007f0574a0c000)
libgmp.so.10 => /lib/x86_64-linux-gnu/libgmp.so.10 (0x00007f057498a000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f0574762000)
/lib64/ld-linux-x86-64.so.2 (0x00007f0574ba9000)

نصب Apache Cassandra

مراحل زیر نمونه‌ای برای نصب روی Ubuntu ۲۲.۰۴ است. اگر روی توزیع مبتنی بر RedHat نصب می‌کنید، دستورالعمل‌های DataStax Documentation را دنبال کنید.

 

در حال حاضر، برای نصب‌های TestRail Server فقط Cassandra ۳.۱۱ پشتیبانی می‌شود.

 

پیش از نصب، ممکن است در بعضی توزیع‌های Linux مسیر /etc/apt/keyrings/ به‌صورت پیش‌فرض وجود نداشته باشد. بررسی کنید این دایرکتوری را دارید یا نه؛ اگر وجود نداشت، آن را با دستور زیر بسازید: mkdir /etc/apt/keyrings/.
با این کار repository فعال می‌شود و می‌توانید Cassandra را نصب کنید.

وابستگی‌های موردنیاز را با دستور زیر نصب کنید:

$ apt-get install apt-transport-https gnupg2 -y

کلید GPG را با دستور زیر دانلود و اضافه کنید:

$ curl -o /etc/apt/keyrings/apache-cassandra.asc https://downloads.apache.org/cassandra/KEYS

برای مطمئن شدن از اجرای موفق دستور قبلی، دستور زیر را بزنید:

$ cat /etc/apt/keyrings/apache-cassandra.asc

چند ثانیه صبر کنید تا پاسخ OK نمایش داده شود. سپس repository مربوط به Cassandra را با دستور زیر به APT اضافه کنید:

$ sh -c 'echo "deb [signed-by=/etc/apt/keyrings/apache-cassandra.asc] https://debian.cassandra.apache.org 311x main" | sudo tee -a /etc/apt/sources.list.d/cassandra.sources.list'

cache repository را به‌روزرسانی کنید:

$ apt-get update -y

Apache Cassandra را نصب کنید.

$ apt-get install cassandra -y

مطمئن شوید فایل cassandra-lucene-index-plugin-*.jar در دایرکتوری lib مربوط به Cassandra Home نصب شده است. (معمولاً مسیر آن /usr/share/cassandra/lib). این فایل .jar باید شماره نسخه نصب Cassandra شما را داشته باشد.

اگر این فایل را ندارید، می‌توانید فایل .jar را از repository رسمی Maven دانلود کنید.

$ 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

فایل را در دایرکتوری lib مربوط به Cassandra Home کپی کنید.

$ cp cassandra-lucene-index-plugin-3.11.3.0.jar /usr/share/cassandra/lib

فعال کردن Authentication و Authorization در Cassandra

  • فایل configuration مربوط به Cassandra، یعنی cassandra.yaml، را باز کنید.
  • AllowAllAuthenticator را با PasswordAuthenticator و AllowAllAuthorizer را با CassandraAuthorizer جایگزین کنید.

Cassandra را راه‌اندازی مجدد کنید.

$ service cassandra restart

حالا آماده‌اید برای اولین بار به Cassandra وصل شوید. دستور زیر را وارد کنید:

cqlsh <host> -u <user> -p <password>

یا اگر دستور قبلی برای شما کار نکرد، این دستور را وارد کنید: 

cqlsh -u cassandra -p cassandra

باید خروجی زیر را ببینید:

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 لازم است یک keyspace در Cassandra بسازید. با اجرای query زیر در CQL آن را ایجاد کنید:

CREATE KEYSPACE IF NOT EXISTS testrail WITH REPLICATION={'class': 'SimpleStrategy', 'replication_factor': 1};

در این نصب Cassandra، نام کاربری و رمز عبور هر دو ‘cassandra’ هستند. اگر می‌خواهید کاربر جدید بسازید، باید فایل cassandra.yaml را در ترمینال ویرایش کنید:

فایل را ویرایش کنید و directiveهای authenticator و authorizer را تغییر دهید. خط “authenticator: AllowAllAuthenticator” را comment کنید و خط زیر را اضافه کنید تا بخش مربوطه به این شکل باشد:

#authenticator: AllowAllAuthenticator
authenticator: org.apache.cassandra.auth.PasswordAuthenticator

بعد، خط “authorizer: AllowAllAuthorizer” را comment کنید و خط زیر را اضافه کنید تا بخش مربوطه به این شکل باشد:

#authorizer: AllowAllAuthorizer
authorizer: org.apache.cassandra.auth.CassandraAuthorizer

سپس Cassandra را راه‌اندازی مجدد کنید.

$ service cassandra restart

با نام کاربری و رمز عبور پیش‌فرض به Cassandra وصل شوید.

$ cqlsh -u cassandra -p cassandra

بعد، برای TestRail در Cassandra یک کاربر و رمز عبور بسازید.

cassandra@cqlsh> create user 'username' with password 'password';

همه دسترسی‌ها را به کاربر TestRail بدهید.

cassandra@cqlsh> GRANT ALL ON KEYSPACE testrail to 'testrail';

بعد از آن می‌توانید از Cassandra خارج شوید.

ایستگاه بعدی شما

TestRail را همین حالا در محیط دمو ببینید.

محیط تست آماده

دسترسی به دمو TestRail

قبل از ورود، مشخصات زیر را در صفحه ورود محیط دمو وارد کنید.

آدرس دمو

https://demo.testrail.ir

ایمیل ورود

demo@testrail.ir

رمز عبور

demo_user