✔ OCS Inventory: Установка и настройка сервера OCS Inventory Server на CentOS 7 и OCS Inventory Agent на Windows 10.

Содержание:

1. Постановка задачи.
2. Решение задачи.
3. Основные компоненты системы.
4. Предварительная подготовка.
5. Установка web-интерфейса.
6. Настройка в web-интерфейсе.
7. Настройка безопасности.
8. Установка агентов.

8.1. Установка агента в Windows 10.

9. Установка плагинов.
10. Оригиналы источников информации.


1. Постановка задачи.

Имеется небольшой парк однотипных персональных компьютеров в количестве 100 едениц. Требуется следить за состоянием каждого компьютера, производить профилактику по мере необходимости, ставить программы одновременно на все компьютеры, смотреть сколько места осталось на их жестких дисках… И чтобы не вставая с кресла системного администратора!

2. Решение задачи.

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

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

Кроме функций сетевой инвентаризации, OCS Inventory имеет возможность развертывания пакетов и запуска команд, записанных в файле на клиентских компьютерах, информация о которых находится в инвентаризационной системе. При необходимости установки одного приложения на большое количество систем такая функциональность очень выручает.

3. Основные компоненты системы.

Система состоит из 4 основных компонентов:

  • Сервер баз данных, на котором хранится инвентарная информация.
  • Сервер связи, который обрабатывает HTTP-соединения между сервером баз данных и агентами.
  • Консоль администрирования, которая позволяет администраторам администрировать систему.
  • Сервер развертывания, на котором хранится вся конфигурация развертывания пакета.

Эти 4 компонента могут быть размещены на одном компьютере или на разных компьютерах, чтобы обеспечить балансировку нагрузки. Выше 10.000 инвентаризированных компьютеров рекомендуется использовать по крайней мере 2 физических сервера, один из которых содержит Сервер баз данных + Сервер связи, а другой-реплику базы данных + Сервер администрирования + Сервер развертывания.

В данном руководстве по установке OCS Inventory Server всё установка будет производиться на один сервер, который будет выступать во всех этих ролях.

4. Предварительная подготовка.

Для работы Сервера связи требуются web-сервер Apache и язык сценариев Perl 5, а также некоторые дополнительные модули для Perl 5. Он действует как модуль Apache, который обрабатывает запросы HTTP OCS Inventory агентов к виртуальному каталогу /ocsinventory.

4.1. Удалим SELinux:

# yum -y remove selinux*

Перезагрузим CentOS 7:

# shutdown -r now

4.2. Обновим систему до актуального состояния:

# yum -y update

4.3. Установим EPEL репозиторий:

# yum -y install epel-release

4.4. Установим Apache:

# yum -y install httpd

Поставим его в автозапуск:

# systemctl enable httpd

Запустим его:

# systemctl start httpd

Не забудьте открыть 80 порт в своем брандмауере!

# firewall-cmd --permanent --zone=public --add-service=http
# firewall-cmd --reload

или

-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT

Проверим:
# http://ваш-IP-адрес

4.5. Установим MariaDB

Установим mc текстовый реактор:

# yum -y install mc

Установка MariaDB производится по данной инструкции: «MariaDB: Установка и настройка системы баз данных». Так же создадим новую базу данных под OCS Inventory Server. Запомним её логины и пароли. Они нам пригодятся ниже по инструкции.

4.6. Установим Perl:

# yum -y install perl-XML-Simple perl-Compress-Zlib perl-DBI perl-DBD-MySQL perl-Net-IP perl-SOAP-Lite perl-Archive-Zip perl-Mojolicious perl-Plack perl-XML-Entities perl-Switch

4.7. Далее настраиваются php и php-fpm модули:

4.8. Установим поддержку php-zip и зависимости:

# yum -y install php-pecl-zip
# yum -y install perl-XML-Simple perl-DBI perl-DBD-MySQL perl-Net-IP

4.9. Установим поддержку GD для PHP:

# yum -y install php-gd

5. Установка web-интерфейса.

Скачиваем последнюю версию OCS Inventory Server  с официального сайта разработчиков: https://ocsinventory-ng.org/?page_id=1548&lang=en.

Заполняем небольшую форму регистрации. Получаем письмо ссылкой. Скачиваем архив с OCS Inventory Server. И закидываем архив на сервер CentOS 7.

# cd ~

Установим менеджер скачивания:

# yum -y install wget

# wget https://github.com/OCSInventory-NG/OCSInventory-ocsreports/releases/download/2.7/OCSNG_UNIX_SERVER_2.7.tar.gz

# ls

Распаковываем содержимое архива:

# tar -xvzf OCSNG_UNIX_SERVER_2.7.tar.gz

# ls

Переходим в распакованную папку и запускаем автоустановщик, файл setup.sh:

# cd /root/OCSNG_UNIX_SERVER_2.7

# sh setup.sh

Отвечаем Y и начнется установка. 

Если у вас всё установлено стандартно на сервере и вы ничего не меняли, все пакеты ставились по умолчанию и вы ничего не кастомизировали, то смело жмите на все вопросы Enter и Y. Там анкета про то, что и куда ставить.

Автоустановщик инсталлирует на ваш сервер все необходимые пакеты и сообщит об успешной установке.

6. Настройка в web-интерфейсе.

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

6.1. Скопируем и откроем файл конфигурации z-ocsinventory-server.conf:

# cp /etc/httpd/conf.d/z-ocsinventory-server.conf /etc/httpd/conf.d/z-ocsinventory-server.conf.original

# mcedit /etc/httpd/conf.d/z-ocsinventory-server.conf

...
# Master Database settings
# Replace localhost by hostname or ip of MySQL server for WRITE
PerlSetEnv OCS_DB_HOST localhost
# Replace 3306 by port where running MySQL server, generally 3306
PerlSetEnv OCS_DB_PORT 3306
# Name of database
PerlSetEnv OCS_DB_NAME ocsdb
PerlSetEnv OCS_DB_LOCAL ocsdb
# User allowed to connect to database
PerlSetEnv OCS_DB_USER ocsadmin
# Password for user
PerlSetVar OCS_DB_PWD ocsDBpassW0rd
...

Сохраним изменения и выйдем из файла.

6.2. Скопируем и откроем файл конфигурации zz-ocsinventory-restapi.conf:

# cp /etc/httpd/conf.d/zz-ocsinventory-restapi.conf /etc/httpd/conf.d/zz-ocsinventory-restapi.conf.original

# mcedit /etc/httpd/conf.d/zz-ocsinventory-restapi.conf

...
<Perl>
$ENV{PLACK_ENV} = 'production';
$ENV{MOJO_HOME} = '/usr/lib64/perl5/vendor_perl';
$ENV{MOJO_MODE} = 'deployment';
$ENV{OCS_DB_HOST} = 'localhost';
$ENV{OCS_DB_PORT} = '3306';
$ENV{OCS_DB_LOCAL} = 'ocsdb';
$ENV{OCS_DB_USER} = 'ocsadmin';
$ENV{OCS_DB_PWD} = 'ocsDBpassW0rd';
$ENV{OCS_DB_SSL_ENABLED} = 0;
# $ENV{OCS_DB_SSL_CLIENT_KEY} = '';
# $ENV{OCS_DB_SSL_CLIENT_CERT} = '';
# $ENV{OCS_DB_SSL_CA_CERT} = '';
$ENV{OCS_DB_SSL_MODE} = 'SSL_MODE_PREFERRED';
</Perl>
...

Сохраним изменения и выйдем из файла.

6.3. Скопируем и откроем файл конфигурации dbconfig.inc.php:

Примечание: этот файл уже заполнен, так как мы делали первоначальную настройку в web-интерфейсе.

# cp /usr/share/ocsinventory-reports/ocsreports/dbconfig.inc.php /usr/share/ocsinventory-reports/ocsreports/dbconfig.inc.php.original

# mcedit /usr/share/ocsinventory-reports/ocsreports/dbconfig.inc.php

$_SESSION["SERVEUR_SQL"]="localhost";
$_SESSION["COMPTE_BASE"]="ocsdb";
$_SESSION["PSWD_BASE"]="ocsDBpassW0rd";
?>

Сохраним изменения и выйдем из файла.

Перезапустим службы Apache, MariaDB и PHP-FPM:

# systemctl restart httpd mariadb php-fpm

6.4. Для того, чтобы пользователь Apache мог спокойно хозяйничать в каталоге в web-интерфейсом /usr/share/ocsinventory-reports/ocsreports  добавим ему права на каталог:

# chmod -R 766 /usr/share/ocsinventory-reports
# chown -R apache:apache /usr/share/ocsinventory-reports
# chown -R apache:apache /var/lib/ocsinventory-reports

Заходим по адресу:

# http://ваш-IP-адрес/ocsreports/install.php

Нас встречает анкета базы данных.

Заполняем ее своими данными: имя базы данных, логин пользователя базы данных, пароль от базы данных, локальное размещение localhost, 3306 порт. Остальное не заполняем, так как мы не генерировали сертификаты и вообще будем проксировать через Nginx с доменным именем, на котором уже будет настроено шифрование. После настройки нажимаем Send.

Начнется форматирование базы данных под нужды OCS Inventory.

По окончанию форматирования базы данных OCS Inventory обнаружит, что есть новый способ форматирования базы данных и снова предложит это сделать. Мы согласны и подтверждаем кликом на кнопке Perform the update.

После обновления таблицы базы данных нажимаем Click here to enter OCS-NG GUI и попадаем в меню входа в систему:

Вход в систему: логинadmin, парольadmin.

Отлично мы в системе!

7. Настройка безопасности.

7.1. Удаление файла установки.

Что мы видим? А видим мы то, что нам нужно удалить файл первоначальной настройки install.php, чтобы кто-нибудь не настроился на нашем сервере вновь.

Надпись гласит о том, что нужно бы его удалить.

Удаляем файл:

# rm /usr/share/ocsinventory-reports/ocsreports/install.php

На вопрос о том, что мы стираем install.php сознательно, отвечаем y.

7.2. Смена заводского пароля в панели управления.

По умолчанию вход в систему: логинadmin, парольadmin

Вы должны создать свой собственный учетная запись с профилем супер администратора, а после этого удалить учетную запись по умолчанию.

Есть и другое решение — изменить пароль учетной записи администратора, но лучше создать пользователя с другим именем, чтобы не подбирали пароль к вашей учетной записи с банальным названием — admin.

8. Установка агентов.

Программное обеспечение можно скачать с сайта разработчика: https://ocsinventory-ng.org/?page_id=1548&lang=en.

8.1. Установка агента в Windows 10.

Скачиваем последний установщик и запускаем. От типа установки зависит, как будет производиться инвентаризация. Есть два варианта:

  • Network inventory — работает через сеть;
  • Local inventory может потребоваться для локального импорта, когда у хоста нет сети.

Настройку параметров прокси оставляем как есть.

Пишем адрес сервера — домен или IP-адрес.

Безопасность обмена между агентом и сервером будет обеспечиваться сертификатом cacert.pem.

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

9. Установка плагинов.

Ссылки на скачивание лучше брать с GitHub, так как на официальном сайте встречаются старые версии.

GitHub: https://github.com/PluginsOCSInventory-NG/.

или

Сайт с плагинами Plugin: https://plugins.ocsinventory-ng.org/.

Устанавливать будем на примере Office Pack. Этот плагин позволяет получать ключи от Microsoft Office.

Создадим каталог для скачанных файлов:

# mkdir -p /usr/share/ocsinventory-reports/ocsreports/extensions

Для установки нам понадобится положить скачанный плагин в /usr/share/ocsinventory-reports/ocsreports/extensions. Приступим.

# wget -P /usr/share/ocsinventory-reports/ocsreports/extensions https://github.com/PluginsOCSInventory-NG/officepack/releases/download/3.1.1/officepack.zip

Установим программное обеспечение для работы с zip-файлами:

# yum -y install unzip zip

Распакуем содержимое архива в этот же каталог:

# unzip /usr/share/ocsinventory-reports/ocsreports/extensions/officepack.zip -d /usr/share/ocsinventory-reports/ocsreports/extensions/

Добавим права на этот каталог:

# chmod -R 766 /usr/share/ocsinventory-reports/ocsreports/extensions
# chown -R apache:apache /usr/share/ocsinventory-reports/ocsreports/extensions

После разархивации файл с архивом можно смело удалить, он нам больше не понадобится.

# rm /usr/share/ocsinventory-reports/ocsreports/extensions/officepack.zip

Подтверждаем осознанность удаления архивного файла, нажимаем y.

Заходим под Администратором системы и проходим в закладке «Extensions«.

Переходим на страницу установки плагинов:

Выбираем установленный плагин и кликаем на клавишу «Install«.

Выйдем из учетной записи, нужно разлогиниться, и зайдем снова зайти в web-консоль.

Осталось скачать плагин на компьютере с установленным агентом и распаковать файлик msofficekey.vbs  в C:\Program Files (x86)\OCS Inventory Agent\Plugins.

Скачиваем этот же файл с арихом плагина на компьютер с операционной системой Windows:

# https://github.com/PluginsOCSInventory-NG/officepack/releases/download/3.1.1/officepack.zip

Распаковываем архив. Внутри него содержится папка agent с файлом msofficekey.vbs. Этот файл msofficekey.vbs поместите C:\Program Files (x86)\OCS Inventory Agent\Plugins.

В трее Windows ищем наш агент, нажимаем правой кнопкой мыши и выбираем Run OCS Inventory NG Agent now.

Агент сообщит, что он отработал и отправил информацию на сервер OCS Inventory:


Проверяем результат!

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

10. Оригиналы источников информации.

  1. wiki.ocsinventory-ng.org «Настройка сервера OCS Inventory Server».
  2. ask.ocsinventory-ng.org «Как настроить ocsinventory с помощью nginx».
  3. xakep.ru «Конкурс хаков: как поставить и настроить Inventory NG — «Хакер».

Читайте также: