TestRail ۱۰.۴.۱ برای همه مشتریان Server در دسترس است. مشتریانی که میخواهند به TestRail ۱۰.۴.۱ یا نسخههای قدیمیتر ارتقا دهند، میتوانند فایلهای نصب را از TestRail Billing Portal دانلود کنند.
ℹ️ نکته مهم:
از TestRail ۹.۵.۱ Server به بعد، Cassandra رسماً deprecated شده و این محدودیت اعمال میشود:
-
Adminها باید ابتدا اسکریپت deprecation مربوط به Cassandra را در نسخه ۹.۴.۱ قبل از
ارتقا به نسخههای جدیدتر اجرا کنند. -
اگر این اسکریپت اجرا نشده باشد، ارتقا به نسخههای جدیدتر مسدود میشود و یک پیام هشدار نمایش داده میشود
در طول فرایند ارتقا.👉 لطفاً
مستندات Cassandra Deprecation
را بررسی کنید.
requirements را ببینید تا درباره سیستمعاملها و سیستمهای سرور پشتیبانیشده بیشتر بدانید.
آمادهسازی سرور #
TestRail به یک web server، یک پایگاه داده مبتنی بر SQL یعنی MySQL، و یک محیط PHP فعال روی سرور نیاز دارد. دستورالعمل نصب Linux، Apache، MySQL و PHP که معمولاً با نام LAMP شناخته میشود، خارج از محدوده این راهنمای نصب است؛ اما راهنماهای خوبی برای نصب یک سیستم LAMP روی سیستمهای محبوب Linux و Unix در وب وجود دارد:
نصب LAMP روی Ubuntu: #
برای نصب روی Ubuntu، این مراحل را دنبال کنید:
-
MySQL را نصب کنید
apt-get update & apt-get install -y default-mysql-server default-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 را خواهید دید.
-
فایل configuration مربوط به Apache را پیدا و باز کنید. برای مثال:
sudo nano /etc/apache2/sites-available/000-default.conf -
داخل بلاک `<VirtualHost>`
مربوط به سایت TestRail خود، ` را اضافه یا بهروزرسانی کنید<دایرکتوری>`
بخش را به شکل زیر تنظیم کنید:<Directory /var/www/testrail>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
-
فایل configuration مربوط به Apache را پیدا و باز کنید. برای مثال:
-
PHP ۸.۳ را نصب کنید؛ در صورت نیاز، مخزن PPA مربوط به Ondřej Surý را اضافه کنید
apt-get install -y php8.3 libapache2-mod-php8.3 -
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
دارید، ایجاد فایل را رد کنید و در مرورگر خود به «localhost/phpinfo.php» بروید تا اطلاعات نسخه PHP را بررسی کنید. خروجی باید چیزی شبیه این باشد؛ دقت کنید که نسخه درست در title صفحه نمایش داده شود:
لطفاً صفحه phpinfo را بررسی کنید؛ این صفحه همه extensionهای PHP موردنیاز را فهرست میکند.
-
extension مربوط به MySQL برای PHP ۸.۳ را نصب کنید
apt-get install php8.3-phpdbg -y -
Apache را restart کنید
systemctl restart apache2
نکات مهم پیش از نصب #
#
از TestRail ۷.۱ به بعد، TestRail به MySQL یا MariaDB و همچنین driverهای مرتبط نیاز دارد.
نصب پیشنیازها #
برای استفاده از TestRail روی یک سرور مبتنی بر Unix همراه با MySQL، extensionهای PHP زیر لازم هستند:
- extension gd در PHP برای تولید نمودارها
- extension mysql در PHP برای دسترسی به database
- extension fileinfo در PHP برای تشخیص نوع فایل و encoding
- extension imagick در PHP برای کار با تصویرها
- extension mbstring در PHP برای کار با رشتههای Unicode
- extension curl در PHP برای بررسی updateها و موارد مشابه
- extension openssl در PHP برای مدیریت اتصالهای SSL
بیشتر extensionها بهصورت پیشفرض نصب میشوند، اما
mbstring، gd و imagick باید بهصورت دستی نصب شوند.
این کار را میتوانید با دستور زیر انجام دهید:
$ apt-get -y install php8.3-imagick php8.3-mbstring php8.3-gd
بسته به operating system و platform، extensionهای PHP مربوط به mysql و curl باید از طریق package manager همان platform نصب شوند و در فایل پیکربندی PHP.ini فعال شوند. برای مثال، دستور زیر این extensionها را روی سیستمهای Debian/Ubuntu نصب میکند:
$ sudo apt-get install php8.3-mysql php8.3-curl php8.3-mbstring php8.3-xml php8.3-gd php8.3-zip -y
در بعضی سیستمها، این moduleها باید در فایل پیکربندی 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/ را هم تغییر دهید.
بیشتر extensionهای PHP معمولاً مستقیماً داخل PHP یکپارچه شدهاند و نیازی به نصب module خارجی ندارند. با این حال، اگر در TestRail برای یکی از این moduleها پیام missing dependency دیدید، باید آن را هم به نصب PHP خود اضافه کنید؛ برای مثال با نصب module مربوط به php8.۳-curl.
نصب ionCube #
آخرین extension موردنیاز PHP، loader رایگان ionCube برای PHP است. میتوانید edition مناسب ionCube برای operating system خود را از اینجا دانلود کنید وبسایت 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.3.so
اگر مطمئن نیستید کدام extension مربوط به ionCube را باید برای سیستم سرور خود فعال کنید، اسکریپت loader-wizard.php را در دایرکتوری web server کپی کنید، آن را از طریق مرورگر باز کنید و دستورالعملهای نصب را دنبال کنید. پس از نصب extensionها، web server را restart کنید تا extensionهای تازه نصبشده load شوند.
برای بررسی اینکه extension مربوط به ionCube loader با موفقیت نصب شده است، میتوانید php -v را اجرا کنید. توجه داشته باشید که PHP command line interface ممکن است از فایل پیکربندی متفاوتی نسبت به نسخه PHP استفادهشده توسط web server استفاده کند. مطمئن شوید ionCube در همه فایلهای پیکربندی PHP.ini مرتبط فعال شده باشد. اگر خروجی php -v چیزی شبیه نمونه زیر باشد، یعنی extension مربوط به ionCube loader با موفقیت نصب شده است؛ به خط ionCube PHP Loader توجه کنید:
PHP 8.3.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.3.2-1ubuntu2.10, Copyright (c), by Zend Technologies
#
نکته درباره SELinux: اگر SELinux روی سیستم شما فعال باشد (که معمولا در RedHat و توزیعهای لینوکس مشابه دیده میشود)، ممکن است Apache و/یا PHP به دلیل محدودیتهای دایرکتوری نتوانند ionCube یا فایلهای دیگر را load کنند. اگر با این مشکل روبهرو شدید، بسته به نیازهای خود میتوانید پیکربندی SELinux را تنظیم کنید یا SELinux را غیرفعال کنید.
نصب وابستگی Chrome Headless Shell #
-
terminal دلخواه خود را باز کنید و این دستور را اجرا کنید:
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 را unzip و منتقل کنید. اکنون میتوانید binary را unzip کنید و آن را به مسیر دلخواه خود منتقل کنید. مسیر مقصد 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


