TestRail ۹.۸.۱ برای همه مشتریان Server در دسترس است. مشتریانی که میخواهند به TestRail ۹.۸.۱ یا نسخههای قدیمیتر ارتقا دهند، میتوانند فایلهای نصب را از TestRail Billing Portal دانلود کنند.
ℹ️ نکته مهم:
از TestRail ۹.۵.۱ Server به بعد، Cassandra رسماً deprecated شده و این محدودیت اعمال میشود.:
-
ادمینها باید ابتدا اسکریپت deprecation مربوط به Cassandra را در نسخه ۹.۴.۱ قبل از
ارتقا به نسخههای جدیدتر اجرا کنند. -
اگر اسکریپت اجرا نشده باشد، ارتقا به نسخههای جدیدتر
مسدود
میشود و یک پیام هشدار نمایش داده میشود
در طول فرایند ارتقا.👉 لطفاً
مستندات Cassandra Deprecation
ما را بررسی کنید.
مبتنی بر Unix، از جمله Linux، بخش زیر را ببینید. همچنین
requirements را ببینید تا درباره سیستمعاملها و سیستمهای سرور پشتیبانیشده بیشتر بدانید.
آمادهسازی سرور #
TestRail نیاز دارد که یک web server، یک database مبتنی بر SQL (MySQL) و
یک محیط
PHP فعال روی سرور
نصب شده باشد. با اینکه دستورالعمل نصب Linux، Apache، MySQL
و PHP (که معمولاً به آن LAMP گفته میشود) خارج از محدوده
این راهنمای نصب است، راهنماهای کاربردی خوبی برای
نصب
سیستم LAMP روی سیستمهای محبوب Linux و Unix در
اینترنت موجود است:
نصب LAMP روی Ubuntu: #
برای نصب روی Ubuntu، مراحل زیر را دنبال کنید:
-
MySQL را نصب کنید
apt-get -y install mysql-server mysql-clientنصب mysql را ایمنسازی کنید. توصیه میشود وقتی از شما خواسته شد،
اجازه دهید کاربران ناشناس حذف شوند و database آزمایشی هم حذف شود.
مطمئن شوید اجازه میدهید برنامه privilege tables را دوباره بارگذاری کند.mysql_secure_installationMySQL بهصورت پیشفرض کاربر root را ایجاد میکند. برای ایجاد کاربران جدید،
با دستور زیر وارد
کنسول MySQL شوید.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 -
داخل بلاک `<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 را 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 را بررسی کنید. خروجی باید
چیزی شبیه به این باشد. توجه داشته باشید که نسخه درست
در عنوان صفحه
نمایش داده میشود:
لطفاً صفحه phpinfo را بررسی کنید؛ این صفحه همه extensionهای PHP موردنیاز را فهرست میکند.
-
extension مربوط به MySQL برای PHP ۸.۱ را نصب کنید
sudo apt-get install php8.1-phpdbg -y -
Apache را restart کنید
systemctl restart apache2
نکات مهم پیش از نصب #
#
از TestRail ۷.۱ به بعد، TestRail به MySQL یا MariaDB
و همچنین driverهای مرتبط نیاز دارد.
نصب پیشنیازها #
برای استفاده از TestRail روی یک سرور Unix-based همراه با MySQL،
extensionهای PHP
زیر موردنیاز هستند:
- extension gd در PHP برای ساخت chartها
- 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.1-imagick php8.1-mbstring php8.1-gd
بسته به سیستمعامل و platform، ممکن است لازم باشد
extensionهای PHP مربوط به 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
در بعضی سیستمها، این 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
را
در directory مربوط به /etc/php/۸.۱/cli/ هم تغییر دهید.
بیشتر extensionهای PHP معمولاً مستقیماً داخل PHP قرار دارند
و
نیازی به نصب module جداگانه ندارند. بااینحال، اگر در TestRail برای یکی از این moduleها
پیام missing dependency
دیدید، باید آن را هم
به
نصب PHP خود اضافه کنید؛ برای مثال با نصب module مربوط به php8.۱-json.
نصب ionCube #
آخرین extension موردنیاز PHP، loader رایگان ionCube برای PHP است. میتوانید
نسخه مناسب 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 را restart کنید تا 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 را غیرفعال کنید.
نصب dependency مربوط به 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 را از حالت فشرده خارج کنید و آن را به محل دلخواه خود منتقل کنید. محل انتقال binary را یادداشت کنید، چون باید این مسیر را به پیکربندی TestRail اضافه کنید.
unzip chrome-headless-shell-linux64.zip sudo mv chrome-headless-shell-linux64 /usr/bin/ -
Permissionها را تنظیم کنید. مطمئن شوید 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


