Разворачиваем TestRail на Linux (Debian) + настройка веб-сервера

Разворачиваем TestRail на Linux (Debian) + настройка веб-сервера

По разным причинам может наступить момент, когда нам необходимо развернуть TestRail на своём сервере, а не держать его в облаке у разработчиков данной системы. Рассмотрим вариант разворачивания системы на Debian.

Все команды, которые будут упоминаться здесь мы будем выполнять в терминале. С сервером работаю по SSH с помощью программы «putty», которая позволяет вставлять в терминал скопированные данные (по нажатию на правую кнопку мыши). Это удобно особенно когда надо в редактор файлов вставлять много текста, чтобы его не набирать руками. На данный момент будет использоваться Debian 8.9. Он установлен чистый без всяких дополнений и веб-серверов, поэтому разворачивание системы будем проводить поэтапно: 1. Установка и настройка apache, Maria DB (тот же MySQL), php, phpMyAdmin в Debian 2. Установка TestRail на Debian.

Установка и настройка apache, Maria DB, php, phpMyAdmin в Debian

Мой сервер в локальной сети имеет IP = 192.168.1.150 далее с ним и будем работать и по тексту будем писать «IP».

sudo apt install apache2

Проверяем, что Apache установился, для этого переходим в браузере по IP нашего сервера и видим следующее:

Устанавливаем Maria DB

sudo apt install mariadb-server mariadb-client

После установки настроим Maria DB, для этого вводим команду:

На первый запрос ввода пароля для root ничего не вводим, если во время установки не указывали пароль для root и нажимаем Enter, иначе вводим пароль для root. Далее как на скриншоте:

sudo apt install php5-common libapache2-mod-php5 php5-cli

После установки PHP нам необходимо перезапустить apache:

sudo service apache2 restart

Теперь проверим установку PHP.

Перейти в каталог, где хранятся страницы сайта по умолчанию:

Создадим файл с помощью редактора NANO:

sudo nano info.php

Пропишем в файле:

Сохраним «CTRL + O», закроем «CTRL + X».

Перейдём по адресу «IP/info.php» и увидим следующее:

Удалим этот файл (для безопасности):

sudo rm -i /var/www/html/info.php

Настраиваем PHP под TestRail

Данный раздел нужен только, если вы далее будете устанавливать TestRail.

Для TestRail необходимо установить «ionCube PHP Loader». Для этого определяем версию Debian (32-х или 64-х разрядная):

У меня 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. Узнаём свою версию PHP:

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

php -i | grep extension_dir

У вас может быть другой путь. Копируем требуемую нам версию ionCube в требуемый нами каталог (для моего случая так):

sudo cp /tmp/ioncube/ioncube_loader_lin_5.6.so /usr/lib/php5/20131226/

Вы у себя цифру «5.6» заменяете на свою версию PHP, а также правите в пути «20131226» на свой.

Теперь подключим данное расширение в PHP. Правим следующие php.ini файлы:

sudo nano /etc/php5/apache2/php.ini sudo nano /etc/php5/cli/php.ini

Допишем в самом начале этих файлов:

Сохраним и закроем.

Ещё необходимо установить cURL. Устанавливаем:

sudo apt install php5-curl

После всех манипуляций обязательно перезапустим apache:

sudo service apache2 restart

sudo apt install phpmyadmin

Далее установщик по очереди у нас запросит: — указать с каким сервером будем работать (указать «apache2»); — разрешения на создания новой базы данных для хранения настроек phpMyAdmin (соглашаемся); — ввести пароль пользователя root MySQL (указываем); — придумать пароль для доступа phpMyAdmin к своей базе (придумываем).

После установки phpMyAdmin нам необходимо подключить в настройках apache файл настроек phpMyAdmin. Открываем на редактирование настройки apache:

sudo nano /etc/apache2/apache2.conf

Прописать в конце файла строку:

Сохраним «CTRL + O», закроем «CTRL + X».

sudo service apache2 restart

Проверяем работу phpMyAdmin, для этого переходим по адресу «IP/phpmyadmin» и видим:

Настраиваем Apache Virtual Hosts

Это нам необходимо, чтобы на одном сервере мы могли разворачивать любое количество сайтов и чтобы к каждому сайту мы могли обратиться по доменному имени, а не по IP (пример: victorz.ru). В нашем случае система будет в локальной сети, поэтому мы будем настраивать домен с именем «testrail.local».

Создаём каталог для будущего сайта:

sudo mkdir -p /var/www/testrail.local/public_html

Текущему пользователю назначаем права на этот каталог:

sudo chown -R $USER:$USER /var/www/testrail.local/public_html

Переменная $USER автоматически примет значение текущего пользователя, под которым мы сейчас работаем.

Назначаем всем соответствующие права на корневой каталог www:

sudo chmod -R 755 /var/www

Создаём файл настроек нашего сайта для apache:

sudo nano /etc/apache2/sites-available/testrail.local.conf

Сохраним «CTRL + O», закроем «CTRL + X».

Теперь включим наш новый сайт (включим новый файл виртуального хоста), для этого выполним команду:

sudo a2ensite testrail.local.conf

Отключим сайт по умолчанию, который определяется с помощью файла настроек 000-default.confс:

sudo a2dissite 000-default.conf

Получим сообщение об отключении:

sudo systemctl restart apache2

Теперь надо убедиться, что сайт работает.

Пропишите у себя на компьютере (не на настраивамом сервере) в файле «hosts» следующее:

Укажите IP своего настраиваемого сервера, я в примере указал IP своего сервера. Файл «hosts» в Windows находится по пути «c:\Windows\System32\drivers\etc\ hosts». В Linux по пути «/etc/hosts».

Далее создадим проверочный файл на сервере в каталоге нашего сайта:

Пропишем в файле, что угодно, к примеру «WORK».

Сохраним «CTRL + O», закроем «CTRL + X».

Переходим в браузере по адресу «testrail.local» и видим, что сайт работает:

Удаляем файл проверки, так как туда будет загружен TestRail:

rm -i /var/www/testrail.local/public_html/index.html

Теперь приступим к разворачиванию TestRail.

Установка TestRail на Debian

Получаем дистрибутив с официального сайта (gurock.com/testrail). Копируем данные, которые скачали в каталог «/var/www/testrail.local/public_html» (не архив, а распакованные даные).

Заходим в phpmyadmin по адресу «IP/phpmyadmin» с учётной записью администратора базы данных (root). Создаём базу данных «testrail» и создаём учётную запись «user_testrail», которая имеет полный доступ только к базе данных «testrail», но без глобальных привилегий:

Здесь не будем расписывать, как создавать базы данных и пользователей через phpmyadmin.

Создаём каталоги TestRail для вложений, логов и отчётов:

sudo mkdir -p /var/www/testrail.local/logs sudo mkdir -p /var/www/testrail.local/reports sudo mkdir -p /var/www/testrail.local/attachments

Устанавливаем требуемые права на данные каталоги:

sudo chmod -R 777 /var/www/testrail.local/logs sudo chmod -R 777 /var/www/testrail.local/reports sudo chmod -R 777 /var/www/testrail.local/attachments

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

На следующем шаге проверяем что всё правильно указали и нажимаем «Install».

TestRail вам сообщит, что не смог записать настройки в файл в своём каталоге и попросит сохранить файл настроек вручную. Для этого создаём его:

Вставляем, то что просит TestRail в данный файл, сохраняем и закрываем:

Теперь нам необходимо настроить планировщик, который будет ежеминутно с помощью PHP запускать файл «task.php» (зайдите в TestRail, и он вам об этом сообщит):

Для этого настроим «cron». Определим, по какому пути у нас находится php (далее нам понадобится):

Открываем на редактирование файл с задачами cron-а, которые запускаются от имени администратора системы:

Сохраняем и закрываем. Данные запишутся в файл «root» в каталоге «/var/spool/cron/crontabs».

sudo service cron restart

Минуту ждём и в TestRail видим, что у нас каждую минуту стартует задание:

TestRail отправляет почту, формирует отчёты при запуске заданий и если мы не настроим, то не будут формироваться отчёты, которые мы будем в дальнейшем формировать, а также не будет отправляться почта из системы.

📎📎📎📎📎📎📎📎📎📎