В одной из статей мы с вами разбирали установку TestRail на Debian. В данной статье разберём установку TestRail на CentOS 7.
В статье будут рассмотрены следующие вопросы:
- Открытие портов в CentOS
- Установка Apache в CentOS
- Установка и настройка MariaDB в CentOS
- Установка PHP в CentOS
- Установка «ionCube PHP Loader»
- Создание каталогов и назначение прав доступа в CentOS
- Настройка Apache Virtual Hosts в CentOS
- Установка TestRail в CentOS
- Настройка планировщика задач TestRail в CentOS
Все команды выполнять буду из-под учётной записи «root», поэтому в строке команд нет команды «sudo». Если вы выполняете команды под другой учётной записью, то в начале каждой строки дописывайте sudo. Пример:
- У меня: yum -y update
- У вас: sudo yum -y update
Перед выполнением всех дальнейших манипуляций проведём обновление установленных пакетов:
yum -y update
Установим редактор «nano», так как в нём будем редактировать и создавать файлы:
yum -y install nano
Установим «wget», который в дальнейшем нам понадобится для скачивания ionCube:
yum -y install wget
Открытие портов в CentOS
Если у вас установлен на CentOS файрволл/брандмауэр, то необходимо обязательно открыть порты, по которым будет обращение к системе TestRail. Мы ничего менять на сервере не будем, поэтому доступ будет к системе по стандартному порту (80).
Выполним в терминале по порядку команды:
firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --reload
Если будет ошибка, в которой говорится, что команда не найдена, то скорее всего у вас не установлен файрволл и нет необходимости открывать порты.
Установка Apache в CentOS
Для установки Apache выполняем команды:
yum -y install httpd httpd-devel
systemctl enable httpd.service
apachectl start
Что сделали:
1. Установили.
2. Добавили Apache в автозагрузку.
3. Запустили Apache.
Проверим работу Apache. Создадим файл с любым содержимым:
nano /var/www/html/index.html
Сохранить и закрыть «Ctrl + O», «Enter», «Ctrl + X».
Открыть созданный файл в браузере перейдя по ссылке:
http://192.168.56.101/index.html
Я указал IP своего сервера и далее в статье буду указывать его, вы указываете IP своего сервера.
Если не открылась страница, то ищите причину, а у кого открылась идём дальше.
Установка и настройка MariaDB в CentOS
Выполним команды:
yum -y install mariadb-server mariadb-client
systemctl enable mariadb
systemctl start mariadb
systemctl status mariadb
Мы сделали следующее:
1. Установили.
2. Добавили в автозагрузку.
3. Запустили.
4. Проверили статус (в окне терминала должна присутствовать надпись «active (running)» зелёного цвета).
Проведём первичную настройку:
mysql_secure_installation
На запрос пароля просто жмём «Enter»:
Enter current password for root (enter for none):
Далее:
Set root password? [Y/n] y
И устанавливаем новый пароль для администратора базы данных (для учётки «root» базы данных).
Далее:
Remove anonymous users? [Y/n] y
Disallow root login remotely? [Y/n] n
Remove test database and access to it? [Y/n] y
Reload privilege tables now? [Y/n] y
Настроили.
Теперь создадим базу данных «testrail» и учётку к этой базе:
mysql -u root -p123456
CREATE DATABASE testrail;
CREATE USER 'testrailuser'@'localhost' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON testrail.* TO 'testrailuser'@'localhost' IDENTIFIED BY '123456';
FLUSH PRIVILEGES;
exit
Мы сделали следующее:
1. Вошли в консоль MariaDB.
2. Создали базу.
3. Создали пользователя.
4. Назначили пользователю права на созданную базу данных.
5. Обновили привилегии.
6. Вышли из консоли MariaDB.
123456 – пароли для наглядности, вы задаёте свои пароли и пароли должны быть надёжными.
Проверьте корректность созданной учётной записи:
mysql -u testrailuser -p123456
exit
Должны успешно войти в консоль MariaDB.
Установка PHP в CentOS
Я здесь устанавливаю PHP по умолчанию. Вы можете установить самую последнюю версию.
Устанавливаем PHP и модули для него:
yum -y install php php-mysql php-common php-gd php-mbstring php-mcrypt php-devel php-xml php-cli libapache2-mod-php php-curl
apachectl restart
Установка «ionCube PHP Loader»
Определяем версию CentOS (32-х или 64-х разрядная):
uname -a
Получим:

У меня 64-х разрядная.
x86_64 = 64-х разрядная
i386 = 32-х разрядная
Скачиваем и распаковываем архив с «ionCube PHP Loader»:
Для 64-х разрядной:
cd /tmp
wget http://downloads3.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz
tar xfz ioncube_loaders_lin_x86-64.tar.gz
Для 32-х разрядной:
cd /tmp
wget http://downloads3.ioncube.com/loader_downloads/ioncube_loaders_lin_x86.tar.gz
tar xfz ioncube_loaders_lin_x86.tar.gz
Распакуется в папку «/tmp/ioncube». В папке будет множество файлов для различных версий PHP.
Просматривать быстро содержимое папок можно с помощью «mc» (установите, если не установлен).
Узнаём свою версию PHP:
php -v

Узнаём, где находится каталог с дополнениями PHP:
php -i | grep extension_dir
У меня:

Копируем требуемую нам версию ionCube в требуемый нами каталог (для моего случая так):
cp /tmp/ioncube/ioncube_loader_lin_5.4.so /usr/lib64/php/modules/
Теперь подключим данное расширение в PHP. Правим следующие php.ini файлы:
nano /etc/php.ini
Допишем в самом начале (в моём случае):
zend_extension = /usr/lib64/php/modules/ioncube_loader_lin_5.4.so
Сохраним и закроем. Перезапустим Apache:
apachectl restart
Создание каталогов и назначение прав доступа в CentOS
Создадим каталог будущего сайта вместе со служебными каталогами TestRail:
chmod -R 755 /var/www
mkdir -p /var/www/testrail.local/logs
mkdir -p /var/www/testrail.local/reports
mkdir -p /var/www/testrail.local/attachments
chmod -R 777 /var/www/testrail.local
Сделали:
1. Назначили права на каталог.
2. Создали каталоги.
3. Назначили права на каталог.
Домены прописывайте свои я указал «testrail.local».
Настройка Apache Virtual Hosts на CentOS
Пример, который я ниже буду показывать прост и удобен.
Нужно создать каталоги для хранения виртуальных хостов и включения сайтов. Каталог «sites-available» должен содержать файлы виртуальных хостов. Каталог «sites-enabled» должен содержать символические ссылки на виртуальные хосты, которые нужно включить.
mkdir /etc/httpd/sites-available
mkdir /etc/httpd/sites-enabled
Веб-сервер Apache должен искать виртуальные хосты в каталоге sites-enabled. Отредактируем файл настроек:
nano /etc/httpd/conf/httpd.conf
Вписать в конце файла:
IncludeOptional sites-enabled/*.conf
Сохранить и закрыть.
Создать файл виртуального хоста:
nano /etc/httpd/sites-available/testrail.local.conf
Вписать:
ServerName www.testrail.local
ServerAlias testrail.local
DocumentRoot /var/www/testrail.local
Сохраните и закройте.
Создав файл виртуального хоста, нужно включить его. Для этого создайте символическую ссылку для хоста в каталоге «sites-enabled» и перезагрузите Apache:
ln -s /etc/httpd/sites-available/testrail.local.conf /etc/httpd/sites-enabled/testrail.local.conf
apachectl restart
Если сайт находится в локальной сети, и вы хотите, чтобы он был доступен с локальной машины, то попросите вашего администратора сети прописать его в зоне DNS.
Если вы всё проделываете в домашних условиях, то пропишите у себя на компьютере (не на настраиваемом сервере) в файле «hosts» следующее (домен свой указываете):
192.168.56.101 testrail.local
И сайт станет доступен в локальной сети.
Установка TestRail в CentOS
Получаем дистрибутив с официального сайта (gurock.com/testrail). Копируем данные, которые скачали в каталог «/var/www/testrail.local» (не архив, а распакованные данные).
Если в процессе установки у вас появляется ошибка как на картинке, то вам необходимо настроить SELinux или отключить его (на ваш выбор):

Отключение SELinux: отредактируйте файл «/etc/selinux/config» и установите для секции «SELINUX» режим «disabled». Перезагрузить систему.
Переходим по адресу testrail.local и далее всё по аналогии как на картинках (картинки кликабельны):





На следующем шаге проверяем что всё правильно указали и нажимаем «Install».
Если TestRail сообщит, что не смог записать настройки в файл в своём каталоге, то необходимо создать файл настроек вручную. Для этого создаём его:
nano /var/www/testrail.local/config.php
Вставляем в создаваемый файл, то что укажет установщик TestRail, сохраняем и закрываем:
Настройка планировщика задач TestRail в CentOS
Определяем по какому пути у нас находится PHP:
which php
Запоминаем путь.
Редактируем файл с задачами cron-а, которые запускаются от имени администратора системы:
nano /etc/crontab
Вписываем строку:
* * * * * root /usr/bin/php /var/www/testrail.local/task.php
Сохраняем и закрываем. Перезапустим cron:
systemctl restart crond.service
Через минуту в TestRail (в панели администратора) видим, что у нас каждую минуту будет запускаться планировщик и выполнять фоновые задания:

Установка завершена.
Спасибо за пост но есть вопрос стосовно ‘MariaDB’
соответственно требованиям (docs.gurock.com/testrail-admin/installation-requirements)
Database: MySQL 5.x (MariaDB is not currently supported)
здесь вижу: «Установка и настройка MariaDB в CentOS»
не возникнут здесь проблемы?
У нас в организации мы развернули по схеме описанной в статье и проблем нет. Всё работает без нареканий.
Ок! Спасибо Виктор, сегодня попробую развернуть соответственно вашим инструкциям.