Как установить сервер инвентаризации OCS на Ubuntu

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

Существуют 4 основных компонента OCS Inventory Server:

  1. сервер базы данных,
  2. коммуникационный сервер,
  3. сервер администрирования
  4. сервер развертывания.

OCS Inventory Server позволяет вам получать самые свежие и актуальные данные о ваших устройствах. Он может быть установлен в различных операционных системах и предоставляет пакеты агентов для различных операционных систем, таких как Microsoft Windows, Linux, BSD, Sun Solaris, IBM AIX, HP-UX, MacOS X и Android.

Для сетевых устройств OCS Inventory поддерживает обнаружение сети и агентов SNMP. Вы можете добавлять и вставлять информацию о сетевом оборудовании: принтерах, коммутаторах, компьютерах (на которых не установлен агент OCS) и т.д. с помощью агентов Network Discovery и SNMP.

В этом руководстве вы установите OCS Inventory Server на сервер Ubuntu 22.04. Вы установите OCS Inventory Server с веб-сервером Apache2, сервером базы данных MariaDB и PHP. Сюда также входит установка ocsreports – приложения на базе PHP, которое предоставляет панель веб-администрирования для OCS Inventory Server и будет работать с Apache2 и PHP.

Установка зависимостей

В первом разделе необходимо установить некоторые зависимости, которые будут использоваться для установки и запуска OCS Inventory Server. Эта установка будет включать следующие пакеты:

  • основные зависимости – пакеты будут использоваться для компиляции некоторых модулей Perl.
  • Perl и дополнительные пакеты для негоOCS Inventory Server написан на Perl, поэтому вы должны установить Perl на ваш сервер. Некоторые дополнительные пакеты Perl здесь включают драйвер базы данных Perl и пакет Perl SOAP для REST API.
  • Стек LAMP – сервер инвентаризации OCS будет работать с Apache2, базой данных MariaDB. Пакеты PHP будут использоваться в ocsreports, который является веб-приложением панели управления сервера инвентаризации OCS.
  • дополнительные модули Perl – необходимо установить некоторые модули Perl через CPAN (The Comprehensive Perl Archive Network).

Перед началом работы введите следующую команду для обновления индексов пакетов Ubuntu.

sudo apt update

Введите следующую команду apt install для установки некоторых основных зависимостей разработки. Эти пакеты используются для компиляции модулей Perl.

sudo apt install git curl wget make cmake gcc make

Когда появится запрос, введите y для подтверждения и нажмите ENTER для продолжения.

Теперь установите Perl и дополнительные пакеты с помощью приведенной ниже команды. OCS Inventory Server в основном написан на Perl, поэтому перед установкой OCS Inventory Server необходимо установить пакеты Perl.

sudo apt install perl libxml-simple-perl libcompress-zlib-perl libdbi-perl libdbd-mysql-perl libnet-ip-perl libsoap-lite-perl libio-compress-perl

Введите y при появлении запроса и нажмите ENTER для продолжения.

Следующая установка стека LAMP с дополнительными пакетами, такими как libapache2-mod-perl2 и composer. Пакеты веб-сервера Apache и PHP будут использоваться для запуска панели веб-администрирования OCS Inventory Server, а MariaDB используется в качестве базы данных.

sudo apt install apache2 libapache2-mod-perl2 libapache2-mod-perl2-dev libapache-dbi-perl libapache-db-perl libapache2-mod-php libarchive-zip-perl mariadb-server composer php-mbstring php-xml php-mysql php-zip php-pclzip php-gd php-soap php-curl php-json

Введите y, когда появится запрос, затем нажмите ENTER.

После установки приложений входящих в LAMP и Composer, введите следующие команды для проверки состояния служб Apache2 и MariaDB, затем проверьте версию PHP и Composer.

Проверьте работу службы Apache2 с помощью команды systemctl, приведенной ниже. Вывод enabled подтверждает, что веб-сервер Apache2 запускается автоматически при старте системы, а вывод active (running) подтверждает, что веб-сервер Apache2 запущен.

sudo systemctl is-enabled apache2sudo systemctl status apache2

Проверьте службу MariaDB с помощью команды systemctl ниже. Вывод enabled подтверждает, что сервер MariaDB будет запускаться автоматически при старте системы, а вывод active (running) подтверждает, что служба MariaDB запущена.

sudo systemctl is-enabled mariadbsudo systemctl status mariadb

Проверьте версию PHP с помощью следующей команды. На момент написания статьи на сервере установлен PHP 8.1.

php -v

Проверьте версию Composer, введя следующую команду.

sudo -u www-data composer -v

Установив основные зависимости, введите следующую команду для установки некоторых модулей Perl, необходимых OCS Inventory Server.

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'

Вам будет предложено настроить CPAN в первый раз. Введите yes для подтверждения и автоматической установки CPAN. Теперь должна начаться установка модулей Perl.

На следующем этапе вы настроите сервер MariaDB и PHP.

Настройка сервера MariaDB

В этом разделе вы настроите и защитите установку сервера MariaDB с помощью команды mariadb-secure-installation. Затем вы создадите новую базу данных и пользователя, которые будут использоваться сервером инвентаризации OCS.

Введите следующую команду, чтобы начать настройку и защиту развертывания сервера MariaDB.

sudo mariadb-secure-installation

Вам будет предложено выполнить следующие настройки MariaDB:

  • Переключить локальную аутентификацию на unix_socket? Введите n.
  • Установить новый пароль корня MariaDB? Введите y для подтверждения, затем введите новый пароль для развертывания сервера MariaDB.
  • Удалить анонимного пользователя? Введите y для подтверждения.
  • Удалить тест базы данных по умолчанию из развертывания? Введите y для подтверждения.
  • Запретить вход в систему MariaDB root при удаленных подключениях? Введите y для подтверждения.
  • Перезагрузить привилегии таблиц и применить изменения? Введите y и нажмите ENTER.

Теперь вы обеспечили безопасность развертывания сервера MariaDB и настроили пароль для пользователя MariaDB root.

Теперь войдите в оболочку MariaDB с помощью следующей команды. Вам предстоит создать новую базу данных MariaDB и пользователя для приложения OCS Inventory Server.

sudo mariadb -u root -p

Введите следующие запросы для создания новой базы данных ocsdb и пользователя „ocs@localhost“. Также не забудьте изменить следующий пароль пользователя MariaDB.

CREATE DATABASE ocsdb;
GRANT ALL PRIVILEGES ON ocsdb.* TO ocs@localhost IDENTIFIED BY "ocsP4ssw0rd";
FLUSH PRIVILEGES;

Наконец, введите следующий запрос для проверки привилегий списка нового пользователя „ocs@localhost“. Вы должны увидеть, что пользователь MariaDB „ocs@localhost“ имеет доступ к базе данных „ocsdb“, которая будет использоваться OCS Inventory Server.

SHOW GRANTS FOR ocs@localhost;
QUIT;

Настройка PHP

После настройки сервера MariaDB необходимо установить PHP, которая будет использоваться сервером ocsreports или сервером администрирования OCS. Вам нужно будет изменить некоторые параметры в файле „php.ini“ и перезапустить службу Apache2, чтобы применить сделанные изменения.

Откройте файл конфигурации PHP/etc/php/8.1/apache2/php.ini“ с помощью следующей команды редактора nano.

sudo nano /etc/php/8.1/apache2/php.ini

Измените параметры по умолчанию следующими строками. Убедитесь, что параметр „date.timezone“ соответствует вашему часовому поясу.

memory_limit = 512M
post_max_size = 100M
upload_max_filesize = 100M
max_execution_time = 360
date.timezone = Europe/Stockholm

Сохраните и закройте файл по завершении.

Теперь введите следующую команду systemctl для перезапуска службы Apache2 и применения изменений.

sudo systemctl restart apache2

На этом базовая конфигурация стека LAMP для сервера инвентаризации OCS завершена. На следующем этапе вы настроите брандмауэр UFW и откроете нужные порты.

Настройка брандмауэра UFW

На сервере Ubuntu по умолчанию установлен брандмауэр ufw. Он установлен, но еще не работает в системе. В этом разделе вы добавите службы OpenSSH и „Apache Full“ в ufw. Затем вы запустите ufw на вашем сервере и включите его автоматический запуск при загрузке системы.

Введите следующую команду ufw allow, чтобы открыть приложения OpenSSH и „Apache Full“. Приложение OpenSSH откроет порт SSH 22/tcp по умолчанию, а служба „Apache Full“ откроет порты HTTP и HTTPS по умолчанию – 80/tcp и 443/tcp.

sudo ufw allow OpenSSH
sudo ufw allow 'Apache Full'

Следующую команду выполните для запуска и включения брандмауэра UFW. Когда появится запрос, введите y для подтверждения и нажмите ENTER для продолжения.

sudo ufw enable

Вывод „Firewall is active and enabled on system startup“ подтверждает, что UFW включен и будет запущен автоматически при загрузке системы. После выполнения команды UFW должен быть запущен.

Введите следующую команду для проверки статуса брандмауэра UFW. Вывод „Status: Active» подтверждает, что UFW запущен, вы также увидите, что приложения „OpenSSH“ и „Apache Full“ добавлены и доступны на UFW firewall.

sudo ufw status

На этом этапе вы завершили установку и базовую настройку зависимостей пакетов для установки OCS Inventory Server. Перейдите к следующему разделу, чтобы начать установку OCS Inventory Server.

Установка OCS Inventory Server

OCS Inventory Server может быть установлен на различных операционных системах, таких как Linux, Unix и Windows. Он доступен в различных пакетах и официальных репозиториях для различных дистрибутивов Linux, включая Ubuntu, Debian и CentOS.

В этом примере вы установите OCS Inventory Server вручную из исходного кода и настроите его с сервером базы данных MariaDB. Вы также установите ocsreports, который будет использоваться в качестве графического приложения и обеспечит веб-административную панель для приложения OCS Inventory Server.

Перейдите в каталог „/var/www“ и загрузите исходный код OCS Inventory Server с помощью команды git clone. Исходный код должен быть доступен в каталоге „OCSInventory-Server“.

cd /var/www/
git clone https://github.com/OCSInventory-NG/OCSInventory-Server.git

Перейдите в каталог „OCSInventory-Server“ и заgecnbnt приложение „ocsreports“ с помощью команды „git clone“. „ocsreports“ – это веб-приложение PHP, которое будет использоваться в качестве веб-консоли или панели веб-администрирования сервера инвентаризации OCS, и оно будет храниться в каталоге „ocsreports“.

cd OCSInventory-Server/
git clone https://github.com/OCSInventory-NG/OCSInventory-ocsreports.git ocsreports

Перейдите в каталог „ocsreports“ и выполните команду composer install, чтобы установить PHP-зависимости для веб-приложения ocsreports.

cd ocsreports/
sudo -u www-data composer install

Следующим шагом перейдите в корневой каталог установки OCS Inventory Server „/var/www/OCSInventory-Server*/“ и откройте bash-скрипт „*setup.sh“ с помощью следующей команды редактора nano. Сценарий „setup.sh“ будет использоваться для установки OCS Inventory Server.

cd /var/www/OCSInventory-Server/
nano setup.sh

Измените параметры базы данных на данные вашей базы данных, которые включают имя базы данных, имя пользователя и пароль.

DB_SERVER_HOST="localhost"
DB_SERVER_PORT="3306"
DB_SERVER_USER="ocs"
DB_SERVER_PWD="ocsP4ssw0rd"

Сохраните и закройте файл, когда зотредактируете.

Теперь выполните сценарий „setup.sh“, чтобы начать установку сервера инвентаризации OCS. Во время установки вам будет предложено ввести некоторые конфигурации сервера OCS.

./setup.sh

Сначала сценарий „setup.sh“ проверит и проверит зависимости для установки сервера инвентаризации OCS. Если конфигурация сервера соответствует требованиям сервера OCS, вы должны получить приветственное сообщение от сценария установки.

Введите y для продолжения.

Сейчас сценарий установки проверит данные базы данных, которые будут использоваться OCS Inventory Server. Нажмите ENTER, чтобы использовать значение по умолчанию для хоста и порта базы данных.

Следующий запрос будет касаться конфигурации веб-сервера Apache2. Сюда входят такие вопросы, как расположение двоичного файла „apachectl“, конфигурация Apache по умолчанию „apache.conf“, пользователь и группа по умолчанию, запускающие службу Apache2, и путь по умолчанию, используемый Apache2 для хранения дополнительных конфигурационных файлов.

Нажмите ENTER, чтобы использовать настройки по умолчанию для веб-сервера Apache2.

Нажмите ENTER, чтобы использовать настройки по умолчанию для веб-сервера Apache2.

Теперь вас спросят о бинарном файле „perl“. Оставьте его по умолчанию и нажмите ENTER для продолжения.

Когда вас попросят установить „Communication server“ на текущей машине, введите y для подтверждения. Теперь сценарий программы установки проверит некоторые зависимости для установки сервера.

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

Следующий скрипт программы установки „setup.sh“ убедится, что необходимые модули Perl доступны в вашей системе. Вывод „Found that PERL module … is available“ подтверждает, что модуль доступен.

Затем вам будет предложено настроить REST API сервера инвентаризации OCS. Введите y для подтверждения и нажмите ENTER для остальных настроек.

После этого начнется установка OCS Inventory Server. Ниже приведены некоторые скриншоты установки OCS Inventory Server.

Установка и настройка Perl-модулей „Communication server“.

Установка конфигурационных каталогов для „Communication serve“.

Установка „Communication server“ завершена. Также, когда вам будет предложено переименовать стандартный файл конфигурации Apache2 для OCS Inventory Server, введите y для подтверждения и нажмите ENTER для продолжения.

Следующим шагом вам будет предложено настроить и установить панель веб-администрирования „ocsreports“. Введите y для подтверждения.

Затем программа установки спросит об источнике „ocsreports“, который будет загружен, а PHP-зависимости установлены через Composer. Введите y еще раз для подтверждения установки и нажмите ENTER для остальных конфигураций, чтобы использовать настройки по умолчанию.

Установка ocsreports начнется.

После завершения у вас должно появиться сообщение типа „OK, установка сервера администрирования завершена“, выведенное на ваш терминал.

На этом установка „Communication serve“ или OCS Inventory Server и „Сервера администрирования“ или ocsreports завершена.

На данном этапе основная установка и настройка OCS Inventory Server завершена, также созданы некоторые конфигурационные файлы и каталоги по умолчанию. На следующем этапе вы активируете дополнительные конфигурационные файлы Apache2, которые используются OCS Inventory Server и ocsreports.

Применение конфигураций Apache2 для сервера инвентаризации OCS

После установки сервера инвентаризации OCS и ocsreports необходимо применить сгенерированные конфигурации Apache2 для установки OCS. Дополнительные конфигурации Apache2, сгенерированные скриптом „setup.sh“ OCS в каталог „/etc/apache2/conf-available/“.

Сейчас вы активируете конфигурации Apache2, которые будут использоваться для сервера инвентаризации OCS, создав симлинк файла конфигурации в целевой каталог „/etc/apache2/conf-enabled/“.

Введите следующую команду для включения конфигурационных файлов Apache2 для OCS Inventory Server.

Файл „ocsinventory-reports.conf“ используется для запуска веб-приложения ocsreports, файл „z-ocsinventory-server.conf“ используется сервером инвентаризации OCS, а файл „zz-ocsinventory-restapi.conf“ используется REST API сервера OCS.

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

Теперь введите следующую команду, чтобы убедиться, что пользователь и группа „www-data“ могут писать в каталог данных ocsreports „/var/lib/ocsinventory-reports“. Затем проверьте конфигурацию Apache2 с помощью команды „apachectl“, приведенной ниже.

sudo chown -R www-data:www-data /var/lib/ocsinventory-reportssudo apachectl configtest

Вывод „Syntax OK“ подтверждает наличие корректных и правильных конфигурационных файлов Apache2.

Введите следующую команду systemctl для перезапуска службы Apache2 и применения изменений. После этого сервер инвентаризации OCS должен быть доступен по IP-адресу сервера.

sudo systemctl restart apache2

Установка OCS Inventory Server и OCS Reports

Откройте веб-браузер и перейдите по ссылке http://192.168.5.20/ocsreports/install.php, где 192.168.5.20 – это IP-адрес вашего нового сервера.

Введите данные базы данных для установки OCS Inventory Server и нажмите „Send“ для подтверждения.

Нажмите на ссылку, чтобы перейти на страницу входа в ocsreports.

На странице входа в OCS введите имя пользователя и пароль „admin“. Затем нажмите „Send“ для продолжения.

Если пароле введен правильно, Вы получите панель администрирования ocsreports, которая представляет собой графическое управление для сервера инвентаризации OCS.

В верхней части приборной панели ocsreports вы должны увидеть сообщение „SECURITY ALERT“. Это указывает на необходимость удалить установочный скрипт „/*usr/share/ocsinventory-reports/ocsreports/install.php*“ и изменить пользователя и пароль администратора по умолчанию.

Вернитесь в терминал OCS Inventory Server и выполните следующую команду для удаления установочного скрипта „install.php“.

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

Следующее, вернитесь в панель управления ocsreports и нажмите на меню настроек в правом верхнем углу, затем выберите меню „Моя учетная запись“.

Измените пользователя администратора по умолчанию, электронную почту и пароль. Затем нажмите „OK“ для подтверждения.

После удаления скрипта установщика „install.php“ и изменения пользователя и пароля администратора по умолчанию, сообщение „SECURITY ALERT“ исчезнет из панели администрирования ocsreports.

Теперь вы можете легко управлять своими устройствами с помощью OCS Agent, который может быть установлен на различных операционных системах, таких как дистрибутивы Linux, Windows, macOS и BSD. Вы также можете защитить свой OCS Inventory Server, внедрив безопасный HTTPS на веб-сервере Apache. Чтобы узнать больше, посетите официальную документацию OCS Inventory Server.

Зарубин Иван Эксперт по Linux и Windows

Парашютист со стажем. Много читаю и слушаю подкасты. Люблю посиделки у костра, песни под гитару и приближающиеся дедлайны. Люблю путешествовать.

Вдохновлен www.howtoforge.com

Похожие статьи

Комментарии (0)