Тематические термины: 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
Приложение 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.remontka.local
Define root_path /var/www/glpi
ServerName ${root_domain}
DocumentRoot ${root_path}
</VirtualHost>
* мы создали виртуальный домен glpi.remontka. local, при обращении на который apache будет искать файлы в каталоге /var/www/glpi .
Перезапускаем apache:
systemctl restart httpd
Создаем каталог:
mkdir -p /var/www/glpi
Создаем файл со следующим содержимым:
vi /var/www/glpi/index.php
<?php phpinfo(); ?>
Открываем браузер и вводим имя виртуального домена (в нашем случае, glpi.remontka.local) — мы должны увидеть, примерно, следующее:
По умолчанию, в 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:
Подключаемся к СУБД:
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 выполняется по следующему алгоритму:
Устанавливаем 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 .
Переходим на страницу загрузки плагина — 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 кликаем Установить и Включить .
Копируем ссылку на плагин — github.com/pluginsGLPI/barcode/releases . Распаковываем:
tar -xvjf glpi-barcode-*.tar.bz2 -C /var/www/glpi/plugins/
Заходим в управление плагинами на портале и устанавливаем Barcode.
Скачиваем ( 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.remontka.local/CN=test»
Добавляем виртуальный домен:
vi /etc/httpd/conf.d/glpi.conf
<VirtualHost *:80>
Define root_domain test-glpi.remontka.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.remontka.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
Для поддержки 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 (потребуется регистрация).
Zulip — программное обеспечение для реализации корпоративного чата. Разработан в 2012 году, в 2014 был…
Zookeeper — cервис-координатор, который позволяет обеспечить контроль синхронизации данных. Разработан на Java компанией Apache Software…
Zimbra — программное обеспечение для реализации почтового сервиса или, если сказать точнее, автоматизации совместной деятельности…
Zabbix — бесплатная система мониторинга. Позволяет отслеживать состояние сетевых узлов, компьютеров и серверов. Возможности: Поддержка…
YouTube — компания-владелец одноименного портала для просмотра и хранения видео. Чтобы пользоваться данным порталом достаточно…
Yota — провайдер, предоставляющий доступ к сети Интернет по беспроводной связи. Впервые, сервис начал работать…