Ниже описаны шаги по базовой становке системы itop, в Windows + Docker.
Вкратце об Itop:
iTop ITSM & CMDB — это веб-продукт с открытым исходным кодом, предназначенный для автоматизации ИТ-подразделений предприятий и сервис провайдеров. iTop разработан на основе лучших практик ITIL/ITSM и в то же время является достаточно гибким, чтобы адаптироваться к процессам вашей организации. iTop позволит вам организовать:
-
Управление инцидентами и запросами на обслуживание
-
Управление проблемами, изменениями и знаниями
-
Управление активами и конфигурациями
-
Управление уровнем сервиса, каталогом услуг и поставщиками
Содержание гайда:
/**/
Установка Itop
Установка Itop в Ubuntu
-
For installation instructions, please refer to:
https://wiki.openitop.org/doku.php?id=latest:install:start
-
Run the following commands to install iTop on Ubuntu 20.04, with PHP 7.4 and MariaBD:
install.sh
sudo apt-get update sudo apt-get install apache2 mariadb-server php7.4 php7.4-mysql php7.4-ldap php7.4-cli php7.4-soap php7.4-json graphviz php7.4-xml php7.4-gd php7.4-zip php7.4-fpm php7.4-mbstring acl wget https://sourceforge.net/projects/itop/files/latest/download -O /tmp/itop.zip sudo unzip /tmp/itop.zip "web/*" -d /var/www/html/itop sudo mv /var/www/html/itop/web/* /var/www/html/itop sudo rmdir /var/www/html/itop/web sudo setfacl -dR -m u:"www-data":rwX /var/www/html/itop/data /var/www/html/itop/log sudo setfacl -R -m u:"www-data":rwX /var/www/html/itop/data /var/www/html/itop/log sudo mkdir /var/www/html/itop/conf /var/www/html/itop/env-production /var/www/html/itop/env-production-build sudo chown www-data: /var/www/html/itop/conf /var/www/html/itop/env-production /var/www/html/itop/env-production-build
тут все просто, ставится автоматом камандами выше; но у нас Windows , значит прийдется помучиться и руками доконфигурировать все … (см. гайд ниже)
Установка ITop в Windows (через Docker)
-
Установку будем делать по видео-гайду:
iTop + Docker = установка за 5 минут (видео в доказательство)
https://community.itop-itsm.ru/t/itop-docker-ustanovka-za-5-minut-video-v-dokazatelstvo/406 (пост на формуе сообщества iTop ITSM & CMDB по-русски) -
Само ВИДЕО: Установка Combodo iTop с помощью Docker https://youtu.be/2jgFgsgO9Po
-
https://hub.docker.com/r/vbkunin/itop/ – нужный нам образ iTop в Docker — качаем тут
-
http://www.combodo.com/itop-193 – Combodo iTop
-
https://www.docker.com/products/ – Docker
Установка по шагам
-
Качаем/ставим контейнер:
docker run -d -p 8000:80 --name=my-itop vbkunin/itop
Ставится норм:
-
Проверяем:
docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES b557aeaa45e7 vbkunin/itop "/sbin/my_init" 3 minutes ago Up 3 minutes (health: starting) 3306/tcp, 0.0.0.0:8000->80/tcp my-itop
-
Откр. в браузере: http://localhost:8000/
-
Заполняем тут все по шагам как в видео выше:
-
соглашения
-
Настройки БД
логин / пароль тут получаем с помощью команды:
docker logs my-itop | grep -A7 -B1 "Your MySQL user 'admin' has password:"
Your MySQL user 'admin' has password: WDpjHtYag0R8 You can now connect to this MySQL Server using: mysql -uadmin -pWDpjHtYag0R8 -h<host> -P<port> Please remember to change the above password as soon as possible!
в винде прийдется выгрузить лог в файл и там уже поискать, т.к. нет команды
grep
:
docker logs my-itop > out.txt
ищем в файле out.txt
пароль нужный по фразе Your MySQL user 'admin' has password
-
Логин/пароль админа: (придумываем/запоминаем пароль)
-
тут все как есть оставляем:
-
Все галочки
-
Enterprize version
-
тут тоже по дефолту
-
Manage changes
-
Тикеты по обработке ошибок — поставим:
-
Подтверждаем установку
-
Ура, все поставилось:
Дополнительно: создаем техн. пользователя для cron
-
Создаем нового
-
Данные юзера
-
Доб ему профиль админа во вкладке Профили:
-
Добавляем cron-tasks:
docker exec my-itop /setup-itop-cron.sh Cron 123
Ok, теперь каждые 5 минут cron будет запускаться:
The following job has been added to cron (/etc/cron.d/itop): */1 * * * * www-data /usr/bin/php /var/www/html/webservices/cron.php --auth_user=Cron --auth_pwd=123 >> /var/www/html/log/cron.log 2>&1
Проброс Volume
Нужно, чтобы запомнить состояние машины: чтобы при очередном запуске контейнера, у нас запустилась система с последнего состояния, а не с шага “установки с нуля”.
Проброс в Desktop
(при старте контейнера через Run >
, удобно):
Проброс через консоль
Важно: направление монтирования:
Кроме того, монтирование томов выполняется только в одном направлении: от хоста к контейнеру, а не наоборот…. На самом деле ничего не удаляется и не перезаписывается в целевом каталоге, но из-за природы контейнеров это фактически означает, что он будет переопределен на время существования контейнера.
Придется скопировать все файлы с контейнера на хост-машину командой:
docker cp b557aeaa45e7:/var/www/html D:OSPaneldomainsitop
и далее их монтировать (и изменять, возможно), готово:
Successfully copied 119MB to D:OSPaneldomainsitop
пробрасываем файлы БД и исходники, как тут :
docker volume create itop-mysql-data
удалям через:
docker volume ls
docker volume rm itop-mysql-data
Полезные команды для Docker Itop
* Список текущих образов
docker images
* Команда установки (c запоминанием состояния БД)
docker run -d -p 8000:80 --name=itop -v itop-mysql-data:/var/lib/mysql vbkunin/itop
* Команда установки Itop (с пробросом всех volume)
docker run --name=itop --hostname=itop --mac-address=02:42:ac:11:00:02 --env=PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin --env=DEBIAN_FRONTEND=teletype --env=LANG=en_US.UTF-8 --env=LANGUAGE=en_US:en --env=LC_ALL=en_US.UTF-8 --volume=/var/lib/mysql --workdir=/var/www/html -p 8000:80 --restart=no --label='title=Docker image with editable iTop' --label='url=https://github.com/vbkunin/itop-docker' --label='version=1.0.1' --runtime=runc -d -v D:OSPaneldomainsitop:/var/www/html -v itop-mysql-data:/var/lib/mysql vbkunin/itop
Или сокращенно:
docker run --name=itop -d -p 8000:80 -p 3306:3306 -v D:OSPaneldomainsitop:/var/www/html -v itop-mysql-data:/var/lib/mysql vbkunin/itop
* Команда запуска ITOP
docker start itop
* Остановка контейнера
docker stop itop
* Просмотр логов запуска
docker logs itop > out.txt
* Запуск команд в контейнере Itop
docker exec -it itop bash
* Консоль БД Mysql
docker exec -it itop mysql -uadmin -pFM8KL1TKNj9N -hlocalhost -P3306
show tables; ERROR 1046 (3D000): No database selected MariaDB [(none)]> show databases; +--------------------+ | Database | +--------------------+ | itop | +--------------------+
Itop setup Troubleshoot
-
После перезапуска контейнера, процесс установки ITOP начинается сначала…
Решение: проброска портов и БД + start вместо run
-
Ошибка подключения к Mysql
iTop: An error occurred, check server error log for more information.
Uncaught MySQLException: Could not connect to the DB server: host = localhost, user = admin, mysql_errno = 1045, mysql_error = Access denied for user ‘admin’@’localhost’
(using password: YES) in /var/www/html/core/cmdbsource.class.inc.php:185
Советы: https://onedev.net/post/184
Подключение к IDE PhpStorm
Нам нужно пробросить папку с исходниками itop на хост-машину
Примеры: https://stackoverflow.com/questions/33848947/accessing-docker-container-files-from-windows
docker run -it -v C:UsersthomasDesktop:/root/home --name my_container image1
- Пробросили через
-v
, скопировали исходники себе черезdocker cp
Можем редактировать код:
Подключаемся к БД в контейнере из PHPStorm
Нужно порт пробросить как тут:
docker run -p 3306:3306 ...
Источники
-
Видео гайд по установке Itop: iTop + Docker = установка за 5 минут (видео в доказательство)
Остались вопросы? Пишите мне
PS: рекомендую к изучению курс Otus “DevOps практики и инструменты“, где учат всем особенностям работы с Doker/Kubertnetes/Devops
Нет Ответов