Процедура установки новой версии GLPI на Ubuntu Trusty

Posted by

Обновленный релиз GLPI Имея немного свободного времени поставил себе задачу, потестировать работу связки новых версии GLPI + FusionInventory, может обновлю имеющееся и уже давно работающее, как glpi 0.84.3 + FusionInvetory (v 3.5). Как оказалось в сентябре вышла новая версия 0.90.5, а значит есть желание ее потестировать, может какие-либо дополнительные функции мне в моем использовании будут полезны.

Что по характеристикам подопытной системы: (в этом меня выручает приложение Virtualbox в котором я обкатываю интересные для меня настройки)

  • Система: 14.04.5 Server amd64
  • CPU = 2
  • HDD = 50Gb (LVM)
  • RAM = 2Gb
  • Ethernet = 10.7.8.122

Устанавливаю все необходимые обновления для инсталлированных пакетов развернутой системы и пакетов безопасности:

ekzorchik@srv-host:~$ sudo rm -Rf /var/lib/apt/lists/

ekzorchik@srv-host:~$ sudo apt-get update

ekzorchik@srv-host:~$ sudo apt-get upgrade -y

ekzorchik@srv-host:~$ sudo apt-get install linux-generic-lts-xenial linux-image-generic-lts-xenial -y

Далее нужно настройки локали и поддержка в локали русского языка:

ekzorchik@srv-host:~$ sudo locale-gen ru_RU

ekzorchik@srv-host:~$ sudo locale-gen ru_RU.UTF8

ekzorchik@srv-host:~$ sudo dpkg-reconfigure locales

ekzorchik@srv-host:~$ sudo nano /etc/profile

export LC_ALL="en_US.UTF-8"

ekzorchik@srv-host:~$ source /etc/profile

Теперь отредактирую файл /etc/locale.alias:

ekzorchik@srv-host:~$ sudo nano +67 /etc/locale.alias

вместо: russian ru_RU.ISO-8859-5

изменяю на: russian ru_RU.UTF-8

Настраиваю корректный часовой пояс текущего месторасположения:

ekzorchik@srv-host:~$ sudo rm /etc/localtime

ekzorchik@srv-host:~$ sudo ln -sf /usr/share/zoneinfo/Europe/Moscow /etc/localtime

ekzorchik@srv-host:~$ sudo reboot

Мое ядро:

ekzorchik@srv-host:~$ uname -a && lsb_release -a

Linux srv-host 4.4.0-47-generic #68~14.04.1-Ubuntu SMP Wed Oct 26 19:42:11 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

No LSB modules are available.

Distributor ID: Ubuntu

Description: Ubuntu 14.04.5 LTS

Release: 14.04

Codename: trusty

Устанавливаю в систему пакет LAMP:

ekzorchik@srv-host:~$ sudo tasksel install lamp-server

New password for the MySQL «root» user: 712mbddr@

Repeat password for the MySQL «root» user: 712mbddr@

ekzorchik@srv-host:~$ sudo apt-get install php5-gd php5-curl -y

ekzorchik@srv-host:~$ sudo nano /etc/apache2/apache2.conf

ServerName srv-host

ekzorchik@srv-host:~$ sudo mysql_secure_installation

Создаю базу, пользователя и пароль для разворачиваемого приложения GLPI:

ekzorchik@srv-host:~$ mysql -u root -p712mbddr@

mysql> create database glpi character set utf8;

mysql> create user 'user_glpi'@'localhost' identified by '712mbddr@';

mysql> grant all privileges on glpi.* to 'user_glpi'@'localhost';

mysql> flush privileges;

mysql> exit;

Скачиваю релиз GLPI системы он новее чем то который у меня установлен и по сей день:

ekzorchik@srv-host:~$ wget https://github.com/glpi-project/glpi/releases/download/0.90.5/glpi-0.90.5.tar.gz

ekzorchik@srv-host:~$ tar zxf glpi-0.90.5.tar.gz

ekzorchik@srv-host:~$ sudo mv glpi /var/www/html/

ekzorchik@srv-host:~$ sudo chown -R www-data:www-data /var/www/html/glpi/

Теперь создаем сайт при обращении к URL вида: http://IP&DNS/glpi должен запускаться Webинтерфейс управления:

ekzorchik@srv-host:~$ sudo nano /etc/apache2/sites-available/glpi.conf

<VirtualHost *:80>

ServerName srv-host

DocumentRoot /var/www/html/glpi

LogLevel warn

ErrorLog /var/log/apache2/glpi-error.log

CustomLog /var/log/apache2/glpi-access.log combined

ServerSignature Off

</Virtualhost>

ekzorchik@srv-host:~$ sudo a2ensite glpi.conf

ekzorchik@srv-host:~$ sudo chown -R www-data:www-data /var/www/html/glpi/

ekzorchik@srv-host:~$ sudo rm /var/www/html/index.html

ekzorchik@srv-host:~$ sudo service apache2 restart

Теперь запускаем браузер и обращаемся к данной системе URL строкой вида: http://IP&DNS/glpi и меня перебрасывает на страницу инсталляции: http://10.7.8.122/install/install.php, где указываю

  • Select your language: Русский — и нажимаю кнопку OK
  • Лицензионное соглашение: Я прочел и ПРИНИМАЮ все пункты лицензии — и нажимаю кнопку «Продолжить»
  • Установка или обновление GLPI — Нажимаю кнопку «Установить»

Проверяю на совместимость системы с GLPI везде должны быть отметки зеленой галочкой что все хорошо и только после этого можно нажимать «Продолжить», указываю параметры соединения с базой:

  • SQL сервер (MariaDB или MySQL): localhost
  • SQL пользователь: user_glpi
  • SQL пароль: 712mbddr@

и нажимаю «Продолжить», следующий шаг это проверка соединения с базой данных:

Выберите базу данных: выбираю glpi

и нажимаю «Продолжить», шаг №3 говорит, что инициализация базы данных прошла успешно:

OK — база данных проинициализирована

нажимаю «Продолжить», запоминаю информацию выведенную на странице, т. к. установка завершена:

По умолчанию логины / пароли:

  • glpi/glpi для учетной записи администратора
  • tech/tech для технической учетной записи
  • normal/normal для обычной учетной записи
  • post-only/postonly только для подачи заявок

Вы можете изменить или удалить эти учетные записи.

А вот теперь нажимаю «Запустить GLPI» и меня перекидывает на страницу аутентификации:

  1. Обновленное окно входа в GLPI http://10.7.8.122/index.php
  2. Имя пользователя: glpi
  3. Пароль: glpi

и нажимаю «Отправить»

И вот что я вижу, интерфейс стал более привлекательным:

Интерфейс GLPI обновлен в лучшую сторону

Как велит мастер на скриншоте выше не забываем удалить установочный файл в целях повышения безопасности установленного:

ekzorchik@srv-host:~$ sudo rm /var/www/html/glpi/install/install.php

Что же теперь, ладно установка выше в ней нет ничего сверхестественного все достаточно понятно, теперь нужно задокумментировать как добавить агента FusionInventory в GLPI и чтобы он поддерживался, на основе всех действий при подготовки этой заметки вывел, что поддерживается версия: — 0.90.1.4. Перехожу к действиям, копирую плагин FusionInventory самой последней редакции 0.90.1.4.tar.gz в каталог установки плагинов GLPI:

ekzorchik@srv-host:~$ wget https://github.com/fusioninventory/fusioninventory-for-glpi/releases/download/glpi090%2B1.4/fusioninventory-for-glpi_0.90.1.4.tar.gz

ekzorchik@srv-host:~$ tar zxf fusioninventory-for-glpi_0.90.1.4.tar.gz

ekzorchik@srv-host:~$ sudo mv fusioninventory /var/www/html/glpi/plugins/

ekzorchik@srv-host:~$ sudo chown -R www-data:www-data /var/www/html/glpi/plugins/

После в настройках установки «Дополнений» видно хорошую новость можно установить данный плагин чем воспользуюсь нажав кнопку «Установить»

http://IP&DNS/glpi — Настройки — (Настройки) Дополнения —

Устанавливаю агент FusionInventory 0.90+1.4 в GLPI

Нажимаю «Установить» — Ожидаю…, а затем нажимаю «Включить», после проверяю перейдя на элемент меню «Дополнения» и вижу что стал доступен устанавливаемый плагин FusionInventory

Дополнение FusionInventory успешно активировано.

, но чтобы его задействовать нужно активировать URL службы ->

http://10.7.8.122/front/central.php — Администрирование — Организации — Root entity — FusionInventory и прописываем URL службы:

  • URL службы: http://10.7.8.122/glpi

и нажимаю «Сохранить».

Затем проверяю, как будет происходить съем информации с установленного агента на Windows системе (либо W7X86, либо W7X64):

  • https://github.com/tabad/fusioninventory-agent-windows-installer/releases/download/2.3.18/fusioninventory-agent_windows-x64_2.3.18.exe
  • https://github.com/tabad/fusioninventory-agent-windows-installer/releases/download/2.3.18/fusioninventory-agent_windows-x86_2.3.18.exe

К примеру устанавливать агент буду на W7X86:

  • Choose Components — Full
  • Destination Folder — C:\Program Files\FusionInventory-Agent
  • Remote Targets — http://10.7.8.122/glpi/plugins/fusioninventory/
  • Execution Mode: As a Windows Service
  • Embedded HTTP Server Options: оставляю все по дефолту
  • Enable embedded HTTP Server: Отмечаю галочкой
  • Miscelaneuous Options:
    • Create Start Menu for all users
    • Launch an inventory immediately after installation

остальные опции оставляю по дефолту.

После того как агент установлен, можно проверить какая информации вообще собирается, для этого открываем на системе браузер и в строке адреса указываем: http://localhost:62354/ должна быть вот такая вот страница:

Из представленного скриншота выше видно, что идет сбор информации, а следующий запуск через один час, можно конечно же скомандовать собрать информацию принудительно кликнув по ссылке с надписью «Force an Inventory» (http://localhost:62354/now) или же просто перезапустить службу в командной строке запущенной с правами Администратора:

C:\Windows\system32>net stop FusionInventory-Agent && net start FusionInventory-

Agent

http://10.7.8.122/glpi — Дополнения — FusionInventory — Основные — Управление агентами

и вот она система:

Агент на W7X86 успешно подключен к GLPI

А теперь разберу как установить агента на Ubuntu Trusty:

ekzorchik@srv-host:~$ sudo nano /etc/apt/sources.list

deb http://debian.fusioninventory.org/debian trusty main

ekzorchik@srv-host:~$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv 049ED9B94765572E

ekzorchik@srv-host:~$ sudo wget -O - http://debian.fusioninventory.org/debian/archive.key | sudo apt-key add -

ekzorchik@srv-host:~$ sudo apt-get update

ekzorchik@srv-host:~$ apt-cache show fusioninventory-agent | grep Version

Version: 1:2.3.16-1

Version: 1:2.3.5.1-1

ekzorchik@srv-host:~$ sudo apt-get install fusioninventory-agent -y

ekzorchik@srv-host:~$ sudo fusioninventory-agent -s http://10.7.8.122/glpi/plugins/fusioninventory/

[info] sending prolog request to server server0

[info] running task ESX

[info] ESX support disabled server side.

[info] running task Inventory

Теперь настраиваю конфигурационный файл для агента дабы агент запускался сам:

ekzorchik@srv-host:~$ sudo nano /etc/default/fusioninventory-agent

MODE=daemon

ekzorchik@srv-host:~$ sudo nano /etc/fusioninventory/agent.cfg

server = http://10.7.8.122/glpi/plugins/fusioninventory/

logfile = /var/log/fusioninventory.log

debug = 2

timeout = 60

ekzorchik@srv-host:~$ sudo service fusioninventory-agent stop

Stopping fusioninventory-agent: fusioninventory-agent.

ekzorchik@srv-host:~$ sudo service fusioninventory-agent start

Starting fusioninventory-agent: [debug] Logger backend File initialised

[debug] FusionInventory Agent (2.3.16)

[debug] Configuration directory: /etc/fusioninventory

[debug] Data directory: /usr/share/fusioninventory

[debug] Storage directory: /var/lib/fusioninventory-agent

[debug] Lib directory: /usr/share/fusioninventory/lib

[debug] [target server0] Next server contact planned for Fri Nov 18 09:26:22 2016

[debug] Available tasks:

[debug] — ESX: 2.2.1

[debug] — Inventory: 1.0

[debug] — WakeOnLan: 2.0

[error] An agent is already running, exiting…

fusioninventory-agent.

ekzorchik@srv-host:~$ sudo netstat -tulpn | grep :62354

tcp 0 0 0.0.0.0:62354 0.0.0.0:* LISTEN 9656/perl

После переключаюсь на Webинтерфейс управления GLPI и проверяю что агент с текущего хоста Ubuntu Trusty добавился в оснастку и производится съем информации:

http://10.7.8.122/glpi — Дополнения — FusionInventory — Основные — Управление агентами

и вот она система:

Агент на Ubuntu Trusty успешно подключен к GLPI

А после переходу в элемент меню Компьютеры и вижу информацию которую удалось собрать: Оборудование — Компьютеры — (Видимые объекты) — Поиск

Съем информации с агента на Ubuntu Trusty пошел

Если же долго не происходит появление агента и компьютера в оснастке GLPI то можно на системе Ubuntu Trusty попробовать проверить, а вообще идет ли подключение к серверу GLPI:

ekzorchik@srv-host:~$ sudo fusioninventory-agent -s http://10.7.8.122/glpi/plugins/fusioninventory/

в выводе должна быть вся информации по системе, если есть то значит скоро все отобразится в GLPI интерфейсе.

Отлично, что еще можно сказать видя все что удалось сделать выше. Мое мнение на счет всего этого, да стало удобно при использовании Web-интерфейса, а все остальное осталось прежним по крайней мере в том контексте в котором я использую связку GLPI + FusionInventory. А пока я прощаюсь, с уважением автор блога Олло Александр aka ekzorchik.