На кофе

Вход

Учет инфраструктуры ЦОД на OpenDCIM на Astra Linux 1.8

Поделиться статьей

Это openDCIM, бесплатное веб-приложение для управления инфраструктурой центра обработки данных.

OpenDCIM охватывает большинство функций, необходимых разработчикам, как это часто бывает с программным обеспечением с открытым исходным кодом.

Программное обеспечение выпущено под лицензией GPL v3, поэтому вы можете использовать его, изменять и делиться им с другими, при условии, что вы подтверждаете, откуда оно взялось.https://www.opendcim.org/.

Цель номер один для openDCIM - инвентаризация центров обработки данных.

Возможности OpenDCIM:

  • Обеспечить полную физическую инвентаризацию (отслеживание активов) центра обработки данных.
  • Поддержка нескольких Центров обработки данных.
  • Управление тремя ключевыми элементами управления производительностью - пространством, питанием и охлаждением.
  • Базовое управление контактами и интеграция в существующий каталог с помощью идентификатора пользователя.
  • Отслеживание отказоустойчивости - запустите симуляцию отключения электроэнергии, чтобы увидеть, на что это повлияет при выходе из строя каждого источника электропитания.
  • Вычисление центра тяжести для каждого шкафа.
  • Управление шаблонами для устройств с возможностью переопределения для каждого устройства.
  • Дополнительное отслеживание кабельных соединений внутри каждого шкафа и для каждого коммутационного устройства.
  • Функции архивирования оборудования, отправленного на утилизацию.
  • Интеграция с интеллектуальными блоками питания и ИБП - APC, Geist Manufacturing, Liebert и серверными технологиями. Простое обновление с помощью OID для других производителей.
  • Открытая архитектура - все построено на базе данных MySQL для удобного создания отчетов или экспорта в другие приложения.

 

Предварительные настройки

1. В терминале (Alt+t) переходим под root

sudo su

Установим необходимые для работы пакеты

sudo apt -y install gnupg wget apt-transport-https ca-certificates

2. Добавим репозиторий Astra Linux 1.8:

cat << EOF > /etc/apt/sources.list

deb https://download.astralinux.ru/astra/stable/1.8_x86-64/repository-main/ 1.8_x86-64 main contrib non-free non-free-firmware

deb https://download.astralinux.ru/astra/stable/1.8_x86-64/repository-extended/ 1.8_x86-64 main contrib non-free non-free-firmware

EOF

Подразумеваем, что изначально ОС Astra Linux обновлена, если нет, то выполняем

apt update

astra-update -r -A -T

После обновления перегружаемся по требованию

sudo reboot

Удалим устаревшие и неиспользуемые пакеты:

sudo apt autoremove -fy

3. Вначале установим имя хоста системы на доменное имя (FQDN), которое мы будем использовать

hostnamectl set-hostname dcim.entnet.ru

4. В файл hosts добавим имя хоста:

Определим ip адрес:

ifconfig | grep "inet" | grep "broadcast" |  awk '{print $2}'

Отредактируем /etc/hosts:

mcedit /etc/hosts

Установим имя нашего сервера в файле конфигурации hosts:

192.168.1.XXX   dcim.entnet.ru    dcim

где 192.168.1.XXX — IP-адрес нашего сервера; dcim — имя сервера; entnet.ru — наш домен, если используется.

5. Установка необходимых пакетов

sudo apt install -y php8.2 php8.2-mbstring php8.2-snmp php8.2-gd php8.2-mysql php8.2-zip php8.2-curl php8.2-ldap php8.2-xml php8.2-intl php8.2-common mariadb-server tzdata locales-all graphviz locales apache2

6. Включим сервисы вебсервера и базы данных

sudo systemctl enable apache2.service --now

sudo systemctl enable mariadb.service --now

7. Настроим параметры безопасности нашей БД:

sudo mysql_secure_installation

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
     SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current
password for the root user. If you've just installed MariaDB, and
haven't set the root password yet, you should just press enter here.

Enter current password for root (enter for none): enter
OK, successfully used password, moving on...

Setting the root password or using the unix_socket ensures that nobody
can log into the MariaDB root user without the proper authorisation.

You already have your root account protected, so you can safely answer 'n'.

Switch to unix_socket authentication [Y/n] n
... skipping.

You already have your root account protected, so you can safely answer 'n'.

Change the root password? [Y/n] n
... skipping.

By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] y
... Success!

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] y
... Success!

By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] y
- Dropping test database...
... Success!
- Removing privileges on test database...
... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] y
... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!

8. Теперь нам необходимо создать базу данных.

Создадим ее с названием dcim для пользователя dcim и с паролем entnet:

# sudo mysql

MariaDB [(none)]> create database dcim;

MariaDB [(none)]> grant all privileges on dcim.* to 'dcim' identified by 'entnet';

MariaDB [(none)]> exit

9. Создадим рабочую папку приложения и закачаем туда содержимое веб-приложения от разработчика:

sudo mkdir -p /opt/openDCIM/

cd /opt/openDCIM/

sudo wget https://github.com/opendcim/openDCIM/archive/refs/tags/23.04.tar.gz

sudo tar -zxpf 23.04.tar.gz

sudo ln -s openDCIM-23.04 opendcim

sudo mkdir -p assets/{pictures,drawings}

sudo chown www-data:www-data assets/*

sudo ln -s /opt/openDCIM/assets/ /opt/openDCIM/opendcim/

10. Ну и сконфигурируем файл настройки БД для приложения (Необходимо как минимум изменить пароль, который мы указали при создании БД в п. 8):

sudo cp opendcim/db.inc.php-dist opendcim/db.inc.php

sudo mcedit /opt/openDCIM/opendcim/db.inc.php

11. Настройка веб приложения.

Сначала выключим режим режим Astra 

sudo echo "AstraMode off" >> /etc/apache2/apache2.conf

Обычно ssl ключи кладут в папки /etc/ssl/certs и /etc/ssl/private, это место хранения открытого и закрытого ключей соответственно по умолчанию.

В них мы положим уже имеющиеся (если есть) либо выпустим бесплатные сертификаты, как в статье Устанавливаем и автоматически продлеваем сертификаты ssl при помощи Lets Encrypt и Certbot на Astra Linux

Например:

dcim.entnet.ru.crt - открытый ключ

dcim.entnet.ru.key - закрытый ключ

Редактируем файл конфигурации сайта в настройках веб сервера (прописываем в нем путь к ssl ключам)

mcedit /etc/apache2/sites-available/opendcim.conf

Исходник можно взять здесь

Естественно, перезагрузим веб-сервер и сервер базы данных:

systemctl restart mysql apache2

12. Создадим пользователя для аутентификации (в нашем случае оставим его dcim)

sudo htpasswd -c /opt/openDCIM/.htpasswd dcim

13. Включаем модули rewrite и ssl для нашего вновь созданного сайта openDCIM и перезапускаем веб-сервер:

sudo a2enmod rewrite
sudo a2enmod ssl
sudo a2ensite opendcim.conf
sudo systemctl restart apache2

Ну вот и готово, Вы можете перейти на страницу openDCIM по указанному в файле конфигурации адресу, предварительно введя учетные данные, заданные в п.12

В итоге попадаем на главную страницу нашего приложения:

Если Вам понравилась статья, Вы можете отблагодарить автора донатом