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 حذف شوند و 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 server، در مرورگر خود به http://localhost بروید. اگر Apache Web Server با موفقیت نصب شده باشد، صفحه پیشفرض Apache2 Ubuntu را میبینید.
- PHP ۸.۱ را نصب کنید
apt-get -y install php8.1 libapache2-mod-php8.1 - Apache را restart کنید
systemctl restart apache2 - فایل phpinfo.php را ایجاد کنید
راهنمای اجرای diagnostics مربوط به phpinfo() را برای ایجاد فایل phpinfo.php دنبال کنید.
#
ممکن است لازم باشد owner فایل phpinfo.php را تغییر دهید. از دستور زیر استفاده کنید، یا دستور را طوری تغییر دهید که به محل دقیق فایل phpinfo.php شما اشاره کند.
chown www-data:www-data /var/www/html/phpinfo.phpاگر از قبل فایل phpinfo.php را در پوشه wwwroot دارید، ساخت فایل را نادیده بگیرید و برای بررسی اطلاعات نسخه PHP، در مرورگر خود به localhost/phpinfo.php بروید. خروجی باید چیزی شبیه این باشد. توجه کنید که نسخه درست در عنوان صفحه نمایش داده میشود:

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

