TestRail ۹.۰.۰ برای همه مشتریان Server در دسترس است. مشتریانی که میخواهند به TestRail ۹.۰.۰ ارتقا دهند، میتوانند فایلهای نصب را از TestRail Billing Portal دانلود کنند.
آمادهسازی server #
برای نصب TestRail روی server، باید یک web server، یک database مبتنی بر SQL یعنی MySQL، یک database از نوع NoSQL یعنی Cassandra ۳.۱۱، و یک محیط PHP فعال روی server نصب شده باشد. اگرچه دستورالعملهای نصب Linux، Apache، MySQL و PHP که معمولاً به آن LAMP گفته میشود، خارج از محدوده این راهنمای نصب است، راهنماهای کاربردی خوبی برای نصب LAMP روی سیستمهای محبوب Linux و Unix در وب وجود دارد:
نصب LAMP روی Ubuntu: #
برای نصب روی Ubuntu، این مراحل را دنبال کنید:
- نصب MySQL
apt-get -y install mysql-server mysql-clientنصب MySQL را ایمن کنید. توصیه میشود وقتی از شما سؤال شد، اجازه دهید کاربران ناشناس حذف شوند و test database هم حذف شود. همچنین مطمئن شوید که به برنامه اجازه میدهید privilege tableها را دوباره بارگذاری کند.
mysql_secure_installationMySQL بهطور پیشفرض کاربر root را ایجاد میکند. برای ایجاد کاربران جدید، با دستور زیر وارد MySQL console شوید.
sudo mysql --defaults-file=/etc/mysql/debian.cnf - نصب Apache Web Server
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 با phphinfo() را دنبال کنید.
#
ممکن است لازم باشد owner فایل phpinfo.php را تغییر دهید. از دستور زیر استفاده کنید، یا دستور را طوری تغییر دهید که به مسیر دقیق فایل phpinfo.php شما اشاره کند.
chown www-data:www-data /var/www/html/phpinfo.phpاگر از قبل یک فایل phpinfo.php در پوشه wwwroot دارید، از ایجاد فایل صرفنظر کنید و برای بررسی اطلاعات نسخه PHP، در مرورگر خود به «localhost/phpinfo.php» بروید. خروجی باید چیزی شبیه این باشد؛ توجه کنید که نسخه درست در title نمایش داده شود:

لطفاً صفحه phpinfo را بررسی کنید؛ این صفحه همه extensionهای PHP موردنیاز، از جمله Cassandra، را فهرست میکند.
- نصب extension مربوط به MySQL برای PHP ۸.۱
sudo apt-get install php8.1-phpdbg -y - راهاندازی دوباره Apache
systemctl restart apache2
نکات مهم پیش از نصب #
#
از TestRail ۷.۱ به بعد، TestRail به هر دو database یعنی MySQL یا MariaDB و Cassandra، بههمراه driverهای مربوط به آنها، نیاز دارد.
نصب پیشنیازها #
برای استفاده از TestRail روی یک server مبتنی بر Unix با databaseهای MySQL & و Cassandra، extensionهای PHP زیر لازم است:
- افزونه gd برای PHP، برای تولید نمودارها
- افزونه mysql برای PHP، برای دسترسی به database
- افزونه fileinfo برای PHP، برای تشخیص نوع فایل و encoding
- افزونه imagick برای PHP، برای کار با تصویرها
- افزونه mbstring برای PHP، برای کار با رشتههای Unicode
- افزونه curl برای PHP، برای بررسی بهروزرسانیها و موارد مشابه
- افزونه openssl برای PHP، برای مدیریت اتصالهای SSL
بیشتر extensionها بهصورت پیشفرض نصب میشوند، اما mbstring، gd و imagick باید بهصورت دستی نصب شوند. این کار را میتوانید با دستور زیر انجام دهید:
$ apt-get -y install php8.1-imagick php8.1-mbstring php8.1-gd
همچنین باید درایور Cassandra را نصب کنید تا با سیستمعامل محل نصب TestRail شما سازگار باشد.
#
برای اطلاعات بیشتر درباره پیشنیازهای Cassandra و مراحل کامل نصب/پیکربندی، به دستورالعملهای نصب Cassandra مراجعه کنید.
بسته به سیستمعامل و platform، افزونههای mysql و curl برای PHP باید با 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
در برخی سیستمها، این moduleها باید در فایل تنظیمات php.ini نیز فعال شوند. سیستمهایی مانند Ubuntu معمولا پس از نصب، extensionها را بهصورت خودکار فعال میکنند. برای این کار، عبارت «extension={extension_name}» را به انتهای فایل تنظیمات اضافه کنید. مطمئن شوید که این extensionها از قبل در php.ini فعال نشده باشند.
برای مثال، اگر نام فایل «imagick.so» باشد، ورودی فایل php.ini به این شکل خواهد بود:
extension=imagick
در بیشتر سیستمها میتوانید فایل php.ini را در مسیرهای /etc/php/۸.۱، /etc/php یا /etc/php/۸.۱/apache2 پیدا کنید. همچنین باید فایل php.ini موجود در دایرکتوری /etc/php/۸.۱/cli/ را هم تغییر دهید.
بیشتر extensionهای PHP معمولا مستقیما داخل PHP قرار دارند و نیازی به نصب module خارجی ندارند. با این حال، اگر در TestRail برای یکی از این moduleها پیام missing dependency دیدید، باید آن را هم به نصب PHP خود اضافه کنید؛ مثلا با نصب module به نام php8.۱-json.
نصب ionCube #
آخرین افزونه PHP موردنیاز، ionCube PHP Loader رایگان است. میتوانید نسخه مناسب ionCube برای سیستمعامل خود را از وبسایت ionCube دانلود کنید. پس از دانلود و استخراج فایلها روی web server، فایلها را در دایرکتوری دلخواه خود قرار دهید؛ برای مثال /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 را در دایرکتوری web server کپی کنید، آن را از طریق مرورگر باز کنید و دستورالعملهای نصب را دنبال کنید. پس از نصب extensionها، web server را restart کنید تا extensionهای تازه نصبشده load شوند.
با اجرای php -v میتوانید بررسی کنید که extension مربوط به ionCube Loader با موفقیت نصب شده است. توجه داشته باشید که PHP command line interface ممکن است از فایل تنظیماتی متفاوت از نسخه PHP مورد استفاده web server استفاده کند. مطمئن شوید ionCube در همه فایلهای تنظیمات php.ini مرتبط فعال شده باشد. اگر خروجی php -v چیزی شبیه نمونه زیر باشد، یعنی extension مربوط به 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 را غیرفعال کنید.

