Интеграция iTop ITSM & CMDB и FreeIPA

Thank you for reading this post, don't forget to subscribe!

Оригинал статьи:

https://itdraft.ru/2021/07/16/ustanovka-itop-itsm-cmdb-v-centos-8-ili-rocky-linux/
https://itdraft.ru/2021/08/20/integracziya-itop-itsm-cmdb-i-freeipa/

Подготовка

Уста­нав­ли­ва­ем пакет ути­лит для авто­ма­ти­че­ской визу­а­ли­за­ции гра­фов, т.к. нам пона­до­бит­ся ком­по­нент /usr/bin/dot

$ sudo dnf -y install graphviz

Уста­нав­ли­ва­ем допол­ни­тель­ные утилиты

$ sudo dnf -y install wget nano unzip dnf-utils policycoreutils-python-utils

Установка web-сервера Nginx

Уста­нав­ли­ва­ем web-сер­вер NGINX. Для это­го добав­ля­ем репозиторий

Уста­нав­ли­ва­ем NGINX, добав­ля­ем его в авто­за­груз­ку и запус­ка­ем его. Про­ве­ря­ем ста­тус, задей­ство­ван ли порт 80/tcp

$ sudo dnf -y install nginx

$ sudo systemctl enable --now nginx

$ systemctl status nginx

$ ss -nltup

Настройка Firewall

Раз­ре­ша­ем под­клю­че­ние по пор­та­ми 80/tcp (http), 443/tcp (https)
$ sudo firewall-cmd --zone=public --add-service={http,https} --permanent

$ sudo firewall-cmd --reload

Установка php, настройка php-fpm

Добав­ля­ем репо­зи­то­рий Remirepo
$ sudo dnf -y install https://rpms.remirepo.net/enterprise/remi-release-8.rpm

Чистим мета­дан­ные, обновляемся
$ sudo dnf clean metadata

$ sudo dnf -y update

Вклю­ча­ем модуль remi-7.4 для уста­нов­ки PHP 7.4 из под­клю­чен­но­го репозитория
$ sudo dnf module list php

$ sudo dnf module enable php:remi-7.4

$ sudo dnf module list php

Уста­нав­ли­ва­ем PHP и необ­хо­ди­мые модули
$ sudo dnf -y install php php-fpm
$ sudo dnf -y install php-common php-cli php-mysqlnd php-mcrypt php-ldap php-soap php-json php-xml php-gd php-zip

Настра­и­ва­ем PHP
$ sudo sed -i 's@^short_open_tag = .*@short_open_tag = On@' /etc/php.ini

$ sudo sed -i 's@^date.timezone = .*@date.timezone = Europe/Moscow@' /etc/php.ini

$ sudo sed -i 's@^opcache.revalidate_freq= .*@opcache.revalidate_freq=0@' /etc/php.d/10-opcache.ini

Настра­и­ва­ем PHP-FPM. Меня­ем вла­дель­ца в кон­фи­ге php-fpm
$ sudo sed -i 's@^user = .*@user = nginx@' /etc/php-fpm.d/www.conf

$ sudo sed -i 's@^group = .*@group = nginx@' /etc/php-fpm.d/www.conf

$ sudo sed -i 's@^listen.owner = .*@listen.owner = nginx@' /etc/php-fpm.d/www.conf

$ sudo sed -i 's@^listen.group = .*@listen.group = nginx@' /etc/php-fpm.d/www.conf

Меня­ем вла­дель­ца ката­ло­гов (по умол­ча­нию сто­ит root:apache)
$ sudo chown -R root:nginx /var/lib/php/session

$ sudo chown -R root:nginx /var/lib/php/opcache

$ sudo chown -R root:nginx /var/lib/php/wsdlcache

Добав­ля­ем php-fpm в авто­за­груз­ку и запус­ка­ем сер­вис. Смот­рим статус
$ sudo systemctl enable --now php-fpm

$ sudo systemctl status php-fpm

Установка iTop, настройка Nginx

Созда­ем ката­лог для iTop

Ска­чи­ва­ем iTop

https://sourceforge.net/projects/itop/files/itop/2.7.4/iTop-2.7.4-7194.zip/download

Рас­па­ко­вы­ва­ем iTop
$ unzip iTop-2.7.4-7194.zip

Пере­ме­ща­ем рас­па­ко­ван­ный ката­лог web в /opt/itop и меня­ем владельца
$ sudo mv web /opt/itop/

$ sudo chown -R nginx:nginx /opt/itop/

Отклю­ча­ем дефолт­ный кон­фиг Nginx
$ sudo mv /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/default.disabled

Созда­ем новый кон­фиг Nginx

Про­ве­ря­ем кон­фиг Nginx на ошиб­ки и пере­за­пус­ка­ем web-сервер
$ sudo nginx -t

$ sudo systemctl restart nginx

Настройка SELinux

Добав­ля­ем раз­ре­ша­ю­щие пра­ви­ла для ката­ло­га /opt/itop/web
$ sudo chcon -R -t httpd_sys_rw_content_t /opt/itop/web

$ sudo setsebool -P httpd_can_network_connect on

$ sudo setsebool -P httpd_can_sendmail on

Устанавливаем сервер базы данных PerconaDB

Добав­ля­ем репо­зи­то­рий PerconaDB
$ sudo yum -y install https://repo.percona.com/yum/percona-release-latest.noarch.rpm

Выби­ра­ем для уста­нов­ки PerconaDB Server 8.0
$ sudo percona-release setup ps80

Чистим кэш, уста­нав­ли­ва­ем PerconaDB, доба­вя­лем сер­вис в авто­за­груз­ку и запус­ка­ем его. Про­ве­ря­ем версию
$ sudo dnf makecache

$ sudo dnf install -y percona-server-server

$ sudo systemctl enable --now mysqld.service

$ mysql -V

Смот­рим сге­не­ри­ро­ван­ный root-пароль
$ sudo grep "temporary password" /var/log/mysqld.log

Запус­ка­ем пер­во­на­чаль­ную настрой­ку PerconaDB
$ sudo mysql_secure_installation

Меня­ем root-пароль на новый и отве­ча­ем на вопросы

Либо можно установить сервер базы данных MariaDB

Уста­нав­ли­ва­ем MariaDB, доба­вя­лем сер­вис в авто­за­груз­ку и запус­ка­ем его. Смот­рим ста­тус. Про­ве­ря­ем задей­ство­ван ли порт 3306/tcp
$ sudo dnf install mariadb-server mariadb -y

$ sudo systemctl enable --now mariadb

$ systemctl status mariadb

$ ss -nltup

Запус­ка­ем пер­во­на­чаль­ную настрой­ку MariaDB
$ sudo mysql_secure_installation

Уста­нав­ли­ва­ем root-пароль, отве­ча­ем на вопросы

Создаем новую базу и пользователя

Под­клю­ча­ем­ся к СУБД PerconaDB / MariaDB
$ mysql -u root -p

Смот­рим пред­уста­нов­лен­ные базы, про­ве­ря­ем версию
> show databases;

> select version();

Созда­ем базу и поль­зо­ва­те­ля с паро­лем для iTop

Настройка iTop

Далее откры­ва­ем бра­у­зер, пере­хо­дим по задан­но­му адре­су (в дан­ном слу­чае: http://itop.test.ru) и настра­и­ва­ем iTop. Зада­ем пара­мет­ры под­клю­че­ния к базе, какие допол­не­ния ста­вить и т.д.

В даль­ней­шем будет рас­смот­ре­на инте­гра­ция iTop со служ­бой ката­ло­гов FreeIPA, сброс пароль адми­на, настрой­ка e-mail уве­дом­ле­ний и уста­нов­ка рас­ши­ре­ний как из мага­зи­на при­ло­же­ний, так и в руч­ном режиме.

 

=====================================================================================================

Интеграция iTop ITSM & CMDB и FreeIPA

 

Для инте­гра­ции iTop и FreeIPA необ­хо­ди­мо заве­сти во FreeIPA сер­вис­ный акка­унт (напри­мер: itopsv), и отре­дак­ти­ро­вать кон­фи­гу­ра­ци­он­ный файл config-itop.php

Далее в web-админ­ке iTop в раз­де­ле «Управ­ле­ние кон­фи­гу­ра­ци­я­ми» созда­ем новый кон­такт (тип: Персона)

Запол­ня­ем необ­хо­ди­мые поля

Далее пере­хо­дим в раз­дел «Инстру­мен­ты адми­ни­стра­то­ра — Учет­ные запи­си» и созда­ем новую учет­ную запись (тип: Поль­зо­ва­тель LDAP)

В стро­ке «Пер­со­на» надо выбрать поль­зо­ва­те­ля (кото­ро­го мы созда­ва­ли на преды­ду­щем шаге)
В стро­ке «Логин» про­пи­сы­ва­ем логин из FreeIPA

Если iTop не может полу­чить поль­зо­ва­те­лей FreeIPA, все ошиб­ки отоб­ра­жа­ют­ся в лог-фай­ле error.log:

$ tail -f /opt/itop/web/log/error.log