Любому системному администратору необходимо выполнять инвентаризацию всего парка компьютеров, принтеров и т.д. OCS Inventory NG — бесплатная система, которая автоматически собирает информацию об оборудовании и софте на всех машинах в сети и складывает её в единую базу с удобным веб-интерфейсом. Разберём установку сервера OCS Inventory на FreeBSD.
Первое, что необходимо, это обновить пакеты в системе:
pkg update
pkg upgrade
Готового пакета «ocsinventory-server» в репозитории FreeBSD нет — сервер ставится классическим способом: связка Apache + PHP + MariaDB + Perl-коммуникационный сервер, разворачиваемая из официального архива с GitHub. Сначала ставим весь стек зависимостей:
pkg install apache24 mariadb106-server php83 php83-mysqli php83-gd
php83-zlib php83-session php83-soap php83-xml php83-mbstring
perl5 p5-DBI p5-DBD-mysql p5-Net-IP p5-XML-Simple p5-Compress-Zlib
p5-SOAP-Lite p5-Apache-DBI
Точные версии пакетов (php83, mariadb106 и т.д.) могут отличаться в зависимости от того, что сейчас актуально в портах — посмотреть доступные версии можно командой pkg search php и pkg search mariadb.
Включаем и запускаем нужные сервисы через rc.conf:
sysrc apache24_enable="YES"
sysrc mysql_enable="YES"
service mysql-server start
service apache24 start
Создаём базу данных и пользователя, под которым OCS будет писать в MySQL:
mysql -u root -p
CREATE DATABASE ocsweb CHARACTER SET utf8;
CREATE USER 'ocs'@'localhost' IDENTIFIED BY 'ВашНадёжныйПароль';
GRANT ALL PRIVILEGES ON ocsweb.* TO 'ocs'@'localhost';
FLUSH PRIVILEGES;
EXIT;
Дальше скачиваем последний релиз OCS Inventory NG с официального репозитория на GitHub (замените версию на актуальную) и распаковываем:
fetch https://github.com/OCSInventory-NG/OCSInventory-ocsreports/releases/download/2.12/OCSNG_UNIX_SERVER-2.12.tar.gz
tar -xzf OCSNG_UNIX_SERVER-2.12.tar.gz
cd OCSNG_UNIX_SERVER-2.12
Запускаем установщик — он написан на shell и сам спросит пути к Apache, PHP, MySQL, и данные для подключения к базе, которую мы создали выше:
sh ./setup.sh
Установщик разворачивает веб-часть (ocsreports) в каталог Apache и Perl-коммуникационный сервер (тот самый демон, который принимает данные от агентов). После завершения перезапускаем Apache:
service apache24 restart
Открываем в браузере http://ваш_сервер/ocsreports — запустится веб-мастер первоначальной настройки базы данных (создаст таблицы в ocsweb). После этого можно логиниться в веб-интерфейс с учёткой администратора, которую задали на этом же шаге.
Осталось поставить агента на клиентские машины (Windows/Linux) и указать им адрес сервера — http://ваш_сервер/ocsinventory. После первого запуска агента машина появится в инвентаре автоматически, дальше опрос идёт по расписанию (по умолчанию раз в сутки).
Если после установки коммуникационный сервер не принимает данные от агентов — первым делом проверьте права на каталог логов OCS и что модуль mod_perl (или используемый вами способ запуска CGI/Perl) действительно активен в Apache.