четверг, 25 апреля 2013 г.

Интеграция GLPI v0.80.7 с OCS Inventory v2

Добрый день.

Появилась необходимость интегрировать с OCS inventory такую систему как GLPI (Gestionnarie libre de parc informatique - Свободный менеджер ИТ-инфраструктуры) - система работы с заявками и инцидентами, а также для инвентаризации компьютерного оборудования.


1. Часть 1 (сервер)
2. Часть 2 (кириллица)
3. Часть 3 (агенты)
4. Часть 4 (GLPI)


1. Установка GLPI.


GLPI версии 0.80.7 есть в репозиториях Ubuntu 12.04, чем мы и воспользуемся:
# sudo apt-get install glpi

Во время установки нам будут заданы вопросы, на которые необходимо ответить так:
1. Yes
2. Введем пароль к root пользователю mysql
3. Введем пароль для пользователя базы данных glpi 
4. Подтвердим пароль пользователя glpi
Базовая настройка завершена, теперь перейдем непосредственно к настройке GLPI.

2. Настройка GLPI.

Перейдем по адресу http://your_server/glpi .
Где нас попросят ввести логин и пароль:

Доступы по умолчанию:
glpi/glpi - администратор
tech/tech - технический специалист
normal/normal - обычный пользователь
post-only/post-only - только обращение в службу поддержки

Система GLPI изначально разрабатывалась с возможностью интеграции с OCS Inventory. Для этого необходимо открыть вкладку Setup -> General -> Inventory.
Необходимо активировать интеграцию, установите значение Enable OCSNG mode в значение Yes.

Теперь надо прописать путь к базе OCSNG и доступы к базе.
Для этого перейдем в вкладку Setup -> OCSNG Mode, где вы увидите список доступных OCSNG серверов, в нашем случае он находится на localhost'e.
Нажмите на localhost зеленого цвета.
На открывшейся странице пропишем настройки подключения к базе OCSNG.
Name: вводим любое понравившееся вам название.
Host for the OCSNG databases: адрес БД OCSNG
Name for the OCSNG database: имя БД OCSNG
OCSNG database user: имя mysql пользователя OCSNG
OCSNG user password: пароль mysql пользователя OCSNG
OCSNG database in UTF8: устанавливаем Yes, если ваша база OCSNG хранит значения в UTF8.
Active: активируем интеграцию.

И нажмем кнопку Update.
После чего должно появиться такое сообщение:

Настройка интеграции закончена, теперь нам необходимо импортировать информацию из OCSNG в GLPI.

3. Экспорт из OCSNG в GLPI.

Переходим на вкладку Tools -> OCSNG  и выбираем пункт меню Import new computers.
В появившемся списке выбираем компьютеры, которые мы хотим импортировать:
И жмем кнопку Import.

Если же информация в OCSNG о существующих компьютерах изменилась, на этапе выбора пункта в Tools -> OCSNG выбираем: Synhronize computers already imported.

Тут все интуитивно понятно. Полазайте по настройкам и найдете много интересного. Так же очень хорошо переведен интерфейс на русский.

Советую создать пользователя для себя, а дефолтных пользователей дезактивировать или хотя бы изменить пароли.

4. Решаем проблемы с кодировками при импорте данных в форматы PDF и CSV.

Для начала нам необходимо обзавестись шрифтами, которые поддерживают кириллицу:
# wget http://www.tux.in.ua/wp-content/uploads/2009/08/font.rar

Теперь разархивируем данный архив:
# sudo apt-get install unrar
# unrar e font.rar
Ключ e - означает разархивировать :)

Теперь нам нужно перекодировать шрифты для поддержки кириллицы:
# ttf2pt1 -l cyrillic -A Helvetica.ttf Helvetica

Удалим и скопируем новые шрифты в GLPI:
# sudo rm /usr/share/glpi/lib/ezpdf/fonts/*
# sudo cp *Helvetica* /usr/share/glpi/lib/ezpdf/fonts/

Ну и удалим эти шрифты и архив с шрифтами из рабочей директории:
# rm *Helvetica* font.rar

Но и это еще не все, теперь нам надо немного подправить исходники GLPI:
# sudo nano /usr/share/glpi/inc/search.class.php

Для решения проблем с PDF:
Заменяем все вхождения фразы window-1252 на windows-1251.
Всего таких вхождений 6.

Для решения проблемы в CSV:
Заменяем:
$out = "\"".csv_clean($value)."\"".$_SESSION["glpicsv_delimiter"];
на
$out = "\"".decodeFromUtf8(csv_clean($value),'windows-1251')."\"".$_SESSION["glpicsv_delimiter"];

Всего таких вхождений 2, в функциях: showItem и showHeaderItem.

Извечная проблема кодироков (Когда уже все перейдут на UTF-8 не понятно).

Комментариев нет:

Отправить комментарий