TestRail ۹.۳.۲ برای همه مشتریان Server در دسترس است. مشتریانی که میخواهند به TestRail ۹.۳.۲ ارتقا دهند، میتوانند فایلهای نصب را از TestRail Billing Portal دانلود کنند.
requirements را ببینید.
آمادهسازی سرور #
برای نصب TestRail روی سرور، به یک 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 و حذف 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 در حال اجراست، در web browser خود به «http://localhost» بروید. اگر Apache Web Server با موفقیت نصب شده باشد، صفحه Apache2 Ubuntu Default Page را خواهید دید.

-
فایل configuration مربوط به Apache را پیدا و باز کنید. برای مثال:
sudo nano /etc/apache2/sites-available/000-default.conf -
در بلوک `<VirtualHost>` مربوط به سایت TestRail خود، بخش `<Directory>` را به شکل زیر اضافه یا بهروزرسانی کنید:
<Directory /var/www/testrail>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
-
فایل configuration مربوط به Apache را پیدا و باز کنید. برای مثال:
-
PHP ۸.۱ را نصب کنید
apt-get -y install php8.1 libapache2-mod-php8.1 -
Apache را restart کنید
systemctl restart apache2 -
فایل phpinfo.php را ایجاد کنید
راهنمای
Running phphinfo() diagnostics guide
را دنبال کنید تا فایل phpinfo.php را ایجاد کنید.
#ممکن است لازم باشد owner فایل phpinfo.php را تغییر دهید. از دستور زیر استفاده کنید، یا آن را طوری تغییر دهید که به محل دقیق فایل phpinfo.php شما اشاره کند.
chown www-data:www-data /var/www/html/phpinfo.phpاگر از قبل فایل phpinfo.php را در پوشه wwwroot
دارید، مرحله ایجاد فایل را نادیده بگیرید و در web browser خود به «localhost/phpinfo.php» بروید تا اطلاعات نسخه PHP را بررسی کنید. خروجی باید چیزی شبیه این باشد. توجه کنید که نسخه درست در عنوان صفحه نمایش داده میشود:
لطفاً صفحه phpinfo را بررسی کنید؛ این صفحه همه extensionهای موردنیاز PHP، از جمله Cassandra، را فهرست میکند.
-
MySQL PHP ۸.۱ extension را نصب کنید
sudo apt-get install php8.1-phpdbg -y -
Apache را ریستارت کنید
systemctl restart apache2
نکات مهم پیش از نصب #
#
از TestRail ۷.۱ به بعد، TestRail به پایگاه دادههای MySQL یا MariaDB و Cassandra، همراه با درایورهای مربوط به آنها، نیاز دارد.
نصب پیشنیازها #
برای استفاده از 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 مراجعه کنید.
بسته به سیستمعامل و platform، ممکن است لازم باشد PHP extensionهای mysql و curl از طریق package manager همان platform نصب و در فایل پیکربندی 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}» را به انتهای فایل پیکربندی اضافه کنید. مطمئن شوید این موارد از قبل در PHP.ini فعال نشده باشند.
برای مثال، اگر نام فایل «imagick.so» باشد، entry مربوطه در فایل 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 دانلود کنید. بعد از دانلود و استخراج فایلها روی 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
اگر مطمئن نیستید کدام extension مربوط به ionCube را باید برای سیستم سرور خود فعال کنید، اسکریپت loader-wizard.php را در دایرکتوری web server کپی کنید، آن را از طریق مرورگر باز کنید و دستورالعملهای نصب را دنبال کنید. بعد از نصب extensionها، web server را ریستارت کنید تا extensionهای تازه نصبشده بارگذاری شوند.
برای بررسی نصب موفق 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 را غیرفعال کنید.
نصب وابستگی Chrome Headless Shell #
-
ترمینال دلخواه خود را باز کنید و دستور زیر را اجرا کنید:
sudo apt update sudo apt install -y wget unzip libnss3 libatk1.0-0 libxcomposite1 libxdamage1 libxrandr2 libgbm1 libxkbcommon0 libasound2 libatk-bridge2.0-0 libxfixes3
-
آخرین نسخه Chrome Headless Shell را دانلود کنید و سپس در terminal دستورهای زیر را اجرا کنید:
cd /tmp LATEST_VERSION=$(wget -qO- https://googlechromelabs.github.io/chrome-for-testing/LATEST_RELEASE_STABLE) Wget https://storage.googleapis.com/chrome-for-testing-public/${LATEST_VERSION}/linux64/chrome-headless-shell-linux64.zip -
فایل binary را از حالت فشرده خارج کنید و به مسیر دلخواه خود منتقل کنید. این مسیر را یادداشت کنید، چون باید آن را به تنظیمات TestRail اضافه کنید.
unzip chrome-headless-shell-linux64.zip sudo mv chrome-headless-shell-linux64 /usr/bin/
-
مجوزها را تنظیم کنید. مطمئن شوید web user مجوز کافی برای اجرای Chrome binary را دارد:
sudo chown www-data:www-data /usr/bin/chrome-headless-shell-linux64 -R sudo chmod 775 /usr/bin/chrome-headless-shell-linux64 -R


