В этой статье мы рассмотрим пошаговую установку и настройку 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 версии 9.5 и актуальна на 01.11.2022 г.
Требования
GLPI – веб приложение, которое требует:
- веб сервер;
- PHP;
- БД;
Веб сервер
GLPI требует веб сервер, который поддерживает PHP:
- Apache 2 (или более поздней версии);
- Nginx;
- Microsoft IIS.
PHP
GLPI Version | Minimum PHP | Maximum PHP |
9.4.X | 5.6 | 7.4 |
9.5.X | 7.2 | 8.0 |
10.0.X | 7.4 | 8.1 |
! Примечание
Мы рекомендуем использовать новейшую поддерживаемую версию PHP для повышения производительности.
Обязательные расширения
Следующие расширения PHP требуются для правильной работы GLPI:
curl
: для CAS аутентификации, проверки версии GLPI , Telemetry, …;fileinfo
: для получения дополнительной информации из файлов;gd
: для генерации изображений;json
: для поддержки данных в формате JSON;mbstring
: для поддержки мультибитовых кодировок;mysqli
: для поддержки и запросов к БД;session
: для поддержки сессий пользователей;zlib
: для поддержи резервного копирования и восстановления БД;simplexml
;xml
;intl
.
Дополнительные расширения
! Примечание
Даже если эти плагины необязательны, мы, в любом случае, рекомендуем их установить.
Следующие PHP расширения требуются для некоторых дополнительных функций GLPI:
cli
: для использования PHP из коммандной строки (скрипты, автоматические действия и тд);domxml
: используется для CAS аутентификации;ldap
: используется для аутентификации через LDAP сервер;openssl
: защищенные соединения;xmlrpc
: используется для XMLRPC API.APCu
: может использоваться для кеширования; среди прочих (смотри конфигурацию кеширования (только на французском).
Конфигурация
В конфигурационным файле PHP (php.ini
) должен быть настроены следующие переменные:
memory_limit = 64M ; // max memory limit file_uploads = on ; max_execution_time = 600 ; // not mandatory but recommended session.auto_start = off ; session.use_trans_sid = 0 ; // not mandatory but recommended
База данных
! Предупреждение
В настоящее время GLPI поддерживает только серверы баз данных MySQL (минимум 5.7) и MariaDB (минимум 10.2).
Для работы GLPI требуется сервер БД.
Источник: https://glpi-install.readthedocs.io/en/latest/prerequisites.html
Обновлено: 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.
Содержание
Разработка
Перевод
Установка
Актуально для GLPI версии 9.3 и Debian 9 (stretch). Для этой версии нужна MariaDB, иначе будет ошибка:
Версия Вашей СУБД слишком старая: 5.5.60
-
Папка для установки:
/opt/glpi/
Установка необходимых пакетов
- glpi_install.sh
-
#!/bin/bash apt install mariadb-server mariadb-client apache2 libapache2-mod-php php php-apcu php-cas php-cgi php-cli php-common php-curl php-fileinfo php-fpm php-gd php-imap php-json php-ldap php-mbstring php-mysql php-simplexml php-xml php-xmlrpc php-zip
Распаковка дистрибутива
Распаковка дистрибутива в нужную папку:
tar -zxvf glpi-9.3.tgz -C /opt/
Настройка прав доступа к папкам и файлам
- glpi_permissions.sh
-
#!/bin/bash ROOT_PATH=/opt/glpi chown -R root:root $ROOT_PATH find $ROOT_PATH -type d -exec chmod u=rwx,g=rwx,o=rx {} ; find $ROOT_PATH -type f -exec chmod u=rw,g=rw,o=r {} ; chown -R www-data:www-data $ROOT_PATH/files find $ROOT_PATH/files -type d -exec chmod u=rwx,g=rwx,o= {} ; find $ROOT_PATH/files -type f -exec chmod u=rw,g=rw,o= {} ; chown -R www-data:www-data $ROOT_PATH/config chmod -R u=rw,g=rw,o= $ROOT_PATH/config/*.php
Настройка HTTP сервера
Настройка HTTP сервера Apache:
-
Нужно создать файл:
- /opt/glpi/apache.conf
-
Alias /glpi /opt/glpi <VirtualHost glpi> NameVirtualHost glpi ServerName glpi ServerAlias glpi ServerAlias glpi.domain.ru ServerAdmin glpi@domain.ru DocumentRoot /opt/glpi <Directory /opt/glpi> DirectoryIndex index.php Options FollowSymLinks AllowOverride Limit Options FileInfo Require all granted </Directory> </VirtualHost>
-
Выполнить следующие действия:
- glpi_apache.sh
-
#!/bin/bash # Создаем символическую ссылку ln -s /opt/glpi/apache.conf /etc/apache2/sites-available/glpi.conf # Разрешаем сайт a2ensite glpi # Перезапуск service apache2 reload
Завершение установки
После выполнения установки на главной странице будет сообщение:
В целях безопасности удалите файл: install/install.php
Нужно удалить файл, выполнив команду:
rm /opt/glpi/install/install.php
Преобразование таблиц после установки
Удаление существующей БД
Необходимо при восстановлении БД.
1. Создать файл:
- /opt/glpi/MySQL_glpi_Drop.sql
-
DROP DATABASE glpi;
2. Выполнить:
mysql -uroot -p < /opt/glpi/MySQL_glpi_Drop.sql
Ввести пароль пользователя root
Создание новой БД
1. Создать файл:
- /opt/glpi/MySQL_glpi_Init.sql
-
CREATE DATABASE glpi; GRANT ALL PRIVILEGES ON glpi.* TO glpi IDENTIFIED BY 'ПАРОЛЬ'; FLUSH PRIVILEGES;
2. Выполнить:
mysql -uroot -p < /opt/glpi/MySQL_glpi_Init.sql
Ввести пароль пользователя root
Обновление
-
Отключение расширений
-
После обновления нужно зайти в glpi и выполнить предлагаемые действия по обновлению структур данных.
-
Обновление расширений
Настройка
Пользователи по умолчанию
Имя | Пароль | Описание |
---|---|---|
glpi |
glpi |
for the administrator account |
tech |
tech |
for the technician account |
normal |
normal |
for the normal account |
post-only |
post-only |
for the postonly account |
Язык по умолчанию для пользователя
Язык | Путь настройки |
---|---|
Английский | SettingsSelect Language |
Русский | НастройкиЯзык |
Язык по умолчанию для входа в систему
Язык | Путь настройки |
---|---|
Английский | Меню SetupGeneralDefault values , раздел Personalization , поле Default language |
Русский | Меню НастройкиОбщиеЗначения по умолчанию , раздел Внешний вид , поле Язык по умолчанию |
Резервное копирование
Резервное копирование БД:
mysqldump glpi -uglpi -hСЕРВЕР_БД -pПАРОЛЬ > glpi_backup.sql
Ввести пароль пользователя glpi
Восстановление
Пример восстановления БД (использовать только по необходимости):
1. Удаление существующей БД
2. Создание новой БД
3. Выполнить восстановление:
mysql -uglpi -hСЕРВЕР_БД -pПАРОЛЬ glpi < glpi_backup.sql
Ввести пароль пользователя glpi
Ссылки
Установка GLPI
Настройка fusioninventory plugin на сервере
Настройка fusioninventory-agent на клиенте
Первичная настройка GLPI
Основные разделы GLPI. Заявки
Основные разделы GLPI. Уведомления
Основные разделы GLPI. Интерфейс
Основные разделы GLPI. Автоматические действия
Основные разделы GLPI. SLA
Основные разделы GLPI. Автоматическое назначение заявок
Основные разделы GLPI. Отчет
Окружение
- Версия РЕД ОС: 7.3
- Конфигурация: Сервер графический
- Версия ПО: 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'; CREATE 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>
Пример итогового конфигурационного файла:
Alias /glpi /usr/share/glpi
<Directory /usr/share/glpi>
Options None
AllowOverride Limit Options FileInfo
<IfModule mod_authz_core.c>
Require local
Require ip 192.168.1.56
</IfModule>
<IfModule !mod_authz_core.c>
Order deny,allow
Allow from all
</IfModule>
</Directory>
<Directory /usr/share/glpi/install>
<IfModule mod_authz_core.c>
Require local
</IfModule>
<IfModule !mod_authz_core.c>
Order Deny,Allow
Deny from All
Allow from 127.0.0.1
Allow from ::1
</IfModule>
<IfModule mod_php5.c><
php_value max_execution_time 0
php_value memory_limit -1
</IfModule>
<IfModule mod_php7.c>
php_value max_execution_time 0
php_value memory_limit -1
</IfModule>
</Directory>
<Directory /usr/share/glpi/config>
Order Allow,Deny
Deny from all
</Directory>
<Directory /usr/share/glpi/locales>
Order Allow,Deny
Deny from all
</Directory>
<Directory /usr/share/glpi/install/mysql>
Order Allow,Deny
Deny from all
</Directory>
<Directory /usr/share/glpi/scripts>
Order Allow,Deny
Deny from all
</Directory>
<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
Для обновления меток selinux необходимо перезагрузить ПК.
Вход через браузер будет производиться по адресу:
http://192.168.1.56/glpi/install/install.php
Статусы проверки должны быть успешными:
Настройка соединения с БД – требуется пароль, созданный для root-пользователя БД:
IP - 127.0.0.1 user - glpi pass – {пароль glpi-пользователя БД}
Выберите Базу Данных 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.form.php
В итоге должен отобразиться не установленный плагин, нажмите «Установить»:
Настройка 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
Ручной вариант запуска инвентаризации на ПК:
/usr/bin/fusioninventory-agent -f --conf-file=/etc/fusioninventory/agent.cfg --daemon
После вышеперечисленных действий на сервере появится информация о ПК-клиенте:
Первичная настройка GLPI
Удаление файла автонастройки install.php
После установки GLPI на главной странице появится уведомление о том, что надо удалить из корневой папки файл автонастройки install/install.php, удалите его командой:
rm /usr/share/glpi/install/install.php
Переименовывание базовых пользователей
После завершения установки система автоматически создаст 4 учетных записи с паролем и логином по умолчанию. После входа в систему данные учетные записи нужно будет переименовать и сменить на них пароли. Для смены паролей необходимо перейти в «Администрирование» -> «Пользователи»:
Переходим в настройки нужного пользователя и меняем необходимые данные:
Основные разделы GLPI
Заявки
Для настройки заявок необходимо перейти в «Поддержка» -> «Заявки» -> «Управление шаблонами» (две горизонтальные линии с разрывом). Выбираем шаблон для настройки, в левой части находятся параметры данного шаблона:
При переходе в меню заявок можно просмотреть список доступных заявок, создать собственную заявку или отсортировать список заявок:
Уведомления
Для настройки уведомлений перейдите в «Настройки» -> «Уведомления» и включите уведомления о комментариях, уведомлениях по e-mail и браузерные оповещения:
Интерфейс
В GLPI есть несколько способов настроить отображаемый внешний вид вкладок и интерфейс. Для настройки первым способом перейдите в «Настройки» -> «Общий» -> «Значения по умолчанию»:
В открывшейся вкладке можно настроить интерфейс как вам удобно. Для настройки вторым способом (для конкретного пользователя) перейдите по имени профиля в правом верхнем углу -> «Внешний вид».
Автоматические действия
В GLPI имеется возможность запускать автоматически выполняемые команды. Для этого перейдите в «Настройки» -> «Автоматические действия». С помощью действий можно настроить автоматическую отправку уведомлений, очистку журнала, закрытие заявок и т.д. Для данных команд можно настроить время запуска или при необходимости запустить вручную.
SLA
В GLPI имеется возможность добавления уровней обслуживания (SLA). Для этого перейдите в «Настройки» -> «Уровни обслуживания», в открывшемся списке можно отсортировать имеющиеся уровни или добавить новый уровень, нажав на плюс в левой части панели:
Автоматическое назначение заявок
Имеется возможность автоматического назначения заявки на сотрудника. Для этого перейдите в «Администрирование» -> «Правила» -> «Бизнес-правила для заявок», в появившемся списке нужно выбрать правило и настроить его:
Отчет
Позволяет увидеть все, что происходит в системе, получить статистику и информацию по инвентаризации. Для просмотра отчёта переходим в «Инструменты» -> «Отчет» и выбираем необходимый тип отчёта:
Дата последнего изменения: 06.07.2023
Если вы нашли ошибку, пожалуйста, выделите текст и нажмите Ctrl+Enter.