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

نصب پایگاه داده Cassandra NoSQL (Unix / Linux) – نسخه ۸.۰.۱.۱۰۲۹

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

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

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

پیش‌نیازها

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

  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++

درایور C++ برای پلتفرم‌های Linux TestRail لازم است، چون درایور 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 را از اینجا.

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

$ php -i | grep ^extension_dir

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

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

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

a151c2a7146d56c16236baa8cc1e9134

خروجی باید چیزی شبیه نمونه زیر باشد:

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

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

extension=cassandra

برای تأیید اینکه extension در دسترس است، دستور زیر را اجرا کنید.

$ php -m

این یک صفحه معمولی phpinfo است که همه PHP extensionهای موردنیاز، از جمله 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++ Driver نصب نباشد، خروجی نادرست دریافت می‌کنید. برای مثال:

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.

 

در حال حاضر، Cassandra ۳.۱۱ تنها نسخه Cassandra است که برای نصب‌های Server پشتیبانی می‌شود.

 

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

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

$ 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

فایل را در دایرکتوری Home lib کپی کنید.

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

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

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

Cassandra را restart کنید.

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

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

در این نصب Cassandra، مقدار cassandra هم به‌عنوان user و هم به‌عنوان password استفاده می‌شود. اگر می‌خواهید user جدیدی ایجاد کنید، باید فایل cassandra.yaml را در terminal ویرایش کنید:

فایل را با تغییر 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 را restart کنید.

$ service cassandra restart

با استفاده از user و password پیش‌فرض به Cassandra وصل شوید.

$ cqlsh -u cassandra -p cassandra

سپس یک user و password مخصوص TestRail در Cassandra ایجاد کنید.

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

همه privilegeها را به user مربوط به TestRail بدهید.

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

سپس می‌توانید از Cassandra خارج شوید.

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

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

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

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

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

آدرس دمو

https://demo.testrail.ir

ایمیل ورود

demo@testrail.ir

رمز عبور

demo_user