آماده سازی سرور #
TestRail نیاز به یک وب سرور، یک پایگاه داده مبتنی بر SQL (MySQL)، یک پایگاه داده NoSQL (Cassandra ۳.۱۱) و یک محیط PHP کارآمد برای نصب روی سرور دارد. در حالی که دستورالعمل های نصب لینوکس، آپاچی، MySQL و PHP (که معمولاً به آنها گفته می شود لامپ) خارج از محدوده این راهنمای نصب است، راهنماهای عالی در مورد نحوه نصب یک سیستم LAMP در سیستم های محبوب لینوکس و یونیکس موجود در شبکه وجود دارد:
نکات مهم قبل از نصب #
#
از TestRail ۷.۱ به بعد، TestRail به هر دو پایگاه داده MySQL (یا MariaDB) و Cassandra به علاوه درایورهای مرتبط نیاز دارد.
نصب پیش نیازها #
برای استفاده از TestRail در سرور مبتنی بر یونیکس با MySQL & پایگاه داده Cassandra، پسوندهای PHP زیر مورد نیاز است:
- پسوند mysql PHP برای دسترسی به پایگاه داده
- برای بررسی بهروزرسانیها و غیره، پسوند PHP را بچرخانید.
- پسوند json PHP برای فایل های پیکربندی و ادغام
- پسوند mbstring PHP برای کار با رشته های یونیکد
- ioncube PHP loader برای رمزگشایی فایل های PHP TestRail
- پسوند xml PHP برای xml import/export
- پسوند zip PHP برای فشرده سازی پیوست های ایمیل
- پسوند zlib PHP که به شما امکان می دهد فایل های فشرده gzip (.gz) را به طور شفاف بخوانید و بنویسید (فقط برای مشتریان سازمانی لازم است).
- پسوند gd php برای تولید نمودار
همچنین باید درایور Cassandra را برای سیستم عامل نصب TestRail خود نصب کنید (اینجا را ببینید).
#
برای جزئیات بیشتر در مورد پیش نیازهای Cassandra و نصب/پیکربندی کامل، به دستورالعمل های نصب Cassandra مراجعه کنید.
بسته به سیستم عامل و پلتفرم، پسوندهای mysql و curl PHP باید (از طریق مدیر بسته پلتفرم) نصب و در فایل پیکربندی PHP.ini فعال شوند. به عنوان مثال، دستور زیر افزونه ها را در سیستم های Debian/Ubuntu نصب می کند:
$ sudo apt-get install php7.3-mysql php7.3-curl php7.3-json php7.3-mbstring php7.3-xml php7.3-gd php7.3-zip -y
در برخی از سیستمها، این ماژولها باید در فایل پیکربندی PHP.ini نیز فعال شوند (سیستمهایی مانند اوبونتو پس از نصب، پسوندها را بهطور خودکار فعال میکنند). برای انجام این کار، لطفاً خطوط زیر را به انتهای فایل پیکربندی اضافه کنید (مطمئن شوید که آنها قبلاً در PHP.ini فعال نشده باشند). در اکثر سیستم ها می توانید PHP.ini را در /etc/php7.۳، /etc/php یا /etc/php7.۳/apache2 پیدا کنید:
extension=mysql.so
extension=curl.so
پسوندهای json و mbstring معمولاً مستقیماً در PHP ادغام می شوند و نیازی به ماژول خارجی برای نصب ندارند. با این حال، اگر پیام وابستگی گم شده در TestRail را برای یکی از این ماژول ها مشاهده کردید، باید آن را به نصب PHP خود نیز اضافه کنید (به عنوان مثال با نصب یک ماژول php7.۳-json).
آخرین پسوند مورد نیاز PHP، بارگذار رایگان ionCube PHP است. می توانید نسخه ionCube مربوطه را برای سیستم عامل خود از اینجا دانلود کنید وب سایت ionCube. پس از دانلود و استخراج فایل ها در وب سرور خود، فایل ها را در دایرکتوری دلخواه خود قرار دهید، به عنوان مثال /opt/ioncube.
برای فعال کردن ionCube، پسوند ionCube loader مربوطه را به PHP.ini خود اضافه کنید. برای انجام این کار، مطمئن شوید که از دستورات پیکربندی zend_extension یا zend_extension_ts استفاده کرده و مسیر کامل به پسوند:
zend_extension=/opt/ioncube/ioncube_loader_lin_7.3.so
اگر از نسخه PHP دیگری استفاده می کنید (مثلاً PHP ۷.۴)، لطفاً نسخه مربوطه بارکننده ionCube را مشخص کنید. به عنوان مثال، برای PHP ۷.۴ باید به جای آن، بارگذار ionCube را به صورت زیر بارگیری کنید (به نسخه متفاوت در نام فایل توجه کنید):
zend_extension=/opt/ioncube/ioncube_loader_lin_7.4.so
اگر مطمئن نیستید که کدام افزونه ionCube را باید برای سیستم سرور خود فعال کنید، لطفاً اسکریپت loader-wizard.php را در فهرست راهنمای وب سرور خود کپی کنید و از مرورگر وب خود به آن دسترسی داشته باشید و دستورالعمل های نصب را دنبال کنید. پس از نصب برنامههای افزودنی، لطفاً وب سرور خود را مجدداً راهاندازی کنید تا برنامههای افزودنی تازه نصب شده بارگیری شوند.
با اجرای php -v میتوانید تأیید کنید که برنامه افزودنی لودر ionCube با موفقیت نصب شده است. لطفاً توجه داشته باشید که رابط خط فرمان PHP ممکن است از فایل پیکربندی متفاوتی نسبت به نسخه PHP استفاده شده توسط وب سرور شما استفاده کند. لطفاً مطمئن شوید که ionCube در تمام فایلهای پیکربندی مربوطه PHP.ini فعال است. اگر php -v چیزی شبیه به این را خروجی دهد، پسوند ionCube loader با موفقیت نصب شده است (به خط ionCube PHP Loader توجه کنید):
PHP 7.3.25 (cli) (built: Nov 24 2020 xx:xx)
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.25, Copyright (c) 1998-2018 Zend Technologies
with the ionCube PHP Loader v10.4.5, Copyright (c) 2002-2020, by ionCube Ltd.
#
نکته SELinux: اگر سیستم شما SELinux را فعال کرده است (اغلب در RedHat و توزیعهای لینوکس مشابه)، Apache و/یا PHP به دلیل محدودیتهای دایرکتوری ممکن است نتوانند ionCube یا فایلهای دیگر را بارگیری کنند. اگر با این مشکل مواجه شدید، بسته به نیاز خود میتوانید پیکربندی SELinux را تنظیم کنید یا SELinux را غیرفعال کنید.

