TestRail ۹.۱.۰ برای همه مشتریان TestRail Server در دسترس است. مشتریانی که میخواهند به TestRail ۹.۱.۰ ارتقا دهند، میتوانند فایلهای نصب را از TestRail Billing Portal دانلود کنند.
آمادهسازی سرور #
برای TestRail باید یک وبسرور، یک پایگاه داده مبتنی بر 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 را ایمنسازی کنید. بهتر است وقتی از شما پرسیده شد، حذف کاربران ناشناس و حذف test database را تأیید کنید. مطمئن شوید به برنامه اجازه میدهید privilege tables را دوباره بارگذاری کند.
mysql_secure_installationMySQL بهصورت پیشفرض کاربر root را ایجاد میکند. برای ایجاد کاربران جدید، با دستور زیر وارد MySQL console شوید.
sudo mysql --defaults-file=/etc/mysql/debian.cnf - نصب وبسرور Apache
apt-get -y install apache2برای مطمئن شدن از اجرای Apache server، در مرورگر خود به 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() را دنبال کنید.
#
ممکن است لازم باشد مالک فایل phpinfo.php را تغییر دهید. از دستور زیر استفاده کنید، یا آن را طوری تغییر دهید که به مسیر دقیق فایل phpinfo.php شما اشاره کند.
chown www-data:www-data /var/www/html/phpinfo.phpاگر از قبل فایل phpinfo.php را در پوشه wwwroot دارید، مرحله ایجاد فایل را رد کنید و در مرورگر خود به localhost/phpinfo.php بروید تا اطلاعات نسخه PHP را بررسی کنید. خروجی باید چیزی شبیه این باشد (دقت کنید که نسخه درست در عنوان نمایش داده شود):

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

