Опрос

Что вы думаете по поводу веб-кастов, выложеных на сайте?
 

Последнии комментарии

Сервер учета офисной техники на базе GLPI и OCSInventory PDF Печать E-mail
Рейтинг пользователей: / 15
ХудшийЛучший 
Автор: yakim   
04.12.2011 19:28

Для системных администраторов контроль учета офисной техники очень важен, так как зачастую именно они являются материально ответственным лицом.

В данном случае будут использоваться два продукта - GLPI и OCSInventory NG.

GLPI - Информационный менеджер ресурсов. В нем можно создать базу данных всех ресурсов вашей компании. Например, компьютеры, программное обеспечение, лицензии, принтеры, расходные материалы, договоры и оповещение администраторов и многое другое.

http://plugins.glpi-project.org/spip.php?lang=en

Однако эта программа требует ручного ввода всего оборудования и не позволяет автоматически получать эти данные из сети. Что бы это автоматизировать используется  OCS Inventory NG из которой GLPI умеет экспортировать данные.

Система OCS Inventory NG (OCSNG, Open Computers and Software Inventory New Generation) предназначена для инвентаризации компьютеров в локальной сети, комплектующих и программного обеспечения.

Следует отметить, что одним из недостатков, обоих этих проектов является малое количество документации. Возможно именно по этому они и не распространены настолько широко, насколько этого заслуживают.

Обе эти системы имеют веб интерфейс и используют для хранения данных базу MySQL. По этому перед тем, как инсталировать GLPI и  OCSInventory, установим  сервер баз данных MySQL и веб-сервер Apache.

  

Для начала устанавливаем mysql
$ sudo aptitude install mysql-server mysql-client

При настройке устанавливаемого mysql-server вводим пароль для root-пользователя в mysql.

001-small

Следующим шагом устанавливаем веб-сервер и php
$ sudo aptitude install apache2 php5


После окончания инсталяции перейдем непосредственно к уставке GLPI-сервера.
$sudo aptitude install glpi
 
Снова соглашаемся на предложение установить пакеты с зависимостями.
Автоматически запустится скрипт с настройками  GLPI. В первом окне нам сообщат, по какому адресу будет находится веб-интерфейс нашего сервера.

002-small

Далее будет предложено настроить работу с базой данных при помощи dbconfig-common

003-small

И, после того как нажмем "yes", будет предложено ввести пароль к аккаунту root в базе MySQL.

004-small
Вводим пароль.
Далее необходимо будет ввести пароль к пользователю glpi

005-small

Теперь необходимо сделать настройки php для нормальной работы  сервера GLPI.
Для этого в файле  /etc/php5/apache2/php.ini  меняем параметр memory_limit на 32М


После сохранения файла необходимо перестартовать сервер apache
$ sudo service apache2 restart

Теперь пришло время работы через веб-интерфейс.
В браузере открываем страницу по адресу http://<адрес или имя сервера>/glpi


Oткроется окно логина в систему glpi

006-small
Теперь логинимся на сервер под учетной записью glpi с паролем glpi (Это значения по умолчанию. Далее их можно будет изменить).

После успешного логина мы увидим интерфейс нашей системы.


Однако для нормальной работы GLPI нам еще нужно внести правки в файлы конфигурации.
Связано это с тем, что систему писали во Франции и русификация им просто не интересна.
Для примера откроем закладку управления пользователями (администрирование - пользователи)

007-small

и попробуем открыть отчет в PDF, то увидим следующее:

008-small

Так как отчеты нам нужны в читабельном виде, проводим донастройку системы.
Заменяем в скрипте /usr/share/glpi/inc/export.function.php вызов функции utf8_decode на utf8_decode_cyr и добавляем в export.function.php описание самой функции utf8_decode_cyr:
function utf8_decode_cyr($value){
        return iconv("UTF-8","Windows-1251",$value);
}
 Теперь шрифт. По умолчанию для экспорта используется шрифт Helvetica, его бы я и рекомендовал оставить. Если заменить шрифт другим, его имя придется править не только в двух местах файла export.function.php, но и в 2 файлах находящихся в lib/ezpdf. Поэтому шрифт лучше сконвертировать из TTF в Postscript type 1.

Для упрощения задачи шрифты лежат тут. Копируем исправленные шрифты (предварительно удалив все старые) в /usr/share/glpi/lib/ezpdf/fonts/

Теперь, pdf-отчет будет выглядеть нормально.

009-small

Однако вручную отслеживать информацию об изменении конфигурации компьютеров не рационально. Для автоматизации этого процесса нам понадобится еще и сервер OCSInventory. Сейчас его и установим. Заодно установим и агент для этого сервера.

$sudo aptitude install ocsinventory-server ocsinventory-reports ocsinventory-agent


В процессе инсталяции проводится настройка программ. Первым настраивается агент.

010-small

Выбираем метод HTTP

И указываем адрес сервера 127.0.0.1

011-small

Жмем Ок

012-small

Пока Tag оставим пустым. Его всегда потом можно будет изменить.


Теперь переходим к настройке OCSInventory-Reports

013-small

Здесь пароль оставлять случайным нельзя, так как он нам дальше понадобится. Вводим пароль и жмем Ок.
Далее будет предложено настроить работу с базой данных при помощи dbconfig-common

014-small

И, после того как нажмем "yes", будет предложено ввести пароль к аккаунту root в базе MySQL.

015-small
Вводим пароль root.

Теперь перезапускаем apache
$sudo service apache2 restart

Сейчас нужно будет запустить установленный агент, что бы можно было увидеть информацию о компьютере.
$sudo oscinventory-agent

После того, как агент закончил работу,  входим на сервер через веб-консоль по ссылке
http://<адрес или имя сервера>/ocsreports/

016-small

Для входа используем логин admin и пароль  admin.

После логина, вызвав список компьютеров, увидим наш сервер.

017-small

Нажав на его имя, в новом окне откроется более подробная информация о его железе и софте.

018-small

Теперь установим агент на Windows-машину.
Запускаем с правами администратора файл дистрибутива OcsAgentSetup.exe,
Теперь, когда мы обновим в консоли страницу со списком компьютеров, мы увидим и второй компьютер тоже.

019-small

Зайдя внутрь Windows-компьютера и просмотрев список установленного ПО, мы, к сожалению, увидим, что русские имена программ отображаются некорректно.

020-small

Для того, что бы этого избежать опять нужно править файлы конфигурации.

Чтобы корректно выводились названия программ установленных на Windows системах, следует в файле /usr/share/ocsinventory-server/ocsreports/preferences.php установить в “1” значение «UTF8_DEGREE»:

define("UTF8_DEGREE", 1 );  // 0 For non utf8 database, 1 for utf8

Далее в файле machine.php, который находится в этом же каталоге правим функцию print_softwares. После установки она будет иметь такой вид:

echo "$td3".htmlentities(textDecode($item-&gt;PUBLISHER))."
$td3".htmlentities(textDecode($item-&gt;NAME))."
$td3".textDecode($item-&gt;VERSION)."
$td3".(htmlentities(textDecode($item-&gt;COMMENTS))?htmlentities(textDecode($item-&gt;COMMENTS)):"N/A")."     ";

Меняем на:


echo "$td3".textDecode($item-&gt;PUBLISHER)."
$td3".textDecode($item-&gt;NAME)."
$td3".textDecode($item-&gt;VERSION)."
$td3".(htmlentities(textDecode($item-&gt;COMMENTS))?textDecode($item-&gt;COMMENTS):"N/A")."     ";

Обновляем страницу и все теперь должно выглядеть корректно

021-small

    

    

    

    

Теперь займемся связыванием этих двух серверов.
В консоли GLPI в пеню перейдем на Установки - Общие - Ограничения

022-small

Установим "Активировать режим OCSNG" в "Да" и нажмем "Отправить"
После этого в меню появятся новые пункты.
Переходим в меню на Установки -  Режим OCSNG

023-small

И выбираем сервер localhost

024-small
Вводим пароль к базе, который мы указывали при установке сервера OCSInventory (при установке мы указали пароль ocsi ) и нажимаем "Отправить"
После успешного соединения с базой откроется окно с параметрами импорта компьютеров

025-small

Выставляем параметры, как показано на рисунке


Теперь в меню переходим на Инструменты - OCSNG

026-small

И выбираем "Импортирование новых компьютеров"
Теперь, при открытии Оборудование - Компьютеры  мы увидим список из двух наших компьютеров.
Зайдя внутрь можно увидеть состояние компьютера

027-small


Кроме учета офисной техники эта система может так-же служить чем-то вроде хелпдеска, куда каждый пользователь сети может написать заявку о возникшей проблеме.
Для того, что бы пользователей не вводить вручную, список пользователей можно импортировать из LDAP.

Для начала доустановим необходимый модуль
$sudo aptitude install php5-ldap

После этого нужно перезапустить сервер apache
$sudo service apache2 restart

Перейдя в меню Установки - Аутентификация

028-small

Заполним поля нужными данными и нажмем "Отправить".
Далее идем в меню в Администрирование - Пользователи и выбираем "Добавить из LDAP"
После этого в системе появятся все доменные пользователи.

Обновлено 04.12.2011 20:42
 

Комментарии 

 
+3 #1 Neolithik 09.01.2013 15:31
Привет! а ты не копал в данную связку глубже? а конкретно в сторону отсылки сообщений о изменении конфигурации уже занесенного в базу ПК по почте (ну допустим заменили оперативку с 4-х гиговой планки на 2-х гиговую в ГЛПИ соответственно изменилась конфигурация и тебе пришло уведомление скажем оборудование заменено) если реализовал то поделись как ?
 
 
0 #2 yakim 09.01.2013 15:37
Не... Такого не копал.
Но идея интересная. На досуге подумаю.
 
 
-2 #3 Neolithik 09.01.2013 15:47
блин, а у меня вот задание такое от начальства уже вторую неделю голову ломаю, связка собственно GLPI 0.83.7 + OCSinventory уведомления о новых ПК поступают за счет плагина additional allerts, но вот изменения в конфигурации он ну никак не умеет читать, в рунете никакой инфы по этому поводу нет. попробовал fusioninventory - та же фигня, в обоих этих программах функция notification не запланирована, то есть только плагинами ... ппц кароче =)
 
 
0 #4 Neolithik 10.01.2013 10:58
написал на форуме GLPI мож поможет кто, если найду выход, то отпишусь (если не уволят) =)) glpi-project.org/.../...
 
 
0 #5 гостьь 22.01.2013 20:10
люди, почему у меня нет файла /usr/share/ocsinventory-server/ocsreports/preferences.php ?
 
 
0 #6 yakim 22.01.2013 20:36
Это все потому, что версия сменилась.
Будет время - напишу дополнение.
 
 
0 #7 гостьь 22.01.2013 20:58
нашел решение для версии 2.0.2 forum.ru-board.com/.../
 
 
0 #8 v.popov 13.06.2014 07:48
 
 
0 #9 Taras 26.09.2015 13:39
У меня нет файла /usr/share/glpi/inc/export.function.php
Каким образом можно поправить кодировку?
 

Добавить комментарий

Защитный код
Обновить

 
1.png

Дружественные сайты

Linux для всех

 

Видеоуроки

 

 

Ubuntu в Сумах

 

Мои Счетчики