headermask image

Инвентаризация компьютерной и оргтехники. OCS Inventory

OCS Inventory – система инвентаризации компьютеров в сети, установленного на них оборудования и программного обеспечения. Так же позволяет удаленно настраивать программное обеспечение рабочих мест. Работает под всеми операционными системами.

Архитектура системы

Система OCS Inventory NG использует программу агента, которая выполняется на инспектеруемом оборудовании и передает информацию на центральный сервер. Управление программами-агентами выполняется так же с центрального центрального сервера. Централый сервер системы позволяет не только собирать информаци об инвинтаризируемом обоурдовании, но и частично управлять инспектируемыми компьютерами.
Распространяется система по лицензии GPL v2 и является Open Source проектом.

Скачать систему:

Следующие пакеты отсутствуют в Gutsy, но уже есть в Hardy. Несмотря на это их можно скачать и установить в Ubuntu 7.10.

Предварительно следует установить следующие пакеты:

$ sudo apt-get install libapache-dbi-perl libdbi-perl libdbd-mysql-perl libsoap-lite-perl libxml-simple-perl libnet-ip-perl libcompress-zlib-perl php5-gd

и модуль XML::Entities, которого в репозитории нет

$ sudo cpan -i XML::Entities$ wget http://archive.ubuntu.com/ubuntu/pool/universe/o/ocsinventory-server/ocsinventory-reports_1.01-3_all.deb

$ wget http://archive.ubuntu.com/ubuntu/pool/universe/o/ocsinventory-server/ocsinventory-server_1.01-3_all.deb

$ sudo dpkg -i ocsinventory-server_1.01-3_all.deb

$ sudo dpkg -i ocsinventory-reports_1.01-3_all.deb

Как видите, в репозитории находится стабильная версия системы годичной давности. Я же буду рассматривать установку и настройку последней на текущий момент версии 1.02 RC1. При этом установка дополнительных пакетов и модуля XML::Entities не отменяется – они нужны.

Скачиваем файл OCSNG_LINUX_SERVER_1.02_RC1.tar.gz и распаковываем его. Проблемы начинаются уже на этапе работы инсталятора. Поэтому, перед тем как запустить setup.sh, открываем его и вносим следующие изменения:

строка 1114

- chown -R root:$APACHE_GROUP $ADM_SERVER_STATIC_DIR/$ADM_SERVER_VAR_IPD_DIR >> $SETUP_LOG 2>&1

+ chown -R root:$APACHE_GROUP $ADM_SERVER_VAR_DIR/$ADM_SERVER_VAR_IPD_DIR >> $SETUP_LOG 2>&1

строка 1123

- chmod -R go-w $ADM_SERVER_STATIC_DIR/$ADM_SERVER_VAR_IPD_DIR >> $SETUP_LOG 2>&1

+ chmod -R go-w $ADM_SERVER_VAR_DIR/$ADM_SERVER_VAR_IPD_DIR >> $SETUP_LOG 2>&1

строка 1132

- chmod g+w $ADM_SERVER_STATIC_DIR/$ADM_SERVER_VAR_IPD_DIR >> $SETUP_LOG 2>&1

+ chmod g+w $ADM_SERVER_VAR_DIR/$ADM_SERVER_VAR_IPD_DIR >> $SETUP_LOG 2>&1

Далее, необходимо для таблиц files и tags принудительно прописать в sql скрипте создания базы (OCSNG_UNIX_SERVER_1.02_RC1/ocsreports/files/ocsbase.sql) кодировку latin1 (строка 143 и 468):

) ENGINE=MYISAM DEFAULT CHARSET=latin1;

Теперь можно запускать setup.sh.
На все вопросы просто жмём клавишу ввода вплоть до окончания установки.

После успешной установки перезапускаем веб-сервер:

$ sudo /etc/init.d/apache2 restart

Теперь запускаем браузер и в адресной строке набираем http://имя_сервера/ocsreports/install.php и вводим данные для создания базы данных:

   MySql login: root

MySql password: пароль root'а для MySQL

MySql HostName: localhost

Создание базы ocsweb с таблицами должно пройти без проблем.
Затем создаём любым удобным способом пользователя ocs и даем ему права на базу ocsweb.

Меняем в файле /usr/share/ocsinventory-server/ocsreports/dbconfig.inc.php пароль для доступа к базе.

В браузере набираем http://имя_сервера/ocsreports и попадаем на страницу авторизации. При необходимости выбираем русский язык (флажки в правом верхнем углу). Пользователь: admin, пароль: admin.

На этом установку можно считать оконченной.

Теперь решаем проблемы с отображением русских символов.

В файле /usr/share/ocsinventory-server/ocsreports/preferences.php в строке 21:

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

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

В файлах /usr/share/ocsinventory-server/ocsreports/group_show.php, header.php и machine.php меняем charset=ISO-8859-1 на charset=windows-1251 (строки 116, 49 и 90 соответственно).

При просмотре через www неправильно отображаются русские названия программ. Открываем для редактирования
/usr/share/ocsinventory-server/ocsreports/machine.php и правим function print_softwares($systemid) начиная со строки 606:

до

echo "$td3".htmlentities(textDecode($item->PUBLISHER))."</td>

$td3".htmlentities(textDecode($item->NAME))."     </td>

$td3".textDecode($item->VERSION)."  </td>

$td3".(htmlentities(textDecode($item->COMMENTS))?htmlentities(textDecode($item->COMMENTS)):"N/A")."     </td>";

после

echo "$td3".textDecode($item->PUBLISHER)."</td>

$td3".textDecode($item->NAME)."     </td>

$td3".textDecode($item->VERSION)."  </td>

$td3".(htmlentities(textDecode($item->COMMENTS))?textDecode($item->COMMENTS):"N/A")."     </td>";

Для отображения на главной странице имен пользователей на русском языке в файле preferences.php следует внести изменения в строку 763:

- echo $item[$chmp]."</span></a></font></td>\n";

+ echo textDecode($item[$chmp])."</span></a></font></td>\n";

С серверной частью вроде бы всё. Переходим к клиентской.

Установка агента в Ubuntu:

$ sudo apt-get install ocsinventory-agent

Запуск:

$ sudo ocsinv

В системе (в агенте сбора информации для Windows) имеется проблема с кодировкой (малые русские буквы, начиная с ‘х’(0xF4 или 244). Т. е. буквы ‘хцчшщъыьэюя’ преобразовываются в символ английского языка ‘x’ (0×78 или 120). Проблема решается заменой файлов после установки агента файлами из архива http://ocsinventory.narod.ru/agentWinOcs.rar (спасибо Ивану Перевалову за сборку!).
ocs-inventory-1.png

Для тех, кого вышеприведенные операции c кодом приводят в ужас или навевают тоску (что вероятнее :-), выкладываю тарбол со всеми описанными исправлениями. Вам остаётся только распаковать его и установить – ocsng_unix_server_102_rc1_rutar.gz

Автор: Евгений Бражко

Постовой

Обращайтесь, если вам требуется срочный ремонт ноутбуков. Лучшее качество, отличные цены.

Юридические проблема? Не пытайтесь понять все сами, обратитесь к специалистам:Онлайн консультация адвоката.