Это 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
В итоге попадаем на главную страницу нашего приложения: