Open Computer and Software Inventory Next Generation — открытое программное обеспечение, предназначенное для инвентаризации компьютеров в сети, установленного на них оборудования и программного обеспечения. Позволяет удаленно настраивать ПО рабочих мест. Работает под всеми операционными системами. Платформа OCS может быть использована для визуализации инвентаризации через веб-интерфейс. Модуль автоматического сканирования позволяет построить карту сетевых компьютеров и устройств. По результатам автоматического обследования генерируется база данных, содержащая актуальные упорядоченные сведения об обследованных устройствах и их настройках. Существует возможность построения различных отчетов. Распространяется система по лицензии GPL v2.
Области применения OCS Inventory NG:
- Инвентаризация оборудования;
- Инвентаризация программного обеспечения;
- Проведение анализа активов;
- Обеспечение централизованного распространения ПО;
- Управление обновлениями ПО;
- Управление конфигурацией рабочих мест.
Архитектура системы
Система OCS Inventory NG использует программу-агента, которая выполняется на инспектируемом оборудовании и передает информацию на центральный сервер. Управление программами-агентами выполняется так же с центрального сервера. Центральный сервер системы позволяет не только собирать информацию об оборудовании, но и частично управлять инспектируемыми компьютерами.Связь между сервером и проверяемым оборудованием происходит через HTTP/HTTPS протоколы. Вся передаваемая информация сжимается для уменьшения сетевого трафика.
Центральный сервер управления содержит следующие компоненты:
- Сервер базы данных для хранения информации о проверяемом оборудовании;
- Коммуникационный сервер, осуществляющий связь с сервером базы данных и программами-агентами на проверяемом оборудовании;
- Сервер развертывания, для установки программ-агентов;
- Консоль управления, которая позволяет производить просмотр информации о проверяемом оборудовании через Интернет браузер.
Преимущества системы:
- Наиболее востребованная и хорошо отлаженная программа инвентаризации компонентов ИТ-сети;
- Интерфейс OCS настолько прост для освоения, что нужно потратить всего полчаса, чтобы хорошо ориентироваться в программе;
- С технической точки зрения плюсом является тот факт, что для сбора информации об установленном оборудовании с клиентских компьютеров и серверов используется программа-агент. Все собранные данные агенты отсылают на сервер управления в виде XML-потока. Для передачи используется стандартный протокол HTTP/HTTPS;
- Серверная часть OCSNG может быть установлена на компьютер, работающий под управлением практически всех известных ОС. Агент также доступен для клиентских и серверных версий Windows от 95 до Server 2008 R2, а также перечисленных Linux, MacOS X, FreeBSD/OpenBSD/NetBSD (x86/Sparc), Solaris 8, 9, 10 (x86/Sparc), IBM AIX (5.1-5.3) и HP-UX.
Установка OCS Inventory Server на Debian/Ubuntu Linux
Для установки я брал то одно, то другое руководство, которых в интернете не так уж и много для этой системы. Получилось собрать то-ли с пятого, или шестого раза, при этом сервак с Debian приходилось переставлять каждый раз, потому-что уже неправильно были настроены и SQL и PHP и, соответственно зависимости. В этой статье я покажу как он все-таки у меня поставился.
Для непосвященных OCS-NG — это бесплатная платформа для управления активами, которая «проста» в установке, настройке и управлении и может работать практически в любой сетевой среде. С помощью сканирования по протоколу SNMP вы можете собирать информацию о своем сетевом оборудовании: принтерах, коммутаторах, компьютерах и т.д.
Для обнаружения этих устройств не требуется устанавливать OCS-клиент, хотя с ним гораздо удобнее и собираешь больше информации. Установите OCS Inventory server и начните сканирование своей сети. Очень скоро вы увидите устройства, появляющиеся на вашей панели мониторинга.
Для некоторых устройств OCS Inventory включает функцию развертывания пакетов, которую можно установить на поддерживаемые устройства, чтобы собрать еще больше информации об имени устройства, адресе, местоположении и т. д.
Чтобы начать установку OCS CMS, выполните следующие действия:
Для начала
обновим и установим необходимые пакеты:
|
1 |
apt update && apt upgrade |
затем придется установить sudo:
|
1 |
apt install sudo |
ну и то, что нам обязательно пригодится:
|
1 |
sudo apt install make cmake gcc make |
Установим HTTP-сервер Apache
OCS отлично работает с HTTP-сервером Apache2, конечно можно использовать и NGINX, настройка практически одинакова. Выполним приведенные ниже команды для установки веб-сервера Apache2 и других модулей.
|
1 |
sudo apt install apache2 libapache2-mod-perl2 libapache-dbi-perl libapache-db-perl libapache2-mod-php |
После установки Apache2 приведенные ниже команды могут останавливать, запускать и разрешать службе Apache2 всегда запускаться при загрузке сервера.
|
1 2 3 |
sudo systemctl stop apache2.service sudo systemctl start apache2.service sudo systemctl enable apache2.service |
Теперь, когда Apache2 установлен, перейдите в своем браузере по указанному ниже URL-адресу, чтобы проверить, работает ли веб-сервер.
|
1 2 3 |
http://localhost или http://ip_address_servera |
должная отобразиться картинка

Если вы видите страницу выше, значит, Apache2 успешно установлен.
Установить сервер баз данных MariaDB
OCS также требует наличия сервера баз данных для хранения своего содержимого. MariaDB — отличное штука для начала, если вы ищете действительно сервер баз данных с открытым исходным кодом. Хотя можно использовать что угодно, например MySQL или любой другой.
Чтобы установить MariaDB, выполните следующие команды:
|
1 |
sudo apt-get install mariadb-server mariadb-client |
После установки MariaDB приведенные ниже команды могут останавливать и запускать службу, а также позволять ей запускаться при загрузке сервера:
|
1 2 3 |
sudo systemctl stop mysql.service sudo systemctl start mysql.service sudo systemctl enable mysql.service |
или так:
|
1 2 3 4 |
sudo systemctl stop mariadb.service sudo systemctl start mariadb.service sudo systemctl restart mariadb.service sudo systemctl enable mariadb.service /* в автозагрузку */ |
Затем выполним приведенные ниже команды, чтобы защитить сервер базы данных паролем root, если вам не было предложено сделать это во время установки.
|
1 |
sudo mysql_secure_installation |
При появлении запроса ответьте на приведенные ниже вопросы, следуя руководству.
- Enter current password for root (enter for none): просто нажать — Enter
- Set root password? [Y/n]: Y
- New password: Enter password
- Re-enter new password: Repeat password
- Remove anonymous users? [Y/n]: Y
- Disallow root login remotely? [Y/n]: Y
- Remove test database and access to it? [Y/n]: Y
- Reload privilege tables now? [Y/n]: Y
Можно просто нажимать Enter, будет введен ответ по умолчанию.
После установки MariaDB выполните приведенные ниже команды, чтобы проверить, был ли установлен сервер базы данных.
|
1 |
sudo mysql -u root -p |
При появлении запроса введите пароль root:

Сервер был успешно установлен, если вы видите похожий экран.
Установите PHP 8.2 и связанные с ним модули
OCS-NG — это платформа, основанная на PHP и Perl.
Для установки выполним приведенные ниже команды php и связанных с ним модулей:
|
1 |
sudo apt install php libapache2-mod-php8.2 php8.2-common php8.2-sqlite3 php8.2-mysql php8.2-gmp php8.2-curl php8.2-mbstring php8.2-gd php8.2-cli php8.2-xml php8.2-zip php8.2-soap php8.2-json php-pclzip |
После установки PHP 8.2 выполним приведенные следующее, чтобы открыть файл конфигурации PHP по умолчанию для Apache2.
|
1 |
sudo nano /etc/php/8.2/apache2/php.ini |
Приведенные ниже строки являются подходящими настройками для большинства приложений на базе PHP. Обновите файл конфигурации с их помощью и сохраните.
|
1 2 3 4 5 6 7 |
file_uploads = On allow_url_fopen = On short_open_tag = On memory_limit = 256M upload_max_filesize = 100M max_execution_time = 360 date.timezone = America/Chicago |
Каждый раз, когда вы меняете конфигурационный файл PHP, вам следует перезапускать веб-сервер Apache2. Для этого выполните команды, приведенные ниже:
|
1 |
sudo systemctl restart apache2.service |
После установки PHP создайте тестовый файл с именем phpinfo.php в корневом каталоге Apache2 по умолчанию, чтобы проверить, работает ли он. ( /var/www/html/)
|
1 |
sudo nano /var/www/html/phpinfo.php |
Затем введите содержимое, указанное ниже, и сохраните файл:
|
1 |
<?php phpinfo( ); ?> |
Затем откройте свой браузер и перейдите к имени хоста или IP-адресу сервера, а затем phpinfo.php
|
1 |
http://localhost/phpinfo.php |
Вы должны увидеть тестовую страницу PHP по умолчанию.

Создать базу данных OCS-NG
Теперь, когда вы установили все пакеты, необходимые для работы OCS-NG, перейдите к настройке серверов, приведенной ниже. Сначала выполните команды, приведенные ниже, чтобы создать пустую базу данных OCS.
Чтобы войти на сервер базы данных MariaDB, выполните команды, приведенные ниже.
|
1 |
sudo mysql -u root -p |
Затем создайте базу данных под названием OCS:
|
1 |
CREATE DATABASE ocs; |
Создайте пользователя базы данных с именем ocsuser и новым паролем:
|
1 |
CREATE USER 'ocsuser'@'localhost' IDENTIFIED BY 'new_password_here'; |
Затем предоставьте пользователю полный доступ к базе данных:
|
1 |
GRANT ALL ON ocs.* TO 'ocsuser'@'localhost' WITH GRANT OPTION; |
Finally, save your changes and exit:
|
1 2 |
FLUSH PRIVILEGES; EXIT; |
Install Perl and Modules
Для OCS_NG требуется Perl. Чтобы установить Perl и необходимые модули, выполните следующие команды:
|
1 |
sudo apt -y install perl libxml-simple-perl libcompress-zlib-perl libdbi-perl libdbd-mysql-perl libnet-ip-perl libsoap-lite-perl libio-compress-perl libapache-dbi-perl libapache2-mod-perl2 libapache2-mod-perl2-dev |
После установки всего вышеперечисленного выполните приведенные ниже команды, чтобы включить Perl-модули:
|
1 2 3 4 5 6 7 |
sudo perl -MCPAN -e 'install Apache2::SOAP' sudo perl -MCPAN -e 'install XML::Entities' sudo perl -MCPAN -e 'install Net::IP' sudo perl -MCPAN -e 'install Apache::DBI' sudo perl -MCPAN -e 'install Mojolicious' sudo perl -MCPAN -e 'install Switch' sudo perl -MCPAN -e 'install Plack::Handler' |
Download OCS-NG Latest Release
Когда вы закончите установку вышеприведенных пакетов, перейдите к клонированию пакета OCS-NG с GitHub и установите его.
|
1 2 3 |
sudo apt install git curl cd /tmp git clone https://github.com/OCSInventory-NG/OCSInventory-Server.git |
Затем перейдите в папку OCSInventory-Server, клонируйте проект ocsreport и отредактируйте его setup.sh скрипт и начните установку:
|
1 2 |
cd OCSInventory-Server git clone https://github.com/OCSInventory-NG/OCSInventory-ocsreports.git ocsreports |
После клонирования проекта ocsreports перейдите в него, установите Composer и обновите пакеты ocsreports:
|
1 2 3 |
cd /tmp/OCSInventory-Server/ocsreports curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer sudo composer install |
После этого вернитесь в папку OCSInventory-Server и отредактируйте файл setup.sh и введите имя пользователя и пароль базы данных. Затем сохраните и выйдите.
|
1 2 |
cd . nano setup.sh |
Отредактируйте выделенные строки и сохраните файл:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
This code is open source and may be copied and modified as long as the source # code is always made freely available. # Please refer to the General Public Licence http://www.gnu.org/ or Licence.txt ################################################################################ # # Which host run database server DB_SERVER_HOST="localhost" # On which port run database server DB_SERVER_PORT="3306" # Database server credentials DB_SERVER_USER="ocsuser" DB_SERVER_PWD="ocsuser_password_here" # Where is Apache daemon binary (if empty, will try to find it) APACHE_BIN="" # Where is Apache configuration file (if empty, will try to find it) |
Когда вы закончите, выполните приведенные ниже команды, чтобы начать установку:
|
1 |
sudo ./setup.sh |
Во время установки вы увидите множество подсказок. Выберите настройки по умолчанию и выберите y для всех. Когда вы закончите, вы должны увидеть строки, похожие на приведенные ниже:
|
1 2 3 4 5 6 7 |
Setup has created a log file /tmp/OCSInventory-Server/ocs_server_setup.log. Please, save this file. If you encounter error while running OCS Inventory NG Management server, we can ask you to show us its content ! DON'T FORGET TO RESTART APACHE DAEMON ! Enjoy OCS Inventory NG ;-) |
значит установка прошла успешно 😉
Enable the OCS Portal
Чтобы включить OCS Portal, выполним команды:
|
1 2 3 4 5 |
sudo ln -s /etc/apache2/conf-available/ocsinventory-reports.conf /etc/apache2/conf-enabled/ocsinventory-reports.conf sudo ln -s /etc/apache2/conf-available/z-ocsinventory-server.conf /etc/apache2/conf-enabled/z-ocsinventory-server.conf sudo ln -s /etc/apache2/conf-available/zz-ocsinventory-restapi.conf /etc/apache2/conf-enabled/zz-ocsinventory-restapi.conf sudo chown -R www-data:www-data /var/lib/ocsinventory-reports sudo systemctl restart apache2.service |
После выполнения приведенных выше команд откройте свой браузер и перейдите к доменному имени сервера или IP-адресу:
|
1 |
http://ip_address/ocsreports/install.php |
Затем введите имя пользователя и пароль базы данных, созданные выше, и нажмите Отправить

Затем нажмите на ссылку OCS-NG GUI:

Then click the link to Perform the update.

После этого следует выполнить установку.

Log in with the username admin and password admin

Переименуйте папку установки по соображениям безопасности.
|
1 |
sudo mv /usr/share/ocsinventory-reports/ocsreports/install.php /usr/share/ocsinventory-reports/ocsreports/install.php.bak |
Enjoy~