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

لطفا صفحه phpinfo را بررسی کنید؛ این صفحه همه extensionهای موردنیاز PHP، از جمله Cassandra را فهرست میکند.
- نصب extension مربوط به MySQL برای PHP ۸.۱
sudo apt-get install php8.1-phpdbg -y - Restart کردن Apache
systemctl restart apache2
نکات مهم پیش از نصب #
#
از TestRail ۷.۱ به بعد، TestRail هم به پایگاه داده MySQL یا MariaDB و هم به Cassandra نیاز دارد، بههمراه driverهای مربوطه.
نصب پیشنیازها #
برای استفاده از TestRail روی یک سرور مبتنی بر Unix با پایگاههای داده MySQL & و Cassandra، extensionهای PHP زیر لازم است:
- افزونه PHP به نام gd برای تولید نمودارها
- افزونه PHP به نام mysql برای دسترسی به دیتابیس
- افزونه 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 دانلود کنید. بعد از دانلود و استخراج فایلها روی 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 کنید تا افزونههای تازه نصبشده بارگذاری شوند.
برای بررسی نصب موفق ionCube loader extension میتوانید دستور php -v را اجرا کنید. توجه داشته باشید که PHP command line interface ممکن است از فایل پیکربندی متفاوتی نسبت به نسخه 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 را غیرفعال کنید.

