Тематические термины: GLPI, CentOS.
GLPI project является приложением на основе PHP, поэтому мы сначала настроим веб-сервер на базе Apache + PHP7 + MariaDB (можно также использовать nginx, но в инструкции мы этого делать не будем). После приступим к развертыванию самого GLPI. Все действия выполняются на базе операционной системы CentOS 7, однако, во многом, подойдут для других дистрибутивов Linux (Ubuntu, Debian, …) и Windows.
Установим пакет для синхронизации времени:
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
Приложение GLPI лучше всего работает на основе веб-сервера Apache (но не исключает возможности установки на NGINX). Для его установки вводим команду:
yum install httpd
После запускаем его:
systemctl enable httpd
systemctl start httpd
Открываем браузер и вводим IP-адрес сервера — мы должны увидеть тестовую страницу Apache:
В репозитории 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:
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.admins24.local Define root_path /var/www/glpi
ServerName ${root_domain} DocumentRoot ${root_path}</VirtualHost>
* мы создали виртуальный домен glpi.admins24.local, при обращении на который apache будет искать файлы в каталоге /var/www/glpi.
Перезапускаем apache:
systemctl restart httpd
Создаем каталог:
mkdir -p /var/www/glpi
Создаем файл со следующим содержимым:
vi /var/www/glpi/index.php
<?php phpinfo(); ?>
Открываем браузер и вводим имя виртуального домена (в нашем случае, glpi.admins24.local) — мы должны увидеть, примерно, следующее:
По умолчанию, в CentOS устанавливается mariadb версии 5. Это ранняя версия и она не подходит для последних версий GLPI.
Переходим по ссылке downloads.mariadb.org/mariadb/repositories и выбираем нашу версию операционной системы и последний стабильный релиз mariadb:
Ниже мы увидим инструкцию по добавлению репозитория в CentOS и установке СУБД:
Согласно инструкции, добавим репозиторий:
vi /etc/yum.repos.d/mariadb-10.repo
[mariadb]name = MariaDBbaseurl = http://yum.mariadb.org/10.3/centos7-amd64gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDBgpgcheck=1
Обновим пакеты:
Устанавливаем СУБД командой:
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
Открываем нашу страницу с phpinfo — мы должны найти информацию поддержке MySQL:
Подключаемся к СУБД:
mysql -uroot -p
Создаем базу данных:
> CREATE DATABASE glpi DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
* где glpi — имя базы.
Создаем пользователя с доступом к этой базе:
> GRANT ALL PRIVILEGES ON glpi.* TO [email protected] IDENTIFIED BY ‘glpi123’;
* где [email protected] — пользователь с логином glpi и доступом с локального сервера; glpi123 — пароль для пользователя.
Отключаемся от MariaDB:
Установим пакет для загрузки файлов:
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):
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 не запущен:
* * * * * /bin/php /var/www/glpi/front/cron.php &>/dev/null
* в данном примере скрипт /var/www/glpi/front/cron.php будет выполняться раз в минуту.
3. Переходим в Администрирование – Пользователь:
Меняем пароль для следующих учетных записей:
Для удобства использования портала необходимо самостоятельно настроить следующее:
Функциональные возможности программы значительно расширяются за счет плагинов. Рассмотрим установку некоторых из них.
Установка плагинов в GLPI выполняется по следующему алгоритму:
Устанавливаем 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.
Переходим на страницу загрузки плагина — forge.glpi-project.org/projects/reports/files. Копируем ссылку на подходящую версию (внимательно смотрим наличие поддержки установленной версии GLPI). После скачиваем на сервер плагин:
wget https://forge.glpi-project.org/attachments/download/2246/glpi-plugin-reports-1.11.3.tar.gz
Распаковываем плагин:
tar -xvzf glpi-plugin-reports-*.tar.gz -C /var/www/glpi/plugins/
На портале переходим в Настройки – Плагины – напротив Reports кликаем Установить и Включить.
Копируем ссылку на плагин — github.com/pluginsGLPI/barcode/releases. Распаковываем:
tar -xvjf glpi-barcode-*.tar.bz2 -C /var/www/glpi/plugins/
Заходим в управление плагинами на портале и устанавливаем Barcode.
Плагин можно скачать по ссылке forge.glpi-project.org/projects/archires/files. Однако, на момент, написания инструкции, версия GLPI 9.3 еще не поддерживалась.
Ход установки аналогичный — скачиваем:
wget https://forge.glpi-project.org/attachments/download/2235/glpi-archires-2.5.1.tar.gz
Распаковываем:
tar -xvzf glpi-archires-*.tar.gz -C /var/www/glpi/plugins/
Устанавливаем через портал.
Скачиваем (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/
Скачиваем (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.
Если в нашей сети есть сервер с установленной ролью контроллера домена, мы можем выполнять аутентификацию на основе ldap. Настройка выполняется в два этапа — настройка связи с LDAP и импорт пользователей из каталога.
Для начала, создаем учетную запись в каталоге Active Directory для настройки связывания с GLPI. У нее должны быть минимальные права.
Теперь создаем каталог LDAP. Для этого переходим в Настройки – Аутентификация:
Кликаем по LDAP каталог и нажимаем Добавить:
Заполняем поля для настройки LDAP:
* где:
Нажимаем Добавить.
Переходим в подраздел Тест и проверяем подключение к каталогу. Если оно выполнится с ошибкой, подождите, минут, 15 — возможно, не прошла репликация между всеми контроллерами.
Переходим в подраздел Пользователь — заполняем поля для ассоциаций с LDAP:
Нажимаем Сохранить.
А также:
Переходим в Администрирование – Пользователь:
Кликаем по Связи с LDAP:
Затем Импорт новых пользователей – Поиск. Среди найденных результатов отмечаем всех или необходимых пользователей – Действие – Импорт.
После импорта, пользователь может входить на портал под своей доменной учетной записью.
Для настройки 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.admins24.local/CN=test”
Добавляем виртуальный домен:
<VirtualHost *:80> Define root_domain test-glpi.admins24.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.admins24.local Define root_path /var/www/glpi
SSLEngine on SSLCertificateFile ssl/cert.pem SSLCertificateKeyFile ssl/cert.key</VirtualHost>
* в данном примере мы добавили виртуальный домен для 443 порта и добавили правило перенаправления всех запросов с http (80) на https (443).
Добавляем порт 443 в брандмауэр (если этого не было сделано при подготовке сервера):
Устанавливаем модуль mod_ssl:
yum install mod_ssl
Для поддержки 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:
Подробнее про настройку HTTP/2 на Apache.
Упомянем еще о некоторых моментах, касающихся GLPI.
Позволяют увидеть все, что происходит в системе, получить статистику и информацию по инвентаризации. Для открытия кликаем по Инструменты – Отчет – выбираем необходимый тип отчета.
Также, возможности отчетов можно расширить с помощью плагинов, например, Reports.
Официальная база знаний и описание программного продукта доступны по ссылке wiki.glpi-project.org/doku.php?id=ru:welcome. Имеется поддержка русского языка, однако перевод есть не для всех разделов.
Если у нас уже установлен GLPI, его можно обновить с помощью инструкции Как обновить GLPI.
Перед установкой портала, можно протестировать его возможности на официальном демо-портале — demo.glpi-project.org.
Продолжая использовать данный сайт вы принимаете политику конфиденциальности и cookies