GLPI p11
Ссылка на устаревшую версию статьи по glpi: https://www.altlinux.org/GLPI_(старая_версия)
Вводные
Сервер GLPI: Альт Сервер 11.0 (ip: 192.168.100.42, версия ядра: 6.12.45-6.12-alt1);
Клиентские узлы:
- Альт Рабочая станция 11.0;
- Windows 10;
- Ubuntu 24.04.3 LTS;
- CentOS Stream 9.
glpi: glpi-10.0.20
glpi-inventory: glpi-glpiinventory-1.5.0
glpi-agent: glpi-agent-1.12
Перед настройкой GLPI предполагается, что ОС обновлены до актуального состояния.
# apt-get update
# apt-get dist-upgrade
# update-kernel
# reboot
Установка GLPI и настройка БД MariaDB на Альт Сервер 11.0
- Выполним установку следующих пакетов:
# apt-get install glpi glpi-apache2 glpi-php8.4 apache2-mod_php8.4 mariadb-server
После включим и добавим в автозагрузку следующие службы: mysqld (mariadb) и httpd2 (apache).
# systemctl enable --now mysqld
# systemctl enable --now httpd2
- Далее необходимо выполнить запуск скрипта /usr/bin/mysql_secure_installation для первоначальной настройки сервера MariaDB.
Он требует интерактивного взаимодействия, в связи с чем можно написать простой скрипт (например, mysql_secure.sh) для более упрощенной работы с ним, заранее указав готовые ответы.
# cd /usr/local/bin/
# touch mysql_secure.sh
# chmod +x mysql_secure.sh
Содержимое скрипта mysql_secure.sh:
#!/usr/bin/expect -f
set timeout -1
set PASSWD "Password"
spawn /usr/bin/mysql_secure_installation
expect "Enter current password for root (enter for none):"
send "\r"
expect {
"Enable unix_socket authentication?" { send "y\r" }
"Switch to unix_socket authentication" { send "y\r" }
}
expect "Change the root password?"
send "y\r"
expect "New password:"
send "$PASSWD\r"
expect "Re-enter new password:"
send "$PASSWD\r"
expect "Remove anonymous users?"
send "y\r"
expect "Disallow root login remotely?"
send "n\r"
expect "Remove test database and access to it?"
send "y\r"
expect "Reload privilege tables now?"
send "y\r"
expect eof
Выполним запуск скрипта:
# mysql_secure.sh
spawn /usr/bin/mysql_secure_installation
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!
In order to log into MariaDB to secure it, we'll need the current
password for the root user. If you've just installed MariaDB, and
haven't set the root password yet, you should just press enter here.
Enter current password for root (enter for none):
OK, successfully used password, moving on...
Setting the root password or using the unix_socket ensures that nobody
can log into the MariaDB root user without the proper authorisation.
Enable unix_socket authentication? [Y/n] y
Enabled successfully!
Reloading privilege tables..
... Success!
You already have your root account protected, so you can safely answer 'n'.
Change the root password? [Y/n] y
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
... Success!
By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them. This is intended only for testing, and to make the installation
go a bit smoother. You should remove them before moving into a
production environment.
Remove anonymous users? [Y/n] y
... Success!
Normally, root should only be allowed to connect from 'localhost'. This
ensures that someone cannot guess at the root password from the network.
Disallow root login remotely? [Y/n] n
... skipping.
By default, MariaDB comes with a database named 'test' that anyone can
access. This is also intended only for testing, and should be removed
before moving into a production environment.
Remove test database and access to it? [Y/n] y
- Dropping test database...
... Success!
- Removing privileges on test database...
... Success!
Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.
Reload privilege tables now? [Y/n] y
... Success!
Cleaning up...
All done! If you've completed all of the above steps, your MariaDB
installation should now be secure.
Thanks for using MariaDB!
- После выполним создание базы данных glpi, соответствующего пользователя и назначим ему необходимые привилегии для доступа и управления созданной базой.
# cd /usr/local/bin/
# touch mysql_create_db.sh
# chmod +x mysql_create_db.sh
Содержимое скрипта mysql_create_db.sh:
#!/bin/bash
PASSWD="Password"
CREATE_DATABASE="CREATE DATABASE IF NOT EXISTS glpi;"
CREATE_USER="DROP USER IF EXISTS 'dbuser'@'%'; CREATE USER dbuser@'%' IDENTIFIED BY '$PASSWD';"
GRANT_PRIV="GRANT ALL PRIVILEGES ON glpi.* TO 'dbuser'@'%'; FLUSH PRIVILEGES;"
mysql -u root -p"$PASSWD" -e "$CREATE_DATABASE$CREATE_USER$GRANT_PRIV"
Выполним запуск скрипта:
# mysql_create_db.sh
- Дополнительно необходимо предоставить возможность удаленного клиентского доступа к серверу mariadb. По умолчанию прослушивает только unix_socket. Порт 3306 закрыт.
# ss -lnp | grep mysql
u_str LISTEN 0 80 /mysql.sock 11511 * 0 users:(("mysqld",pid=4499,fd=3))
Чтобы это исправить, необходимо внести в конфигурационный файл /etc/my.cnf.d/server.cnf следующие изменения:
# sed -i '/^skip-networking/s/^/#/' /etc/my.cnf.d/server.cnf
# sed -i '/^bind-address/s/^/#/' /etc/my.cnf.d/server.cnf
либо выполнить следующую команду:
# control mysqld server
После перезапустим службу:
# systemctl restart mysqld.service
- Удостоверимся, что настройки применились корректно и доступ к базе происходит успешно:
# cat /etc/my.cnf.d/server.cnf | grep -E "bind-address|skip-net"
#skip-networking
#bind-address=192.168.100.1
# ss -lnp | grep mysql
u_str LISTEN 0 80 /mysql.sock 14981 * 0 users:(("mysqld",pid=5435,fd=5))
tcp LISTEN 0 80 0.0.0.0:3306 0.0.0.0:* users:(("mysqld",pid=5435,fd=3))
tcp LISTEN 0 80 [::]:3306 [::]:* users:(("mysqld",pid=5435,fd=4))
# mysql -u dbuser -p'Password' glpi
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 4
Server version: 10.11.14-MariaDB-alt1 (ALT p11)
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [glpi]> exit
Bye
# mysql -u dbuser -p'Password' -h 127.0.0.1 glpi
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 5
Server version: 10.11.14-MariaDB-alt1 (ALT p11)
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [glpi]> exit
Bye
Инсталляция GLPI через командную строку
- Перед инсталляцией glpi необходимо отредактировать конфигурационный файл /etc/php/8.4/apache2-mod_php/php.ini, внеся следующие изменения для обеспечения минимальной безопасности в сеансовых файлах cookie:
# sed -i '/session.cookie_httponly/s/^;\|#\+//' /etc/php/8.4/apache2-mod_php/php.ini
# sed -i 's|session.cookie_httponly =|session.cookie_httponly = on|g' /etc/php/8.4/apache2-mod_php/php.ini
где:
- session.cookie_secure - директива php, которая должна быть установлена в значение “on”, если доступ к GLPI осуществляется по протоколу HTTPS;
- session.cookie_httponly - директива php, которая должна быть установлена в значение “on”, чтобы предотвратить доступ скрипта на стороне клиента к значениям cookie.
Удостоверимся, что внесенные изменения применились.
# cat /etc/php/8.4/apache2-mod_php/php.ini | grep -E session.cookie_httponly
session.cookie_httponly = on
Выполним перезапуск службы httpd2:
# systemctl restart httpd2.service
- Произведем инсталляцию glpi.
Выполнить инсталляцию можно через веб-интерфейс GLPI, введя в строке браузера https://<ip_address_server>/glpi/ либо через командную строку. Ниже приведен пример инсталляции через CLI.
# su -s /bin/sh -c "php /var/www/webapps/glpi/bin/console db:install --default-language=ru_RU --db-name=glpi --db-user=dbuser --db-password='Password' --db-host=127.0.0.1 --no-telemetry -n" apache2
Для доступа к веб-интерфейсу glpi необходимо ввести следующий url в строку браузера http://192.168.100.42/glpi/
По умолчанию логины / пароли:
- glpi/glpi для учетной записи администратора;
- tech/tech для технической учетной записи;
- normal/normal для обычной учетной записи;
- post-only/postonly только для подачи заявок.
Внешний вид веб-интерфейса GLPI:
Инсталляция GLPI через веб интерфейс
Как ранее было сказано, инсталляцию GLPI также можно произвести через веб - интерфейс, введя в строке браузера следующий адрес: http://<ip_address_server>/glpi. Если инсталляция ранее не выполнялась, то произойдет автоматический redirect на страницу инсталляции http://<ip_address_server>/glpi/install/install.php.
Ниже приведен пример инсталляции glpi через веб-интерфейс.
На следующей странице представлена проверка окружения на совместимость с GLPI.
Далее необходимо произвести установку соединения с базой данных.
Соединение с БД успешно установлено. Далее необходимо выбрать уже ранее созданную базу данных.
На следующем шаге производится инициализация базы данных.
Если инициализация пройдет успешно, будет выведено соответствующее сообщение.
После произведенной инсталляции дополнительно будет приведен список базовых учетных записей с паролями по умолчанию, которые необходимо будет изменить в целях обеспечения безопасности после первой произведенной авторизации в системе.
Установка glpi-inventory-plugin На Альт Сервер 11.0
На текущий момент для возможности производить инвентаризацию аппаратного и программного обеспечения необходимо установить в систему плагин glpi-inventory.
https://plugins.glpi-project.org/#/plugin/glpiinventory
Скачаем архив плагина, после чего распакуем его в каталог, в котором хранятся все плагины GLPI.
# wget https://github.com/glpi-project/glpi-inventory-plugin/releases/download/1.5.0/glpi-glpiinventory-1.5.0.tar.bz2
# tar -xjf glpi-glpiinventory-1.5.0.tar.bz2 -C /var/www/webapps/glpi/plugins/
После выполним инсталляцию и активацию плагина через веб-интерфейс под пользователем glpi.
Главная → Настройки → Плагины
Настройка плагина GLPI Inventory
Для настройки плагина далее необходимо перейти в раздел Администрирование → GLPI Inventory → Настройки → Модули агента и включить следующие модули: Сетевая инвентаризация (SNMP), Сетевое обнаружение, - нажав на кнопку “Обновление” для каждого модуля.
Далее перейдем в раздел “Администрирование” → “Оборудование”, включим инвентаризацию и после сохраним изменения (кнопка в нижней части экрана).
Настройка glpi-agent на клиентском узле Альт Рабочая Станция 11.0
На клиентском узле необходимо установить пакет glpi-agent:
# apt-get install glpi-agent
Внести изменения в конфигурационный файл /etc/glpi-agent/agent.cfg, добавив следующую строку:
server = http://<ip_address_server_glpi>/glpi/plugins/glpiinventory/
После чего выполнить запуск службы:
# systemctl enable --now glpi-agent.service
По умолчанию инвентаризация будет запущена через 1 час после запуска службы. Этот параметр можно изменить, указав необходимое значение в секундах в строке delaytime в конфигурационном файле /etc/glpi-agent/agent.cfg.
Для ручного запуска инвентаризации на клиенте можно использовать следующую команду:
# glpi-agent -f --conf-file=/etc/glpi-agent/agent.cfg
После выполнения вышеперечисленных действий на сервере появится информация о клиенте:
Настройка glpi-agent на клиентском узле Ubuntu 24.04.3 LTS
Для установки glpi-agent на клиентский узел Ubuntu необходимо скачать файл-установщик glpi-agent-1.12-linux-installer.pl, запустить его, после чего вручную отправить данные на сервер для инвентаризации.
$ sudo apt update
$ sudo apt install wget perl -y
$ wget https://github.com/glpi-project/glpi-agent/releases/download/1.12/glpi-agent-1.12-linux-installer.pl
$ sudo perl glpi-agent-1.12-linux-installer.pl --type=all --install --server=http://192.168.100.42/glpi/plugins/glpiinventory/
Installing glpi-agent v1.12...
Applying configuration...
Enabling glpi-agent service...
$ sudo glpi-agent --force
[info] target server0: server http://192.168.100.42/glpi/plugins/glpiinventory/
[info] sending prolog request to server0
[info] server0 answer shows it supports GLPI Agent protocol
[info] running task ESX
[info] No ESX job enabled or ESX support disabled server side.
[info] running task Deploy
[info] No Deploy job enabled or Deploy support disabled server side.
[info] running task Inventory
[info] New inventory from ubuntu24-2025-09-21-17-11-36 for server0
[info] running task Collect
[info] No Collect job enabled or Collect support disabled server side.
Обновленная информация на сервере glpi:
Настройка glpi-agent на клиентском узле Windows 10
Для установки glpi-agent на Windows 10 необходимо скачать и запустить следующий файл: GLPI-Agent-1.12-x64.msi
Процесс установки:
Выберем “Complete”
Далее укажем сервер glpi, на который будут отправляться данные:
Выполним окончательную установку:
Веб-интерфейс glpi-agent доступ по следующему адресу: http://localhost:62354.
Для передачи данных на glpi сервер, необходимо нажать на “Force an inventory”
После через некоторое время (~2-5 минут) информация о данном клиентском узле отобразиться в веб-интерфейсе glpi-сервера:
Настройка glpi-agent на клиентском узле CentOS Stream 9
Установка glpi-agent на CentOS аналогична установке на Ubuntu (см. выше).
Ниже приведенные действия выполняются под суперпользователем (su -).
# dnf update
# dnf install wget perl -y
Подключенные репозитории по умолчанию(при инсталляции glpi-agent будут автоматически добавлены дополнительные репо):
# dnf repolist
идентификатор репозитория имя репозитория
appstream CentOS Stream 9 - AppStream
baseos CentOS Stream 9 - BaseOS
extras-common CentOS Stream 9 - Extras packages
# wget https://github.com/glpi-project/glpi-agent/releases/download/1.12/glpi-agent-1.12-linux-installer.pl
# perl glpi-agent-1.12-linux-installer.pl --type=all --install --server=http://192.168.100.42/glpi/plugins/glpiinventory/
Installing glpi-agent v1.12...
Installing EPEL 9 repository...
Applying configuration...
Enabling glpi-agent service...
Обновленный список репо:
# dnf repolist
идентификатор репозитория имя репозитория
appstream CentOS Stream 9 - AppStream
baseos CentOS Stream 9 - BaseOS
crb CentOS Stream 9 - CRB
epel Extra Packages for Enterprise Linux 9 - x86_64
epel-cisco-openh264 Extra Packages for Enterprise Linux 9 openh264 (From Cisco) - x86_64
epel-next Extra Packages for Enterprise Linux 9 - Next - x86_64
extras-common CentOS Stream 9 - Extras packages
Отправка данных на сервер glpi:
# sudo glpi-agent --force
Обновленный список узлов:
Возможные ошибки
- При выборе языка и переходе на страницу ознакомления с лицензией может высветиться ошибка: "Действие недоступно. Возврат к предыдущей странице".
Она может возникать из-за ошибок в работе браузера. Например в версии: chromium-136.0.7103.113.
В более ранних и поздних версиях браузера данная ошибка не возникает.
- Дополнительно если доступ к веб-интерфейсу glpi осуществляется по протоколу http и дополнительно включен параметр session.cookie_secure = on в /etc/php/8.4/apache2-mod_php/php.ini, после авторизации будут также выводиться ошибка "Действие недоступно. Возврат к предыдущей странице" либо "Недопустимое использование ID сеанса" (в зависимости от используемого браузера).
- При инсталляции glpi на этапе “Проверка окружения на совместимость с GLPI”, может высветиться предупреждение, приведенное на следующем скриншоте, если директива session.cookie_httponly закомментирована либо не установлена в значение “on” в файле /etc/php/8.4/apache2-mod_php/php.ini.
- Если не выполнить соответствующую настройку MariaDB, включив прослушивание на порту tcp/ip, то при инсталляции glpi может возникнуть ошибка (по умолчанию прослушивается только unix socket): "Невозможно соединиться с базой данных".








