در زیر فرآیند نصب پایگاه داده Cassandra NoSQL برای نصب سرور TestRail در سرورهای یونیکس یا لینوکس که از TestRail ۷.۴ یا بالاتر استفاده می کنند را مشاهده خواهید کرد.
پیش نیازها #
برای نصب پایگاه داده Cassandra، باید برخی از اجزای مورد نیاز را نصب کنید:
مراحل زیر نمونه ای از نصب اوبونتو ۲۰.۰۴ است:
۱. JDK ۸ را نصب کنید #
جاوا نسخه ۸ را با استفاده از دستور زیر نصب کنید:
$ apt-get install openjdk-8-jdk -y
#
اگر روی یک توزیع مبتنی بر RedHat نصب میکنید، بسته فراخوانی میشود java-1.8.0-openjdk
پس از اتمام نصب، نسخه نصب شده جاوا را با دستور زیر تأیید کنید:
$ java -version
JDK با موفقیت نصب می شود اگر نسخه java چیزی شبیه به زیر را خروجی دهد:
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++ برای پلتفرم های لینوکس TestRail مورد نیاز است زیرا درایور Cassandra بدون آن اجرا نمی شود.
توزیع اوبونتو #
بسته 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
۳. درایور Cassandra برای TestRail #
درایور لینوکس را از اینجا.
مطمئن شوید که فایل در دایرکتوری پسوند php قرار دارد. با وارد کردن دستور زیر می توانید محل پوشه ‘extension_dir’ را پیدا کنید.
$ php -i | grep ^extension_dir
فایل cassandra.so را در پوشه extension_dir کپی کنید.
$ cp cassandra.so /usr/lib/php/20210902/
با استفاده از ابزار MD5 مانند md5sum، بررسی کنید که چکسوم MD5 این فایل:
a151c2a7146d56c16236baa8cc1e9134
باید چیزی شبیه به این را برگرداند:
$ /usr/lib/php/20210902# md5sum cassandra.so
a151c2a7146d56c16236baa8cc1e9134 cassandra.so
پسوند داخل php.ini را با افزودن خط زیر به فایل فعال کنید.
extension=cassandra
با نوشتن دستور زیر می توانید تأیید کنید که افزونه موجود است.
$ php -m
اینجا یک است صفحه معمولی phpinfo که تمام پسوندهای مورد نیاز php از جمله cassandra را فهرست می کند.
اگر cassandra به درستی بارگیری نمیشود، میتوانید با اجرای دستور زیر بررسی کنید که درایور تمام وابستگیهای خود را دارد. از فهرست پسوند، یا از مسیر کامل فایل ‘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)
آپاچی کاساندرا را نصب کنید #
مراحل زیر نمونه ای از نصب اوبونتو ۲۲.۰۴ است، اگر روی توزیع مبتنی بر RedHat نصب می کنید، موارد زیر را دنبال کنید. دستورالعمل ها در اسناد DataStax.
#
در حال حاضر، Cassandra ۳.۱۱ تنها نسخه Cassandra پشتیبانی شده برای نصب سرور است.
#
قبل از نصب، برخی از توزیع های لینوکس ممکن است دایرکتوری نداشته باشند /etc/apt/keyrings/ به طور پیش فرض بررسی کنید که آیا این دایرکتوری را دارید، اما اگر ندارید، آن را با دستور زیر ایجاد کنید: mkdir /etc/apt/keyrings/.
این باید مخزن را فعال کند و به شما اجازه می دهد 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
منتظر بمانید باشه پاسخ، ممکن است چند ثانیه طول بکشد. سپس مخزن 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'
کش مخزن را به روز کنید:
$ apt-get update -y
آپاچی کاساندرا را نصب کنید.
$ apt-get install cassandra -y
مطمئن شوید که یک cassandra-lucene-index-plugin-*.jar در فهرست راهنمای Cassandra Home lib خود نصب کرده اید. (معمولا مسیر /usr/share/cassandra/lib است). این فایل jar باید شماره نسخه نصب کاساندرا شما را داشته باشد.
اگر این کار را نکردید، می توانید فایل jar. را از مخزن رسمی 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
احراز هویت و مجوز را در Cassandra فعال کنید #
- فایل پیکربندی Cassandra cassandra.yaml را باز کنید
- AllowAllAuthenticator را با PasswordAuthenticator و AllowAllAuthorizer را با CassandraAuthorizer جایگزین کنید
کاساندرا را مجددا راه اندازی کنید.
$ service cassandra restart
اکنون برای اولین بار آماده اتصال به کاساندرا هستید. نوع:
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 ایجاد کنید. یکی ایجاد کنید که کوئری CQL زیر را اجرا می کند:
CREATE KEYSPACE IF NOT EXISTS testrail WITH REPLICATION={'class': 'SimpleStrategy', 'replication_factor': 1};
این نصب Cassandra از «cassandra» به عنوان کاربر و «cassandra» به عنوان رمز عبور استفاده می کند. اگر میخواهید کاربر جدیدی ایجاد کنید، باید فایل cassandra.yaml را در ترمینال خود ویرایش کنید:
با ایجاد تغییراتی در دستورالعملهای احراز هویت و مجوز، فایل را ویرایش کنید. خط “authenticator: AllowAllAuthenticator” را نظر دهید و خط زیر را اضافه کنید، به این شکل به نظر می رسد:
#authenticator: AllowAllAuthenticator
authenticator: org.apache.cassandra.auth.PasswordAuthenticator
نظر بعدی در مورد مجوز دهنده خط: “AllowAllAuthorizer” و خط زیر را اضافه کنید تا شبیه به این شود:
#authorizer: AllowAllAuthorizer
authorizer: org.apache.cassandra.auth.CassandraAuthorizer
سپس، کاساندرا را مجددا راه اندازی کنید.
$ service cassandra restart
با استفاده از یوزر و رمز عبور پیش فرض به کاساندرا متصل شوید.
$ cqlsh -u cassandra -p cassandra
سپس، یک کاربر و رمز عبور Cassandra TestRail ایجاد کنید.
cassandra@cqlsh> create user 'username' with password 'password';
همه امتیازات را به کاربر TestRail اعطا کنید.
cassandra@cqlsh> GRANT ALL ON KEYSPACE testrail to 'testrail';
سپس می توانید از کاساندرا خارج شوید.

