Сервер учета офисной техники на базе GLPI и OCSInventory |
Обновлено: 15.06.2025 - 21:55
Для системных администраторов контроль учета офисной техники очень важен, так как зачастую именно они являются материально ответственным лицом.
В данном случае будут использоваться два продукта - 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.

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

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

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

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

Теперь необходимо сделать настройки php для нормальной работы сервера GLPI.
Для этого в файле /etc/php5/apache2/php.ini меняем параметр memory_limit на 32М
После сохранения файла необходимо перестартовать сервер apache
$ sudo service apache2 restart
Теперь пришло время работы через веб-интерфейс.
В браузере открываем страницу по адресу http://<адрес или имя сервера>/glpi
Откроется окно логина в систему glpi

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

Так как отчеты нам нужны в читабельном виде, проводим донастройку системы.
Заменяем в скрипте /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-отчет будет выглядеть нормально.

Однако вручную отслеживать информацию об изменении конфигурации компьютеров не рационально. Для автоматизации этого процесса нам понадобится еще и сервер OCSInventory. Сейчас его и установим. Заодно установим и агент для этого сервера.
$sudo aptitude install ocsinventory-server ocsinventory-reports ocsinventory-agent
В процессе инсталяции проводится настройка программ. Первым настраивается агент.

Выбираем метод HTTP
И указываем адрес сервера 127.0.0.1

Жмем Ок

Пока Tag оставим пустым. Его всегда потом можно будет изменить.
Теперь переходим к настройке OCSInventory-Reports

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

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

Вводим пароль root.
Теперь перезапускаем apache
$sudo service apache2 restart
Сейчас нужно будет запустить установленный агент, что бы можно было увидеть информацию о компьютере.
$sudo oscinventory-agent
После того, как агент закончил работу, входим на сервер через веб-консоль по ссылке
http://<адрес или имя сервера>/ocsreports/

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

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

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

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

Для того, что бы этого избежать опять нужно править файлы конфигурации.
Чтобы корректно выводились названия программ установленных на 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->PUBLISHER))."
$td3".htmlentities(textDecode($item->NAME))."
$td3".textDecode($item->VERSION)."
$td3".(htmlentities(textDecode($item->COMMENTS))?htmlentities(textDecode($item->COMMENTS)):"N/A")." ";
Меняем на:
echo "$td3".textDecode($item->PUBLISHER)."
$td3".textDecode($item->NAME)."
$td3".textDecode($item->VERSION)."
$td3".(htmlentities(textDecode($item->COMMENTS))?textDecode($item->COMMENTS):"N/A")." ";
Обновляем страницу и все теперь должно выглядеть корректно

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

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

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

Выставляем параметры, как показано на рисунке
Теперь в меню переходим на Инструменты - OCSNG

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

Кроме учета офисной техники эта система может так-же служить чем-то вроде хелпдеска, куда каждый пользователь сети может написать заявку о возникшей проблеме.
Для того, что бы пользователей не вводить вручную, список пользователей можно импортировать из LDAP.
Для начала доустановим необходимый модуль
$sudo aptitude install php5-ldap
После этого нужно перезапустить сервер apache
$sudo service apache2 restart
Перейдя в меню Установки - Аутентификация

Заполним поля нужными данными и нажмем "Отправить".
Далее идем в меню в Администрирование - Пользователи и выбираем "Добавить из LDAP"
После этого в системе появятся все доменные пользователи.
------------------------
Восстановление сайтов из Вебархива
Размещение по доскам объявлений России
ТРИО теплый пол отзыв
Заработок на сокращении ссылок
Earnings on reducing links
Код PHP на HTML сайты
Категория: Компьютерные советы
Комментарии |