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 هم حذف شود. مطمئن شوید به برنامه اجازه میدهید 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 را خواهید دید.

- فایل تنظیمات Apache خود را پیدا و باز کنید. برای مثال:
sudo nano /etc/apache2/sites-available/000-default.conf - در block مناسب `<VirtualHost>` مربوط به سایت TestRail خود، بخش `<Directory>` را به شکل زیر اضافه یا بهروزرسانی کنید:
<Directory /var/www/testrail>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
- فایل تنظیمات Apache خود را پیدا و باز کنید. برای مثال:
- نصب 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’ را در مرورگر وب خود باز کنید. خروجی باید چیزی شبیه این باشد؛ دقت کنید که نسخه درست در عنوان صفحه نمایش داده شود:

لطفا صفحه phpinfo را بررسی کنید؛ این صفحه همه extensionهای لازم PHP، از جمله Cassandra، را فهرست میکند.
- نصب extension مربوط به MySQL برای PHP ۸.۱
sudo apt-get install php8.1-phpdbg -y - Apache را restart کنید
systemctl restart apache2
نکات مهم پیش از نصب #
#
از TestRail ۷.۱ به بعد، TestRail به هر دو پایگاه داده MySQL (یا MariaDB) و Cassandra، همراه با driverهای مربوطه، نیاز دارد.
نصب پیشنیازها #
برای استفاده از TestRail روی سرور مبتنی بر Unix با پایگاه داده MySQL & و Cassandra، PHP extensionهای زیر لازم است:
- PHP extension مربوط به gd برای تولید نمودارها
- PHP extension مربوط به mysql برای دسترسی به پایگاه داده
- PHP extension مربوط به fileinfo برای تشخیص نوع فایل و encoding
- PHP extension مربوط به imagick برای کار با تصاویر
- PHP extension مربوط به mbstring برای کار با رشتههای Unicode
- PHP extension مربوط به curl برای بررسی بهروزرسانیها و موارد مشابه
- PHP extension مربوط به openssl برای مدیریت اتصالهای SSL
بیشتر extensionها بهصورت پیشفرض نصب هستند، اما mbstring، gd و imagick باید بهصورت دستی نصب شوند. این کار را میتوانید با دستور زیر انجام دهید:
$ apt-get -y install php8.1-imagick php8.1-mbstring php8.1-gd
همچنین باید درایور Cassandra را نصب کنید که با سیستمعامل نصب TestRail شما سازگار باشد.
#
برای اطلاعات بیشتر درباره پیشنیازهای Cassandra و نصب/پیکربندی کامل آن، به دستورالعملهای نصب Cassandra مراجعه کنید.
بسته به سیستمعامل و پلتفرم، PHP extensionهای mysql و curl باید از طریق package manager همان پلتفرم نصب شوند و در فایل پیکربندی php.ini فعال باشند. برای مثال، دستور زیر این extensionها را روی سیستمهای 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={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 extensionها معمولاً مستقیماً در PHP گنجانده شدهاند و نیازی به نصب ماژول خارجی ندارند. با این حال، اگر در TestRail برای یکی از این ماژولها پیام missing dependency دیدید، باید آن را هم به نصب PHP خود اضافه کنید؛ برای مثال با نصب ماژول php8.۱-json.
نصب ionCube #
آخرین PHP extension مورد نیاز، ionCube PHP Loader رایگان است. میتوانید نسخه مناسب ionCube برای سیستمعامل خود را از وبسایت ionCube دانلود کنید. پس از دانلود و extract کردن فایلها روی 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 میتوانید بررسی کنید که ionCube Loader extension با موفقیت نصب شده است. البته توجه داشته باشید که 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 یا فایلهای دیگر را load کنند. اگر با این مشکل روبهرو شدید، بسته به نیازهای خود میتوانید پیکربندی SELinux را تنظیم کنید یا SELinux را غیرفعال کنید.


