On this page you can find all GLPI documentation
Install & Update
Command line tools
Timezones
Advanced configuration
First Steps with GLPI
Overview of all modules
Configuration & Administration
Plugins & Marketplace
Source Code management
Coding standards
Developer API
Plugins Guidelines
Packaging
Installation (Windows / Linux / Mac OS / Source)
Configuration / Settings
Usage / Execution mode
Tasks / HTTP Interface / Plugins
Bug reporting / Man pages
Contribute to documentation:
Professional support for GLPI:
Install and configure!
Starting from 100 € per month.
Sign up and start working!
19€ per IT agent*/per month
Any questions? Get in touch with us!
Установка GLPI
Настройка fusioninventory plugin на сервере
Настройка fusioninventory-agent на клиенте
Первичная настройка GLPI
Основные разделы GLPI. Заявки
Основные разделы GLPI. Уведомления
Основные разделы GLPI. Интерфейс
Основные разделы GLPI. Автоматические действия
Основные разделы GLPI. SLA
Основные разделы GLPI. Автоматическое назначение заявок
Основные разделы GLPI. Отчет
Окружение
- Версия РЕД ОС: 7.3.1
- Конфигурация: Сервер графический
- Версия ПО: glpi-9.5.7-3
Gestionnaire libre de parc informatique (GLPI) — свободный менеджер ИТ-инфраструктуры — является системой работы с заявками и инцидентами, а также используется для инвентаризации компьютерного оборудования (компьютеры, программное обеспечение, принтеры и т.д.). Имеет расширенные функции, такие как работа системы отслеживания почты с уведомлением, методы для создания базы данных с основной информацией о топологии сети и т.д. GLPI — это веб-приложение, разрабатывающееся на PHP.
GLPI включает следующие возможности:
- инвентаризация компьютеров, периферийного оборудования, сетевых принтеров и связанных компонентов через интерфейс с OCS Inventory или FusionInventory;
- управление заявками и инцидентами;
- управление лицензиями, договорами (по стандарту ITIL);
- связывание пользователей и групп по географическому положению;
- управление деловой и финансовой информацией (договоры);
- управление статусом объектов;
- поддержка базы знаний и часто задаваемых вопросов (FAQ);
- генераторы отчетов;
- поддержка базы данных MySQL/MariaDB;
- поддержка UTF8;
- система оповещения о событиях.
GLPI позволяет увеличивать функциональность с помощью подключения плагинов.
Для установки необходимых пакетов откройте консоль и воспользуйтесь следующей командой (обратите внимание, что команды выполняются с правами администратора):
dnf install glpi mariadb mariadb-server php-pear-CAS php-ldap php-opcache php-apcu php-xmlrpc php-zip php-sodium
Выполните команду переразметки SELinux:
touch /.autorelabel
Инициализация БД – запомните пароль, создающийся для root-пользователя БД. На вопросы по умолчанию отвечайте «Y».
systemctl enable --now mariadb
/usr/bin/mysql_secure_installation
mysql -u root -p
CREATE USER 'glpi'@'%' IDENTIFIED BY 'glpiDBSecret'; GRANT USAGE ON *.* TO 'glpi'@'%' IDENTIFIED BY 'glpiDBSecret'; CRE ATE DATABASE IF NOT EXISTS `glpi` ; GRANT ALL PRIVILEGES ON `glpi`.* TO 'glpi'@'%'; FLUSH PRIVILEGES; EXIT
Проверка соединения с БД осуществляется командой:
mysql -uglpi -pglpiDBSecret glpi
exit
Далее запустите веб-сервис командой:
systemctl enable --now httpd
Назначьте права на директорию:
chown -R apache /usr/share/glpi
Настройка SELinux
SELinux должен находиться в режиме Enforcing, если SELinux установлен в какой-либо другой режим работы, необходимо самостоятельно перевести его, выполнив команду:
nano /etc/selinux/config
Затем привести строку с установленным режимом к виду:
SELINUX=enforcing
Выполните команды:
setenforce 1 setsebool -P httpd_can_network_connect on setsebool -P httpd_can_network_connect_db on setsebool -P httpd_can_sendmail on setsebool -P httpd_unified 1 setsebool -P httpd_read_user_content 1
Для настройки входа по IP выполните команду:
nano /etc/httpd/conf.d/glpi.conf
Добавьте в секцию Require ваш ip-адрес – в качестве примера «192.168.1.56»:
<IfModule mod_authz_core.c> # Apache 2.4 Require local Require ip 192.168.1.56 </IfModule>
Затем следует выполнить настройку защищенности файлов. Добавьте секцию:
<Directory /usr/share/glpi/files> <IfModule mod_authz_core.c> Require all denied </IfModule> <IfModule !mod_authz_core.c> deny from all </IfModule> </Directory>
Перезапустите сервис для применения внесенных изменений:
systemctl restart httpd
Вход через браузер будет производиться по адресу:
http://192.168.1.56/glpi/install/install.php
Статусы проверки должны быть успешными:
Настройка соединения с БД – требуется пароль, созданный для root-пользователя БД:
IP - 127.0.0.1 user - root pass – {пароль root-пользователя БД}
Выберите Базу Данных GLPI:
После завершения установки вход в веб-форму администратора осуществляется по данным:
user - glpi pass - glpi
Настройка fusioninventory plugin на сервере
Перейдите в каталог:
cd /usr/share/glpi/plugins
Скачайте плагин fusioninventory:
wget https://github.com/fusioninventory/fusioninventory-for-glpi/releases/download/glpi9.5%2B2.0/fusioninventory-9.5+2.0.tar.bz2
Распакуйте его:
tar xvjf fusioninventory-9.5+2.0.tar.bz2
Удалите архив:
rm -rf fusioninventory-9.5+2.0.tar.bz2
Назначьте права:
chown -R apache /usr/share/glpi
В браузере перейдите по ссылке:
http://192.168.1.56/glpi/front/plugin.pp
В итоге должен отобразиться не установленный плагин, нажмите «Установить»:
Настройка fusioninventory-agent на клиенте
Выполните установку:
dnf install fusioninventory-agent
Измените конфигурационный файл:
nano /etc/fusioninventory/agent.cfg
Впишите IP-сервера в строку, предварительно раскомментировав ее:
server = http://192.168.1.56/glpi/plugins/fusioninventory/
Требуется внести изменения в сервис:
nano /usr/lib/systemd/system/fusioninventory-agent.service
Приведите секцию [Service] к виду:
[Service] ExecStart=/usr/bin/fusioninventory-agent --no-fork $OPTIONS ExecReload=/bin/kill -HUP $MAINPID RemainAfterExit=yes
Выполните запуск сервиса:
systemctl daemon-reload systemctl enable --now fusioninventory-agent.service
После вышеперечисленных действий на сервере появится информация о ПК-клиенте:
Первичная настройка GLPI
Удаление файла автонастройки install.php
После установки GLPI на главной странице появится уведомление о том, что надо удалить из корневой папки файл автонастройки install/install.php, удалите его командой:
rm /usr/share/glpi/install/install.php
Переименовывание базовых пользователей
После завершения установки система автоматически создаст 4 учетных записи с паролем и логином по умолчанию. После входа в систему данные учетные записи нужно будет переименовать и сменить на них пароли. Для смены паролей необходимо перейти в «Администрирование» -> «Пользователи»:
Переходим в настройки нужного пользователя и меняем необходимые данные:
Основные разделы GLPI
Заявки
Для настройки заявок необходимо перейти в «Поддержка» -> «Заявки» -> «Управление шаблонами» (две горизонтальные линии с разрывом). Выбираем шаблон для настройки, в левой части находятся параметры данного шаблона:
При переходе в меню заявок можно просмотреть список доступных заявок, создать собственную заявку или отсортировать список заявок:
Уведомления
Для настройки уведомлений перейдите в «Настройки» -> «Уведомления» и включите уведомления о комментариях, уведомлениях по e-mail и браузерные оповещения:
Интерфейс
В GLPI есть несколько способов настроить отображаемый внешний вид вкладок и интерфейс. Для настройки первым способом перейдите в «Настройки» -> «Общий» -> «Значения по умолчанию»:
В открывшейся вкладке можно настроить интерфейс как вам удобно. Для настройки вторым способом (для конкретного пользователя) перейдите по имени профиля в правом верхнем углу -> «Внешний вид».
Автоматические действия
В GLPI имеется возможность запускать автоматически выполняемые команды. Для этого перейдите в «Настройки» -> «Автоматические действия». С помощью действий можно настроить автоматическую отправку уведомлений, очистку журнала, закрытие заявок и т.д. Для данных команд можно настроить время запуска или при необходимости запустить вручную.
SLA
В GLPI имеется возможность добавления уровней обслуживания (SLA). Для этого перейдите в «Настройки» -> «Уровни обслуживания», в открывшемся списке можно отсортировать имеющиеся уровни или добавить новый уровень, нажав на плюс в левой части панели:
Автоматическое назначение заявок
Имеется возможность автоматического назначения заявки на сотрудника. Для этого перейдите в «Администрирование» -> «Правила» -> «Бизнес-правила для заявок», в появившемся списке нужно выбрать правило и настроить его:
Отчет
Позволяет увидеть все, что происходит в системе, получить статистику и информацию по инвентаризации. Для просмотра отчёта переходим в «Инструменты» -> «Отчет» и выбираем необходимый тип отчёта:
Дата последнего изменения: 09.01.2023
Если вы нашли ошибку, пожалуйста, выделите текст и нажмите Ctrl+Enter.
В этой статье мы рассмотрим пошаговую установку и настройку GLPI. GLPI (Gestionnaire Libre de Parc Informatique — франц.) – это полноценная open-source ITSM система для управления процессами, инвентаризации оборудования и софта, а также для управления заявками и инцидентами. GLPI это большой комбайн, в котором заложено большое количество функционала по управлению ИТ на предприятии. Некоторые из возможностей GLPI:
- Инвентаризация компьютеров, серверов, оргтехники (принтеры, мониторы, МФУ, картриджи и прочее)
- Инвентаризация установленных на компьютерах программ и лицензий
- Управление заявками и инцидентами (регистрация обращений пользоватетелей, HelpDesk)
- База знаний
- Ведение проектов
- Управление бюджетом
Содержание:
- Установка и настройка стека LAMP в Linux
- Установка GLPI
- Базовая настройка GLPI
- Обзор интерфейса GLPI
- Плагин FusionInventory — автоматическая инвентаризация серверов и компьютеров
- Статистика и отчеты в GLPI
Установка и настройка стека LAMP в Linux
GLPI это обычное веб приложение с базой данных, поэтому на сервере нужно развернуть LAMP стек (в данной статье GLPI будет установлен на apache, но возможна также установка на nginx).
Совет. В этом примере мы покажем, как установить GLPI на Ubuntu. Однако инструкция полностью подходит для развертывания GLPI на любом другом дистрибутиве Linux. Например, для CentOS используйте пакетный менеджер yum, вместо apt (или dnf в CentOS 8).
apt update
apt install mysql-server mysql-client apache2 php php-mysql libapache2-mod-php php-json php-gd php-curl php-mbstring php-cas php-xml php-cli php-imap php-ldap php-xmlrpc php-apcu
Создайте новую mysql базу данных (можно использовать и mariadb) и пользователя для GLPI:
mysql -u root -p
CREATE DATABASE glpi;
CREATE USER 'glpi'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON glpi.* TO 'glpi'@'localhost';
FLUSH PRIVILEGES;
exit;
Скачайте и распакуйте дистрибутив GLPI:
wget https://github.com/glpi-project/glpi/releases/download/9.4.5/glpi-9.4.5.tgz
tar xvf glpi-9.4.5.tgz
Примечание. На момент написания этой статьи, последняя версия GLPI была 9.4.5. Чтобы скачать последнюю версию, перейдите на GitHub https://github.com/glpi-project/glpi/releases/ и выберите последний релиз.
Скопируйте GLPI в веб директорию:
mkdir /var/www/glpi
cp -R glpi/* /var/www/glpi
chown -R www-data:www-data /var/www/glpi
Совет. Довольно часто при развертывании GLPI встречаются ошибки, связанные со стандартными настройками PHP, поэтому рекомендуем сразу увеличчить лимиты для PHP. Вставьте следующие параметры в конец файла /etc/php/7.2/apache2/php.ini:
max_execution_time = 120 memory_limit = 512M post_max_size = 80M upload_max_filesize = 80M
Создайте файл виртуал хоста:
touch /etc/apache2/sites-available/glpi.conf
И вставляем следующую конфигурацию Virtual Host:
<VirtualHost *:80> ServerName glpi.local DocumentRoot /var/www/glpi <Directory /var/www/glpi> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all AuthType Basic </Directory> LogFormat "%h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-agent}i"" combined CustomLog ${APACHE_LOG_DIR}/glpi_access.log combined ErrorLog ${APACHE_LOG_DIR}/glpi_error.log </VirtualHost>
Активируйте виртуалхост:
a2ensite glpi
service apache2 reload
Проверьте, что виртуалхост активен.
Откройте браузер и переходим по URL адресу, который вы указали в виртуал хосте. В моём случае это
glpi.local
.
Перед вами должно появится окно веб-установщика GLPI.
Установка GLPI
Сначала нужно выбрать язык интерфейса GLPI и принять лицензионное соглашение. На следующем шаге нажмите Install и убедитесь, чтобы все тесты прошли успешно.
Укажите данные для подключения к базе данных.
Выберите ранее созданную базу данных:
Нажмите Continue и дождитесь импорта данных. База данных может наполняться продолжительное время (несколько минут). Это можно проверить командой
show processlist;
в mysql.
После этого установка GLPI практически завершена. Зайдите в панель управления (по-умолчанию, логин и пароль – glpi).
Базовая настройка GLPI
Для начала необходимо изменить пароли для встроенных пользователей, это можно сделать на вкладке Administration -> Users.
Если вы не хотите использовать встроенных пользователей, можно их разом отключить.
Примечание. GLPI рекомендует удалить файл install/install.php в целях безопасности. Сделайте командой: rm /var/www/glpi/install/install.php
Обзор интерфейса GLPI
Пробежимся по интерфейсу GLPI и рассмотрим некоторые из возможностей системы.
Вкладка Assets
Эта вкладка отвечает за инвентаризацию оборудования и софта. В GLPI есть возможность создавать шаблоны. Вы можете создавать различные шаблоны для разных устройств (компьютеров, роутеров, мониторов и т.д). Удобство в том, что при создании новых объектов вам не нужно заново заполнять статические данные (например, расположение или тип объекта).
Механизм шаблонов поддерживается и другими функциями, не только инвентаризацией.
Вкладка Assistance
Вкладка отвечает за управление задачами, инцидентами и проектами. Если вы знакомы с Jira, то здесь такой же принцип.
Есть возможность кастомизировать некоторые поля тикетов и создавать шаблоны для них (в Setup -> Dropdowns).
Вкладка Management
Также относится к инвентаризации – можно вести бюджет, учитывать лицензии, поставщиков и т.д.
Вкладка Tools
Эта вкладка содержит в себе разные инструменты – проекты, напоминания, отчеты и базу знаний (wiki).
Управление базой знаний:
Вкладка Administration
Здесь вы можете управлять пользователями, группами и сущностями GLPI, также есть лог действий пользователей GLPi.
Вкладка Setup
Также отвечает за управление GLPI – настройка пунктов меню, изменение различных форм и полей.
Плагин FusionInventory — автоматическая инвентаризация серверов и компьютеров
Рассмотрим одно из применений GLPI в реальной жизни – обнаружение устройств в сети и автоматическое заполнение инвентаризационных данных по оборудованию и установленным программам.
В GLPI не предусмотрено автоматическое обнаружение, но с этим может помочь плагин FusionInventory.
Установка Fusion Inventory
- Скачайте плагин FusionInventory с GitHub https://github.com/fusioninventory/fusioninventory-for-glpi/releases . В моём случае это последняя версия fusioninventory-9.4+2.4.tar.bz2;
- Распакуйте архив (
tar xvf arch.tar.bz2
) в директорию plugins (в моём случае это /var/www/glpi/plugins); - На сайте GLPI перейдите в Setup -> Plugins и нажмите на иконку установки плагина;
- Активируйте плагин;
Теперь во вкладке Administration появился пункт FusionInventory.
Перед установкой агентов на компьютеры и сервера нужно сразу включить нужные модули агентов.
Перейдите в Administration -> FusionInventory -> General -> General Configuration
Включите модули:
- Computer Inventory
- Network inventory (SNMP)
- Network discovery
- Package deployment
- Collect data
Установка Fusion Agent в Windows
Установить Fusion Agent можно либо через графический интерфейс (инсталлятор), либо через командную строку. Мы будем рассматривать второй вариант, так как он легко масштабируется для разворачивания через групповые политики или SCCM.
- Скачайте агент https://github.com/fusioninventory/fusioninventory-agent/releases. В моём случае я качаю Windows 64-bit OS: fusioninventory-agent_windows-x64_2.5.2.exe (не портейбл);
- Скопируйте установочный .ехе файл fusioninventory на компьютер, с которого вы хотите собирать данные;
- Откройте командную строку с правами администратора и выполните:
fusioninventory-agent_windows-x64_2.5.2.exe /S /acceptlicense /add-firewall-exception /debug=2 /execmode=Service /installtasks=Full /timeout=30 /delaytime=5 /server="_http://glpi.local/plugins/fusioninventory/" /runnow
Рассмотрим основные параметры уставки
- /S – Silent установка, без графического интерфейса
- /debug=2 – для подробных логов. При боевых развертываниях убирайте этот ключ
- /execmode=Service – ставим агент как службу Windows
- /installtasks=Full – устанавливаем все возможные сборщики
- /delaytime=5 – Задержка перед первым обращения к серверу. Если разворачиваете на большое число компьютеров, ставьте число повыше
- /server – адрес сервера GLPI
Не забудьте отредактировать параметры под свои нужды. Полный список параметров можно найти тут http://fusioninventory.org/documentation/agent/installation/windows/windows-installer-2.3.x-command-line.html
Совет. После установки, в случае возникновения проблем, можно посмотреть лог агента по пути C:Program FilesFusionInventory-Agentlogs. Параметры агента хранятся в реестре, по пути ComputerHKEY_LOCAL_MACHINESOFTWAREFusionInventory-Agent.
Перейдите в Administration -> FusionInventory -> General -> Agent Management, здесь вы можете управлять агентами
Убедитесь, что данные с данного компьютера появились в GLPI. Перейдите в Assets -> Computers.
Здесь отображаются все компьютеры, на которые вы установили агенты FusionInventory с модулем Collect Data. Откройте один из компьютеров и посмотрите на собранные данные. Как вы видите, в базе данных GLPI появилась информация об версии и билде Windows с сервера с агентом.
Вся информация заполняется автоматически из данных, которые приходят с агента. Также эта информация сортируется по категориям. Например, при установке агента на обычный ПК, можно получить информацию о периферийных устройствах. На скриншоте ниже информация о мониторах, подключенных к компьютеру где установлен агент.
Также вы видит список установленного на компьютере ПО.
Установка Fusion Agent на Linux
Рассмотрим установку из пакета на Ubuntu Server 18.04. Установите необходимые зависимости
apt install dmidecode hwdata ucf hdparm perl libuniversal-require-perl libwww-perl libparse-edid-perl libproc-daemon-perl libfile-which-perl libhttp-daemon-perl libxml-treepp-perl libyaml-perl libnet-cups-perl libnet-ip-perl libdigest-sha-perl libsocket-getaddrinfo-perl libtext-template-perl libxml-xpath-perl libyaml-tiny-perl libnet-snmp-perl libcrypt-des-perl libnet-nbname-perl libdigest-hmac-perl libfile-copy-recursive-perl libparallel-forkmanager-perl
Скачиваем пакет
wget https://github.com/fusioninventory/fusioninventory-agent/releases/download/2.5.2/fusioninventory-agent_2.5.2-1_all.deb
Установите пакет:
dpkg -i fusioninventory-agent_2.5.2-1_all.deb
В конфигурационном файле агента (/etc/fusioninventory/agent.cfg) измените следующие параметры:
delaytime = 5 server = _http://glpi.local/plugins/fusioninventory/
Перезапустите агент:
systemctl restart fusioninventory-agent
Если всё сделано правильно, вы увидите ваш Ubuntu компьютер/сервер в Assets-> Computers.
Статистика и отчеты в GLPI
В GLPI есть встроенные отчеты.
Но скорее всего вам потребуются отчеты по собственным параметрам. Для этого в GLPI есть плагины:
- https://plugins.glpi-project.org/#/plugin/reports — довольно просто позволяет создавать свои отчеты через PHP
- https://plugins.glpi-project.org/#/plugin/metabase — плагин для интеграции с https://www.metabase.com/
Пример встроенного отчета из плагина Reports:
GLPI развивается более 15 лет и содержит в себе огромное количество возможностей для управления ИТ инфраструктуры, а сообщество развивает и поддерживает плагины для различных интеграций и функционала. Система имеет огромные возможности модификации своих элементов, поэтому каждая компания настраивает GLPI под себя.
Чтобы рассмотреть все возможности более подробно, вы можете воспользоваться официальной демо инсталяцией https://demo.glpi-project.org/
В первой части статьи по GLPI, написанной в далеком октябре 2016 года, я рассказал типичном и характерном для небольшой организации развертывании этой системы, указал на некоторые особенности установки сопутствующих продуктов и, своего рода, best practice, используемой лично мной.
В второй части по GLPI я планирую осветить самый используемый функционал этой системы и рассказать читателям о тонкостях работы с ним. Всех, кого заинтересовало, милости прошу под кат.
1. GLPI как система управления компьютерным оборудованием
Ни для кого не секрет, что в небольших и средних организациях зачастую системный администратор выполняет несколько ролей: техническая поддержка, системное администрирование, проектирование информационных систем, поддержание парка оборудования и программного обеспечения в пригодном для использования состоянии.
GLPI позволяет вносить данные об используемом оборудовании и хранить их статично, до очередного внесения изменений администратором. Однако, с GLPI удобней работать, используя некоторые плагины, например, Fusion Inventory. Ознакомиться с документацией и скачать актуальные версии агента Fusion Inventory можно на официальном сайте.
Fusion Inventory – отличный плагин для сбора и актуализации информации о парке ПК и ПО. Для получения информации используются агенты, которые написаны для всех популярных ОС, и, собственно, сам плагин Fusion Inventory для GLPI.
Для установки агентов на Windows разработчики предлагают множество способов, в т.ч. использовать GPP и VBS-скрипт, подробнее тут.
Лично я предпочитаю способ установки через групповые политики Windows с использованием сценария VBS.
Создана групповая политика для компьютеров, входящих в определенную группу, допустим «Computers_for_GLPI», где в качестве стартового скрипта добавлен скрипт на VBS.
Вы можете рассмотреть все доступные скрипты и выбрать подходящий вашей инфраструктуре вариант.
После установки агентов и начала их работы информация об оборудовании и ПО начинает поступать на сервер GLPI.
Вся информация по оборудованию и ПО попадает в раздел «Оборудование», но некоторые отчеты и дополнительные опции доступны через раздел «Дополнения», пункт «Fusion Inventory».
Cистемный администратор с настоящим системным подходом к работе может получить данные по используемому оборудованию и ПО, в т.ч. отфильтровать по архитектурам ЦП, типе используемой памяти, операционной системе и много другое.
Как итог он сможет осуществить модернизацию или замену устаревшего оборудования и ПО, что в конечном итоге должно повысить производительность труда и информационную безопасность системы в целом.
2. GLPI как система управления деятельностью отдела информационных технологий
GLPI, как я упоминал в первой статье, давно является мощным комбайном, способным облегчить жизнь системного администратора, специалиста ТП или начальника отдела ИТ.
Рассмотрим некоторые плагины и встроенный функционал, которые помогут в деятельности отдела ИТ.
Функционал управления отделом ИТ располагается в разделах «Управление» и «Инструменты».
Раскрытие всей мощи этого функционала невозможно без использования системы, описанной в первом пункте этой статьи. Итак, чем же мы можем управлять:
- Лицензиями ПО, список которого подгрузят Fusion Inventory агенты, вам лишь останется добавить сроки, пользователей (которые можно оперативно взять из AD), версии и прочую информацию. Есть возможность систематизировать разрозненные лицензии предприятия на ПО и всегда под рукой иметь актуальные лицензионные договоры и количество лицензий. Информированность специалистов отдела ИТ о количестве и типе лицензий позволит исключить или критически сократить простой пользователей по причинам нехватки или истечения срока действия лицензий на ПО.
- Контактами, здесь всё довольно просто: вносим и систематизируем информацию по контактам внешним и некоторым внутренним. По моему скромному мнению, для каждой внешней услуги должно быть занесено не менее 2-х контактов. Такая вот высокая доступность =)
- Поставщиками услуг, сюда можно добавить внесенные ранее контакты, добавить информацию по общим средствам коммуникаций, прикрепить документы и договоры.
- Договорами, здесь можно аккумулировать по текущим, прошедшим и будущим контрактам, что позволит вовремя продлевать или прекращать действия контактов.
GLPI включает систему уведомлений, которая заранее предупредит вас об истекающих договорах.
Вообще, члены трио «Поставщики, договоры, контакты» должны быть неразлучны, независимо от способов ведения документации. Это позволяет в случае возникновения вопросов следовать цепочке: услуга – договор – контакты, что ускоряет решение проблемы.
В разделе «Инструменты» с моей точки зрения важны пункты «База знаний» и «Резервирование».
Резервирование: зарезервировать оборудование, используемое только внутри отдела ИТ, можно и вполне удобно через этот функционал. Тестовый ноутбук, сервер, коммутатор — пожалуйста. Добавили оборудование, указали сроки резервирования, и вперёд к новым победам!
В современном корпоративном окружении Microsoft есть всем известный продукт Exchange Server.На мой взгляд, для резервирования оборудования и помещений его функционал гораздо более удобен и прост в использовании. Если у вас есть Exchange Server, есть совместно используемое оборудование и помещения и вы не используете функционал ящиков оборудования и ящиков помещения – взгляните в его сторону, возможно, это позволит избежать конфликтов использования и повысить производительность труда, исключив время на звонок секретарю, на поиск свободной переговорной комнаты или на споры с конкурентом на корпоративный ноутбук для презентации на выставке. Подробнее смотрите тут: ящик оборудования и ящик помещения
База знаний – намного менее удобная, чем классическая wiki, система, однако её присутствие освобождает от необходимости сопровождать ещё одну систему, если информации для Базы знаний не так много. Здесь можно управлять зонами видимости статей, что позволит публиковать пошаговые инструкции для пользователей, и скрывать от них информацию о тонкостях настройки коммутаторов в удаленных филиалах, к примеру.
3. GLPI как система технической поддержки (ТП) пользователей
Мне довелось использовать GLPI как систему ТП в нескольких организациях.
Для небольшой организации использование GLPI как комбайна помощи отделу ИТ вполне оправдано, и как следствие такого использования возникает система ТП на GLPI.
Большая часть функционала ТП расположена в разделе «Поддержка»
Для нормального функционирования системы ТП вам понадобится настроить и начать использовать ещё часть функционала GLPI:
- Нужно настроить Аутентификацию пользователей. Для этого в Active Directory или другом LDAP создаем пользователя, который сможет получать информацию о пользователях, для этого достаточно прав «Read Only» на контейнеры с пользователями GLPI.
Добавляем новый каталог LDAP, указываем логин-пароль для пользователя.
Подробней здесь.
- Нужно настроить почтовый приемник, чтобы планировщик мог подключаться к ящику почтовой системы и забирать оттуда письма, предназначенные для ТП.
Его настройка располагается в «Настройки» — «Приемники».
Настройка не представляет сложности: указываем тип подключения к почтовому серверу, его адрес, ящик для подключения и некоторые настройки безопасности.
Для Exchange Server итоговая строка получения обычно такая: {exch_server/imap/novalidate-cert/tls}INBOX - Нужно настроить уведомления пользователей. Это делается в разделе «Настройка» — «Уведомления» Здесь можно настроить шаблоны уведомлений, сервер отправки и тип уведомлений и их обязательность при действиях с заявкой. Подробнее в документации к GLPI (возможен французский язык)
- Важным инструментом автоматизации заявок являются Бизнес-правила для заявок. В документации информация о бизнес-правилах оказалась на французском языке, вспомнив школьный курс, я осилил общую информацию, ссылка. В общем, для переопределения части заявок, например, содержащих ключевое слово «почта» сразу на Exchange администратора логика бизнес-правил довольна проста для понимания и использования. Кроме того, есть возможность менять приоритет заявки, что позволяет обрабатывать заявки от ключевых специалистов компании быстрее, что в конечном итоге экономит их время.
Наиболее частыми правилами в моей практике является переопределение заявок на группы специалистов по ключевым словам, например, «1С», «почта», «jira», «project». Таким образом, заявки сразу попадают к нужному специалисту, минуя специалиста, занимающегося первичной обработкой заявок, переопределение важности и приоритета заявок от руководителей компании и ключевых специалистов, снижение приоритета заявок от некоторых отделов до среднего, увеличение приоритета до высокого и т.п.
Таком образом система ТП на базе GLPI обладает полным функционалом других платных и бесплатных систем ТП: различные способы подачи заявки (почта, веб-интерфейс), бизнес-правила для заявок, возможность отслеживания и комментирования заявок через почту и веб, ранжирование и обработка по влиянию, срочности и приоритету, возможность создавать подзадачи для заявок, прикрепление оборудования и специалистов к заявкам, возможность наблюдения.
Возможности сортировки и ранжирования задач в полной мере доступны и специалистам ТП, и администраторам, благодаря широкому набору фильтров при работе в разделе «Поддержка» — «Заявки».
Кроме того для веб-интерфейса ТП можно отредактировать шаблон заявки, переопределив обязательные параметры, что обеспечит обязательное проставление пользователями направления обращения (почта, 1С, удаленный доступ и т.д.), срочности, влияния.
Заключение: я рассказал о базовом функционале, используемом мной в тех самых «типичных» организациях малого и среднего размера (до 400 пользователей).
Именно широкие возможности GLPI и его открытость сделали эту систему достаточно популярной, что в будущем должно принести плоды в виде хорошей документации, развитого сообщества и увеличения числа талантливых разработчиков, способных расширить и отточить функционал GLPI.
Кроме описанного выше функционала для администратора доступен хороший набор плагинов и возможностей настройки внешнего вида многих элементов, в т.ч. сообщений уведомлений, страницы входа, отчетов и т.п.
В третьей части планируемого цикла статей по GLPI я хочу рассмотреть функционал и использование самых распространенных плагинов и моё видение их использования, а также некоторые нюансы тонкой настройки некоторых функций GLPI.
Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
Готовы ли Вы отказать от используемой платной системы ТП в пользу бесплатной GLPI при условии наличия подробной документации, развитого сообщества и платной подписки на расширенную техподдержку по продукту?
18.42%
Готов и без подробной документации и платной расширенной техподдержки, главное — коммьюнити
21
2.63%
Не готов ни прикаких условиях
3
42.11%
Уже использую GLPI
48
5.26%
Другое (сообщить в комментарии)
6
Проголосовали 114 пользователей.
Воздержались 22 пользователя.
Обновлено: 24.12.2022
Опубликовано: 04.08.2018
Тематические термины: GLPI, CentOS.
GLPI project является приложением на основе PHP, поэтому мы сначала настроим веб-сервер на базе Apache + PHP7 + MariaDB (можно также использовать nginx, но в инструкции мы этого делать не будем). После приступим к развертыванию самого GLPI. Все действия выполняются на базе операционной системы CentOS 7, однако, во многом, подойдут для других дистрибутивов Linux (Ubuntu, Debian, …) и Windows.
Подготовка системы
Настройка времени
Настройка безопасности
Установка пакетов
Установка Apache
Установка PHP 7
Настройка связки Apache + PHP
Установка MariaDB
Установка GLPI
Подготовка базы данных
Загрузка портала
Установка
Первичная настройка
Где искать основные настройки
Установка плагинов
Принцип установки
FusionInventory
Reports
Barcode
Archires
TelegramBot
OCS Inventory
Где искать плагины
Аутентификация в AD
Настройка связи с LDAP
Импорт пользователей
Настройка https
HTTP/2
А также
Отчеты
Документация
Обновление
Онлайн тестирование
Аналоги GLPI
Пред настройка системы
Время
Установим пакет для синхронизации времени:
yum install ntpdate
Задаем часовой пояс:
cp /usr/share/zoneinfo/Europe/Moscow /etc/localtime
Создадим задачу в cron для актуализации времени:
crontab -e
0 0 * * * /sbin/ntpdate ru.pool.ntp.org
Безопасность
Добавляем правило в firewalld:
firewall-cmd —permanent —add-port=80/tcp
firewall-cmd —permanent —add-port=443/tcp
firewall-cmd —reload
Отключаем SELinux:
sed -i «s/SELINUX=enforcing/SELINUX=disabled/» /etc/selinux/config
setenforce 0
Или настраиваем по инструкции правильная настройка SELinux.
Установка пакетов
Для установки некоторых пакетов нам понадобиться репозиторий Epel:
yum install epel-release
Установим обновления:
yum update
Установка Apache
Приложение GLPI лучше всего работает на основе веб-сервера Apache (но не исключает возможности установки на NGINX). Для его установки вводим команду:
yum install httpd
После запускаем его:
systemctl enable httpd
systemctl start httpd
Открываем браузер и вводим IP-адрес сервера — мы должны увидеть тестовую страницу Apache:
Установка PHP 7
В репозитории CentOS находится PHP версии 5.4. Для свежих версий GLPI требуется более новая версия php. Для этого установим репозиторий REMI:
rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-7.rpm
Теперь ставим php7:
yum —enablerepo=remi-php72 install php
* на момент написания статьи последняя стабильная версия была 7.2 (ссылка на PHP: Downloads).
Откроем на редактирование файл:
vi /etc/php.ini
И правим следующее:
upload_max_filesize = 256M
…
post_max_size = 256M
…
date.timezone = «Europe/Moscow»
* где upload_max_filesize — максимальный размер одного загружаемого файла; post_max_size — объем всех отправляемых на сервер данных за раз; date.timezone — временная зона по умолчанию, которую будет устанавливать интерпретатор php.
Apache + PHP
Открываем конфигурационный файл apache:
vi /etc/httpd/conf/httpd.conf
Редактируем строку:
<IfModule dir_module>
DirectoryIndex index.php index.html
</IfModule>
* добавляем index.php.
Создаем виртуальный домен:
vi /etc/httpd/conf.d/glpi.conf
<VirtualHost *:80>
Define root_domain glpi.dmosk.local
Define root_path /var/www/glpi
ServerName ${root_domain}
DocumentRoot ${root_path}
</VirtualHost>
* мы создали виртуальный домен glpi.dmosk.local, при обращении на который apache будет искать файлы в каталоге /var/www/glpi.
Перезапускаем apache:
systemctl restart httpd
Создаем каталог:
mkdir -p /var/www/glpi
Создаем файл со следующим содержимым:
vi /var/www/glpi/index.php
<?php phpinfo(); ?>
Открываем браузер и вводим имя виртуального домена (в нашем случае, glpi.dmosk.local) — мы должны увидеть, примерно, следующее:
Установка MariaDB
По умолчанию, в CentOS устанавливается mariadb версии 5. Это ранняя версия и она не подходит для последних версий GLPI.
Переходим по ссылке downloads.mariadb.org/mariadb/repositories и выбираем нашу версию операционной системы и последний стабильный релиз mariadb:
Ниже мы увидим инструкцию по добавлению репозитория в CentOS и установке СУБД:
Согласно инструкции, добавим репозиторий:
vi /etc/yum.repos.d/mariadb-10.repo
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.3/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
Обновим пакеты:
yum update
Устанавливаем СУБД командой:
yum install mariadb-server
Запускаем сервер баз данных:
systemctl enable mariadb
systemctl start mariadb
Задаем пароль для суперпользователя СУБД:
mysqladmin -u root password
Устанавливаем модули php для работы с MariaDB:
yum —enablerepo=remi-php72 install php-mysql php-mysqli
Перезапускаем apache:
systemctl restart httpd
Открываем нашу страницу с phpinfo — мы должны найти информацию поддержке MySQL:
Установка GLPI
Создание базы данных
Подключаемся к СУБД:
mysql -uroot -p
Создаем базу данных:
> CREATE DATABASE glpi DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
* где glpi — имя базы.
Создаем пользователя с доступом к этой базе:
> GRANT ALL PRIVILEGES ON glpi.* TO glpi@localhost IDENTIFIED BY ‘glpi123’;
* где glpi@localhost — пользователь с логином glpi и доступом с локального сервера; glpi123 — пароль для пользователя.
Отключаемся от MariaDB:
> q
Загрузка
Установим пакет для загрузки файлов:
yum install wget
Переходим на страницу загрузки GLPI — github.com/glpi-project/glpi/releases и копируем ссылку на новую версию пакета:
Скачиваем GLPI:
wget https://github.com/glpi-project/glpi/releases/download/9.3.0/glpi-9.3.tgz
Установка
Устанавливаем php-расширения, необходимые для GLPI:
yum —enablerepo=remi-php72 install php-mbstring php-gd php-simplexml php-intl
Устанавливаем рекомендованные php-расширения:
yum —enablerepo=remi-php72 install php-ldap php-imap php-pecl-zendopcache php-pecl-apcu php-xmlrpc php-pear-CAS php-zip php-sodium
Перезапускаем apache:
systemctl restart httpd
Распаковываем архив в каталог виртуального домена (настраивали в Apache):
tar -xvzf glpi-*.tgz -C /var/www/glpi —strip-components 1
Задаем владельца apache для данного каталога:
chown -R apache:apache /var/www/glpi
Запускаем браузер и снова открываем портал по имени виртуального домена. В открывшемся окне выбираем русский язык (или любой из возможных вариантов) и нажимаем OK:
Принимаем лицензионное соглашение и нажимаем Продолжить:
Из двух вариантов (установить или обновить) выбираем Установить:
Система проверить, что наши настройки соответствуют рекомендованным. Если все хорошо, нажимаем Продолжить.
На следующем шаге вводим данные для подключения к базе данных:
Далее выбираем базу, созданную ранее:
Несколько раз нажимаем Продолжить и на последнем этапе Запустить GLPI.
Готово. Для первого входа используем логин и пароль по умолчанию — glpi/glpi.
Первичная настройка
1. С сервера удаляем файл установки:
rm /var/www/glpi/install/install.php
2. В cron добавляем задание GLPI cron.php — это необходимо для автоматического запуска некоторых процедур внутри самого GLPI, в противном случае, мы получим предупреждение cron не запущен:
crontab -e
* * * * * /bin/php /var/www/glpi/front/cron.php &>/dev/null
* в данном примере скрипт /var/www/glpi/front/cron.php будет выполняться раз в минуту.
3. Переходим в Администрирование — Пользователь:
Меняем пароль для следующих учетных записей:
- glpi
- post-only
- tech
- normal
Расположение пунктов важных настроек
Для удобства использования портала необходимо самостоятельно настроить следующее:
- Заявки. Поддержка — Заявки — Управление шаблонами (две горизонтальные линии с разрывом) — выбираем шаблон для настройки.
- Уведомления. Настройки — Уведомление — включить комментарии и, при необходимости, уведомления по email и браузерные оповещения. После включения оповещений можно будет перейти к настройкам шаблонов оповещений.
- Интерфейс. Настройки — Общий — Значения по умолчанию. А также настройка вида для конкретного пользователя — кликаем по имени профиля в правом верхнем углу — Внешний вид.
- Cron. Настройки — Автоматическое действие. Среди списка действий кликаем на нужное.
- SLA. Настройки — Уровни обслуживания. Если уровней нет, создаем, нажав на плюсик.
- Автоматическое назначение заявок на специалиста. Администрирование — Правила — Бизнес-правила для заявок. На самом деле, позволяет автоматизировать не только назначение на специалиста.
Установка плагинов
Функциональные возможности программы значительно расширяются за счет плагинов. Рассмотрим установку некоторых из них.
Принцип установки плагинов
Установка плагинов в GLPI выполняется по следующему алгоритму:
- Скачиваем плагин, версия которого совместима с установленной версией GLPI.
- Распаковываем скачанный архив в каталог plugins, который находится в каталоге с glpi.
- Заходим на портал, переходим в Настройки — Плагины. Находим нужный плагин — кликаем напротив него по Установить и затем Включить.
FusionInventory (инвентаризация ИТ-оборудования)
Устанавливаем bzip2:
yum install bzip2
Переходим на страницу загрузки плагина https://github.com/fusioninventory/fusioninventory-for-glpi/releases и копируем ссылку на последнюю версию релиза «Release FusionInventory for GLPI».
Скачиваем плагин:
wget https://github.com/fusioninventory/fusioninventory-for-glpi/releases/download/glpi9.3%2B1.1/fusioninventory-9.3.1.1.tar.bz2
Распаковываем его в папку с плагинами GLPI:
tar -xvjf fusioninventory-*.tar.bz2 -C /var/www/glpi/plugins/
Заходим на портал GLPI — Настройки — Плагины. В списке плагинов должен появиться FusionInventory — необходимо его установить, затем включить:
На компьютеры сети устанавливаем FusionInventory Agent — скачать его под различные операционные системы можно по ссылке github.com/fusioninventory/fusioninventory-agent/releases.
Reports (отчеты)
Переходим на страницу загрузки плагина — plugins.glpi-project.org/#/plugin/reports. Переходим по ссылке загрузки плагина (внимательно смотрим наличие поддержки установленной версии GLPI) — мы попадем на GitHub. Копируем ссылку для загрузки архива. Скачиваем на сервер плагин:
wget https://github.com/yllen/reports/releases/download/v1.16.0/glpi-reports-1.16.0.tar.gz
Распаковываем плагин:
tar -xvzf glpi-reports-*.tar.gz -C /var/www/glpi/plugins/
На портале переходим в Настройки — Плагины — напротив Reports кликаем Установить и Включить.
Barcode (генератор баркодов)
Копируем ссылку на плагин — github.com/pluginsGLPI/barcode/releases. Распаковываем:
tar -xvjf glpi-barcode-*.tar.bz2 -C /var/www/glpi/plugins/
Заходим в управление плагинами на портале и устанавливаем Barcode.
TelegramBot
Скачиваем (github.com/pluginsGLPI/telegrambot/releases):
wget https://github.com/pluginsGLPI/telegrambot/releases/download/2.0.0/glpi-telegrambot-2.0.0.tar.bz2
Распаковываем:
tar -xvjf glpi-telegrambot-*.tar.bz2 -C /var/www/glpi/plugins/
Устанавливаем через портал.
OCS Inventory
Скачиваем (github.com/pluginsGLPI/ocsinventoryng/releases):
wget https://github.com/pluginsGLPI/ocsinventoryng/releases/download/1.5.0/glpi-ocsinventoryng-1.5.0.tar.gz
Распаковываем:
tar -xvzf glpi-ocsinventoryng-*.tar.gz -C /var/www/glpi/plugins/
Устанавливаем через портал.
Другие плагины
Полный список плагинов можно найти по ссылке plugins.glpi-project.org.
Доменная аутентификация (Active Directory)
Если в нашей сети есть сервер с установленной ролью контроллера домена, мы можем выполнять аутентификацию на основе ldap. Настройка выполняется в два этапа — настройка связи с LDAP и импорт пользователей из каталога.
Настройка связи с LDAP
Для начала, создаем учетную запись в каталоге Active Directory для настройки связывания с GLPI. У нее должны быть минимальные права.
Теперь создаем каталог LDAP. Для этого переходим в Настройки — Аутентификация:
Кликаем по LDAP каталог и нажимаем Добавить:
Заполняем поля для настройки LDAP:
* где:
- Наименование — произвольное имя каталога, например, dmosk.local.
- Сервер — сервер с ролью ldap-сервера. В данном примере указан весь домен, по которому могут отзываться все серверы.
- Фильтр соединений — фильтр объектов, которые мы извлекаем. Для Active Directory работает (&(objectClass=user)(objectCategory=person)).
- База поиска (baseDN) — контейнер или организационный юнит, с которого начинается поиск объектов. В нашем случае, OU=Users,DC=dmosk,DC=local.
- Поле имени пользователя — поле LDAP, по которому будет ассоциироваться имя пользователя (samaccountname).
- Сервер по умолчанию и Активен переводим в Да.
- rootDN (пользователь для подключения) — учетная запись в AD DS, у которой есть права на чтение каталога (CN=glpi,CN=Users,DC=dmosk,DC=local). Ее мы создавали на первом этапе.
- Пароль (пользователь для подключения) — вводим пароль для учетной записи в AD.
Нажимаем Добавить.
Переходим в подраздел Тест и проверяем подключение к каталогу. Если оно выполнится с ошибкой, подождите, минут, 15 — возможно, не прошла репликация между всеми контроллерами.
Переходим в подраздел Пользователь — заполняем поля для ассоциаций с LDAP:
Нажимаем Сохранить.
А также:
- В группах можно добавить фильтр (&(objectClass=group)(objectCategory=group)).
- В дополнительной информации меняем часовой пояс.
Импорт пользователей
Переходим в Администрирование — Пользователь:
Кликаем по Связи с LDAP:
Затем Импорт новых пользователей — Поиск. Среди найденных результатов отмечаем всех или необходимых пользователей — Действие — Импорт.
После импорта, пользователь может входить на портал под своей доменной учетной записью.
Защищенное соединение (https)
Для настройки https нам нужен сертификат. Его можно создать с помощью внутреннего центра сертификации, купить, получить бесплатно у Let’s Encrypt или, в качестве тестового варианта, создать самозаверенный сертификат командами:
mkdir /etc/httpd/ssl/
openssl req -new -x509 -days 1461 -nodes -out /etc/httpd/ssl/cert.pem -keyout /etc/httpd/ssl/cert.key -subj «/C=RU/ST=SPb/L=SPb/O=Global Security/OU=IT Department/CN=test.dmosk.local/CN=test»
Добавляем виртуальный домен:
vi /etc/httpd/conf.d/glpi.conf
<VirtualHost *:80>
Define root_domain test-glpi.dmosk.local
Define root_path /var/www/glpi
ServerName ${root_domain}
DocumentRoot ${root_path}
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
</VirtualHost>
<VirtualHost *:443>
Define root_domain test-glpi.dmosk.local
Define root_path /var/www/glpi
ServerName ${root_domain}
DocumentRoot ${root_path}
SSLEngine on
SSLCertificateFile ssl/cert.pem
SSLCertificateKeyFile ssl/cert.key
</VirtualHost>
* в данном примере мы добавили виртуальный домен для 443 порта и добавили правило перенаправления всех запросов с http (80) на https (443).
Добавляем порт 443 в брандмауэр (если этого не было сделано при подготовке сервера):
firewall-cmd —permanent —add-port=443/tcp
firewall-cmd —reload
Устанавливаем модуль mod_ssl:
yum install mod_ssl
Перезапускаем apache:
systemctl restart httpd
HTTP/2
Для поддержки http2, добавляем новый репозиторий:
cd /etc/yum.repos.d
wget https://repo.codeit.guru/codeit.el`rpm -q —qf «%{VERSION}» $(rpm -q —whatprovides redhat-release)`.repo
Устанавливаем модуль mod_http2:
yum install mod_http2
В конфиг виртуального домена добавим:
Protocols h2 http/1.1
Перезапустим httpd:
systemctl restart httpd
Подробнее про настройку HTTP/2 на Apache.
А также
Упомянем еще о некоторых моментах, касающихся GLPI.
Отчеты
Позволяют увидеть все, что происходит в системе, получить статистику и информацию по инвентаризации. Для открытия кликаем по Инструменты — Отчет — выбираем необходимый тип отчета.
Также, возможности отчетов можно расширить с помощью плагинов, например, Reports.
Документация
Официальная база знаний и описание программного продукта доступны по ссылке wiki.glpi-project.org/doku.php?id=ru:welcome. Имеется поддержка русского языка, однако перевод есть не для всех разделов.
Обновление
Если у нас уже установлен GLPI, его можно обновить с помощью инструкции Как обновить GLPI.
Онлайн тестирование
Перед установкой портала, можно протестировать его возможности на официальном демо-портале — myaccount.glpi-network.cloud/register.php (потребуется регистрация).
Аналоги GLPI
- OTRS.
- OCS Inventory (инвентаризация), однако, эти две системы, не редко, настраивают вместе, так как их возможности дополняют друг друга.
- osTicket.