#
TestRail ۸.۰.۴ برای همه مشتریان Server در دسترس است. مشتریانی که میخواهند به TestRail ۸.۰.۴ ارتقا دهند، میتوانند فایلهای نصب را از TestRail Billing Portal دانلود کنند.
آمادهسازی سرور #
TestRail برای نصب روی server به web server، یک database مبتنی بر SQL یعنی MySQL، یک database 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 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 دارید، مرحله ایجاد فایل را رد کنید و برای بررسی اطلاعات نسخه PHP، در مرورگر به http://localhost/phpinfo.php بروید. خروجی باید چیزی شبیه نمونه زیر باشد؛ دقت کنید نسخه صحیح در عنوان صفحه نمایش داده شود:

لطفاً صفحه phpinfo را بررسی کنید؛ این صفحه همه PHP extensionهای مورد نیاز، از جمله 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 جهت دسترسی به پایگاه داده
- افزونه 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 را نصب کنید که متناسب با سیستمعامل محل نصب 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}» را به انتهای فایل پیکربندی اضافه کنید. مطمئن شوید که این افزونهها از قبل در 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 اضافه کنید. برای این کار، مطمئن شوید از directiveهای پیکربندی 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 command line interface ممکن است از فایل پیکربندی متفاوتی نسبت به نسخه 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 را غیرفعال کنید.

