OCS Inventory NG расшифровывается как Open Computers and Software Inventory. Это ПО предназначено для инвентаризации компьютеров в сети, сбора информации о программном обеспечении и установленном оборудовании.
Этот текст был прислан на конкурс авторов, который мы запустили весной. Мы разобрались с большим количеством пришедших материалов, подвели итоги и наградили победителей. Автор этой заметки получил приз — трехмесячную подписку на «Хакер». Поздравляем!
Ключевые особенности:
Этот продукт поддерживает все популярные ОС: Windows, Linux, BSD, Sun Solaris, IBM AIX, HP-UX, macOS, Android.
Устанавливать будем с официального сайта, так как в репозиториях Debian старые версии.
На такой конфигурации железа сервер спокойно может собирать информацию со 150 агентов с интервалом обновления четыре часа.
Устанавливать OCS Inventory NG будем в связке с Apache 2 и MariaDB.
Проверим дату и время, чтобы соответствовали нашему часовому поясу. На некоторых виртуальных серверах они бывают неправильно установлены, из-за чего в базе данных отображаются некорректно.
date ln -sf /usr/share/zoneinfo/Europe/Moscow /etc/localtime
Подключаем репозиторий. Открываем список зеркал и добавляем репозиторий DotDeb.
nano /etc/apt/sources.list DotDeb deb http://packages.dotdeb.org jessie all deb-src http://packages.dotdeb.org jessie all
Импортируем ключ DotDeb’а:
wget http://www.dotdeb.org/dotdeb.gpg -O - -q | apt-key add -
Обновляем список зеркал и пакеты:
apt-get update && apt-get upgrade
Установим необходимые пакеты:
apt-get install make apache2 php7.0-mbstring php7.0-soap php7.0-common libapache2-mod-php7.0 php-pear php7.0-cli php7.0-ldap php7.0-gd php7.0-zip mariadb-server php7.0-mysqlnd php7.0-curl
Во время установки задаем пароль для пользователя root MySQL.
Ставим модули Perl:
apt-get install libxml-simple-perl libio-compress-perl libdbi-perl libdbd-mysql-perl libapache-dbi-perl libnet-ip-perl libsoap-lite-perl libarchive-zip-perl cpan -i XML::Entities
После этого устанавливаем MariaDB и создаем пользователя ocs и БД ocsweb.
Логинимся к БД:
mysql -u root -p
Создаем пользователя:
mysql> create user 'ocs'@'localhost' identified by 'pass_mysql';
Создаем БД:
mysql> create database `ocsweb` character set = 'utf8';
Присваиваем права:
mysql> GRANT ALL PRIVILEGES ON `ocsweb`.* to `ocs`@localhost; mysql> FLUSH PRIVILEGES; mysql> quit;
Скачиваем OCS-NG Server:
wget -P /tmp https://github.com/OCSInventory-NG/OCSInventory-ocsreports/releases/download/2.3.1/OCSNG_UNIX_SERVER-2.3.1.tar.gz tar -xf /tmp/OCSNG_UNIX_SERVER-2.3.1.tar.gz -C /tmp cd /tmp/OCSNG_UNIX_SERVER-2.3.1/
Запускаем скрипт установки (все настройки оставляем по умолчанию):
./setup.sh
/usr/sbin/apache2ctl
. [ENTER]/etc/apache2/apache2.conf
. [ENTER]www-data
. [ENTER]/etc/apache2/conf-available
. [ENTER]/usr/bin/perl
. [ENTER]/var/log/ocsinventory-server
. [ENTER]/etc/ocsinventory-server/perl
. [ENTER]ocsinventory-server.conf
в z-ocsinventory-server.conf
. [ENTER]/usr/share/ocsinventory-reports
. [ENTER]/var/lib/ocsinventory-reports
. [ENTER]/tmp/OCSNG_UNIX_SERVER-2.3.1/ocs_server_setup.log
.Задаем в z-ocsinventory-server.conf
директиву PerlSetVar OCS_DB_PWD
, то есть пароль пользователя ocs.
nano /etc/apache2/conf-available/z-ocsinventory-server.conf PerlSetVar OCS_DB_PWD pass_mysql
Отключим дефолтные и включим новые. Далее сделаем рестарт демона apache2.
a2dissite 000-default a2enconf ocsinventory-reports a2enconf z-ocsinventory-server /etc/init.d/apache2 restart
Предоставляем пользователю www-data
права на директории:
chown -R www-data:www-data /usr/share/ocsinventory-reports/ chmod 0755 /var/lib/ocsinventory-reports/
Теперь подключаемся по адресу http://domen_or_ip/ocsreports
. Нас уведомят о том, что следовало бы избавиться от install.php
. Удаляем его:
rm /usr/share/ocsinventory-reports/ocsreports/install.php
Дополнительно можно отключить AccessLog в Apache 2:
nano /etc/apache2/sites-available/000-default.conf
Комментируем эту строчку:
CustomLog ${APACHE_LOG_DIR}/access.log combined
Убрать версию Apache 2:
nano /etc/apache2/apache2.conf
Добавляем:
Hide version ServerTokens ProductOnly ServerSignature Off
Рестартуем:
/etc/init.d/apache2 restart
Убрать версию PHP 7.0:
nano /etc/php/7.0/apache2/php.ini
Добавляем:
expose_php = Off
И снова рестартуем Apache.
Скачиваем последний установщик и запускаем. От типа установки зависит, как будет производиться инвентаризация. Есть два варианта:
Настройку параметров прокси оставляем как есть.
Пишем адрес сервера — домен или IP-адрес. Безопасность обмена между агентом и сервером будет обеспечиваться сертификатом cacert.pem
.
Придумываем тег, который будет служить для объединения компьютеров в группы. В опциях указываем, что хотим сразу после установки начать инвентаризацию.
Ссылки на скачивание лучше брать с GitHub, так как на официальном сайте встречаются старые версии. Устанавливать будем на примере Office Pack. Этот плагин позволяет получать ключи от Microsoft Office.
Для установки нам понадобится положить скачанный плагин в /usr/share/ocsinventory-reports/ocsreports/download
. Приступим.
wget -P /usr/share/ocsinventory-reports/ocsreports/download https://github.com/PluginsOCSInventory-NG/officepack/releases/download/1.1.1/officepack.zip
Далее в веб-интерфейсе нашего сервера открываем Plugins —> Plugins Manager, выбираем скачанный плагин и жмем Install. После успешной установки рестартуем демон Apache.
Осталось скачать плагин на компьютере с установленным агентом и распаковать файлик msofficekey.vbs
(он лежит в officepack.zipagent
) в C:Program Files (x86)OCS Inventory AgentPlugins
.
В трее ищем наш агент, нажимаем правой кнопкой мыши и выбираем Run OCS Inventory NG Agent now.
Проверяем результат!
Мы решили продлить конкурс и превратить его в постоянную акцию. Прислав нам описание хака, полезный совет или описание клевой неизвестной проги, ты по-прежнему можешь получить подписку на месяц, три месяца или, если постараешься, на год. Следуй рекомендациям и присылай свой текст!
Читайте также
Последние новости