TestRail ۸.۰.۶ برای همه مشتریان TestRail Server در دسترس است. مشتریانی که میخواهند به TestRail ۸.۰.۶ ارتقا دهند، میتوانند فایلهای نصب را از TestRail Billing Portal دانلود کنند.
آمادهسازی سرور #
برای TestRail باید یک web server، یک پایگاه داده مبتنی بر SQL (MySQL)، یک پایگاه داده NoSQL (Cassandra ۳.۱۱) و یک محیط PHP فعال روی سرور نصب شده باشد. دستورالعمل نصب Linux، Apache، MySQL و PHP (که معمولاً با نام LAMP) شناخته میشود) در محدوده این راهنمای نصب نیست، اما راهنماهای خوبی برای نصب یک سیستم LAMP روی سیستمهای محبوب Linux و Unix در وب وجود دارد:
نصب LAMP روی Ubuntu: #
برای نصب روی Ubuntu، مراحل زیر را دنبال کنید:
- نصب MySQL
apt-get -y install mysql-server mysql-clientنصب MySQL را امنسازی کنید. وقتی از شما پرسیده شد، بهتر است حذف anonymous users و حذف test database را تأیید کنید. مطمئن شوید که برنامه اجازه دارد privilege tables را دوباره بارگذاری کند.
mysql_secure_installationMySQL بهصورت پیشفرض کاربر root را ایجاد میکند. برای ایجاد کاربران جدید، با دستور زیر وارد MySQL console شوید.
sudo mysql --defaults-file=/etc/mysql/debian.cnf - نصب Apache Web Server
apt-get -y install apache2برای مطمئن شدن از اجرای Apache، در مرورگر خود به http://localhost بروید. اگر Apache Web Server با موفقیت نصب شده باشد، صفحه Apache2 Ubuntu Default Page را میبینید.
- نصب PHP ۸.۱
apt-get -y install php8.1 libapache2-mod-php8.1 - راهاندازی مجدد Apache
systemctl restart apache2 - ایجاد فایل phpinfo.php
برای ایجاد فایل phpinfo.php، از راهنمای اجرای diagnostics با phpinfo() استفاده کنید.
#
ممکن است لازم باشد owner فایل phpinfo.php را تغییر دهید. از دستور زیر استفاده کنید یا آن را طوری تغییر دهید که به مسیر دقیق فایل phpinfo.php شما اشاره کند.
chown www-data:www-data /var/www/html/phpinfo.phpاگر از قبل فایل phpinfo.php را در پوشه wwwroot دارید، از ساخت فایل صرفنظر کنید و در مرورگر خود به localhost/phpinfo.php بروید تا اطلاعات نسخه PHP را بررسی کنید. خروجی باید چیزی شبیه این باشد (دقت کنید که نسخه درست در عنوان صفحه نمایش داده میشود):

لطفاً صفحه phpinfo را بررسی کنید؛ این صفحه همه PHP extensionهای موردنیاز، از جمله Cassandra، را فهرست میکند.
- نصب extension MySQL برای PHP ۸.۱
sudo apt-get install php8.1-phpdbg -y - راهاندازی مجدد Apache
systemctl restart apache2
نکات مهم پیش از نصب #
#
از نسخه TestRail ۷.۱ به بعد، TestRail به هر دو پایگاه داده MySQL (یا MariaDB) و Cassandra، به همراه driverهای مربوطه نیاز دارد.
نصب پیشنیازها #
برای استفاده از TestRail روی یک سرور مبتنی بر Unix با پایگاههای داده MySQL & و Cassandra، PHP extensionهای زیر لازم هستند:
- افزونه PHP به نام gd برای تولید نمودارها
- افزونه PHP به نام mysql برای دسترسی به database
- افزونه PHP به نام fileinfo برای تشخیص نوع فایل و encoding
- افزونه PHP به نام imagick برای کار با تصاویر
- افزونه PHP به نام mbstring برای کار با رشتههای Unicode
- افزونه PHP به نام curl برای بررسی بهروزرسانیها و موارد مشابه
- افزونه PHP به نام openssl برای مدیریت اتصالهای SSL
بیشتر افزونهها بهصورت پیشفرض نصب میشوند، اما mbstring، gd و imagick باید بهصورت دستی نصب شوند. میتوانید این کار را با دستور زیر انجام دهید:
$ apt-get -y install php8.1-imagick php8.1-mbstring php8.1-gd
همچنین باید درایور Cassandra را نصب کنید که با سیستمعامل محل نصب TestRail شما سازگار باشد.
#
برای اطلاعات بیشتر درباره پیشنیازهای Cassandra و نصب/پیکربندی کامل آن، به راهنمای نصب Cassandra مراجعه کنید.
بسته به سیستمعامل و پلتفرم، افزونههای PHP به نام mysql و curl باید از طریق package manager همان پلتفرم نصب شوند و در فایل تنظیمات 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/۸.۱، /etc/php یا /etc/php/۸.۱/apache2 پیدا کنید. همچنین باید فایل PHP.ini داخل دایرکتوری /etc/php/۸.۱/cli/ را هم تغییر دهید.
بیشتر افزونههای PHP معمولاً مستقیماً در خود PHP ادغام شدهاند و نیازی به نصب ماژول خارجی ندارند. با این حال، اگر در TestRail برای یکی از این ماژولها پیام missing dependency دیدید، باید آن را هم به نصب PHP خود اضافه کنید؛ برای مثال با نصب ماژول php8.۱-json.
نصب ionCube #
آخرین افزونه PHP موردنیاز، ionCube PHP Loader رایگان است. میتوانید نسخه مناسب ionCube برای سیستمعامل خود را از وبسایت ionCube دانلود کنید. پس از دانلود و extract کردن فایلها روی web server، فایلها را در دایرکتوری دلخواه خود قرار دهید؛ برای مثال /opt/ioncube.
برای فعال کردن ionCube، افزونه ionCube Loader مناسب را به PHP.ini اضافه کنید. برای این کار، حتماً از دستورهای تنظیمات zend_extension یا zend_extension_ts استفاده کنید و مسیر کامل افزونه را مشخص کنید:
zend_extension=/opt/ioncube/ioncube_loader_lin_8.1.so
اگر مطمئن نیستید کدام افزونه ionCube را باید برای سیستم سرور خود فعال کنید، اسکریپت loader-wizard.php را در دایرکتوری web server کپی کنید، آن را از طریق مرورگر باز کنید و دستورالعملهای نصب را دنبال کنید. پس از نصب افزونهها، web server را restart کنید تا افزونههای تازه نصبشده load شوند.
برای بررسی موفقیتآمیز بودن نصب ionCube Loader، میتوانید دستور php -v را اجرا کنید. توجه داشته باشید که PHP CLI ممکن است از فایل تنظیماتی متفاوت از نسخه PHP مورد استفاده web server شما استفاده کند. مطمئن شوید ionCube در همه فایلهای PHP.ini مرتبط فعال شده باشد. اگر خروجی php -v چیزی شبیه نمونه زیر باشد، افزونه ionCube Loader با موفقیت نصب شده است. به خط 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 یا فایلهای دیگر را load کنند. اگر با این مشکل روبهرو شدید، بسته به نیازتان میتوانید تنظیمات SELinux را تغییر دهید یا SELinux را غیرفعال کنید.

