В одной из статей мы с вами разбирали установку 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

Получим:

Установка TestRail на CentOS с нуля

У меня 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
Установка TestRail на CentOS с нуля

Узнаём, где находится каталог с дополнениями PHP:

php -i | grep extension_dir

У меня:

Установка TestRail на CentOS с нуля

Копируем требуемую нам версию 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 или отключить его (на ваш выбор):

Установка TestRail на CentOS с нуля

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

Переходим по адресу testrail.local и далее всё по аналогии как на картинках (картинки кликабельны):

Установка TestRail на CentOS с нуля
Установка TestRail на CentOS с нуля
Установка TestRail на CentOS с нуля
Установка TestRail на CentOS с нуля
Установка TestRail на CentOS с нуля

На следующем шаге проверяем что всё правильно указали и нажимаем «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 (в панели администратора) видим, что у нас каждую минуту будет запускаться планировщик и выполнять фоновые задания:

Установка TestRail на CentOS с нуля

Установка завершена.