Гид по технологиям

Установка i-doit на Debian 10 — полное руководство

• 7 min read • DevOps • Обновлено 23 Nov 2025
Установка i-doit на Debian 10 — руководство
Установка i-doit на Debian 10 — руководство

В этой статье — пошаговая инструкция по установке и настройке i-doit (open-source CMDB) на Debian 10: LAMP (Apache, MariaDB, PHP), конфигурация PHP и MariaDB под i-doit, развёртывание приложения, настройка виртуального хоста Apache и бесплатного SSL от Let’s Encrypt. В конце — чеклисты, рекомендации по безопасности, тесты и возможные альтернативы.

Иллюстрация i-doit

Обзор

i-doit — бесплатное решение для документирования ИТ-инфраструктуры, построенное вокруг CMDB. Веб-инструмент реализует практики ITIL и позволяет хранить информацию об аппаратных и программных активах, связях между ними, визуализировать стойки, кластеры и виртуальные системы. Интегрируется с мониторингом и трекинг-системами (например, Nagios, Request Tracker), что позволяет ввести данные один раз и использовать их в экосистеме ITSM.

Кратко: i-doit управляет документами, учётом активов, IP-адресами, SAN, кабельной инфраструктурой и многим другим.

Важно: перед началом убедитесь, что у вас есть доступ к серверу с Debian 10, выделенный домен и права root.

Требования

  • Сервер с Debian 10 и минимум 2 ГБ ОЗУ (рекомендуется 4+ ГБ для продакшена).
  • Домен, указывающий на IP сервера (в примерах используется idoit.linuxbuz.com).
  • Настроенный пароль root или доступ через sudo.

Совет: для тестовой среды можно использовать минимальные ресурсы, но для продуктивной эксплуатации планируйте резерв CPU/памяти и бэкап БД.

Шаг 1. Обновление системы

Перед установкой обновите пакетную базу и установите обновления:

apt-get update -y
apt-get upgrade -y

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

Шаг 2. Установка LAMP и зависимостей

Установим Apache, MariaDB, PHP и необходимые расширения:

apt-get install apache2 mariadb-server libapache2-mod-php php php-common php-curl php-bcmath php-gd php-json php-ldap php-mbstring php-mysql php-opcache php-pgsql php-soap php-xml php-zip php-memcached php-imagick unzip memcached moreutils -y

После установки создадим отдельный файл конфигурации PHP для i-doit (на примере PHP 7.3). Если у вас другая версия PHP, путь может отличаться (/etc/php/<версия>/mods-available/).

nano /etc/php/7.3/mods-available/i-doit.ini

Добавьте следующие параметры (нужные для стабильной работы i-doit):

allow_url_fopen = Yes
file_uploads = On
magic_quotes_gpc = Off
max_execution_time = 300
max_file_uploads = 42
max_input_time = 60
max_input_vars = 10000
memory_limit = 256M
post_max_size = 128M
register_argc_argv = On
register_globals = Off
short_open_tag = On
upload_max_filesize = 128M
display_errors = Off
display_startup_errors = Off
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
log_errors = On
default_charset = "UTF-8"
default_socket_timeout = 60
date.timezone = Asia/Kolkata
session.gc_maxlifetime = 604800
session.cookie_lifetime = 0
mysqli.default_socket = /var/run/mysqld/mysqld.sock

Сохранив файл, включите модуль и перезапустите Apache:

phpenmod i-doit
phpenmod memcached
systemctl restart apache2

Примечание: установите date.timezone согласно вашему часовому поясу (например, Europe/Moscow).

Шаг 3. Настройка MariaDB для i-doit

По умолчанию у MariaDB в Debian 10 может не быть пароля root. Установим пароль и настроим аутентификацию.

Войдите в оболочку MariaDB:

mysql

Установите пароль для root (замените yournewpassword на надежный пароль):

SET PASSWORD FOR 'root'@'localhost' = PASSWORD("yournewpassword");

Если возникает конфликт плагина аутентификации, переведём root на mysql_native_password и отключим быстрый shutdown InnoDB для безопасного изменения файлов журналов:

SET GLOBAL innodb_fast_shutdown = 0;
UPDATE mysql.user SET plugin = 'mysql_native_password' WHERE User = 'root';
FLUSH PRIVILEGES;
EXIT;

Создадим оптимальный конфигурационный файл MariaDB для i-doit:

nano /etc/mysql/mariadb.conf.d/99-i-doit.cnf

Вставьте параметры оптимизации (адаптируйте под ресурсы сервера):

[mysqld]
innodb_buffer_pool_size = 1G
innodb_buffer_pool_instances = 1
innodb_log_file_size = 512M
innodb_sort_buffer_size = 64M
sort_buffer_size = 262144
join_buffer_size = 262144
max_allowed_packet = 128M
max_heap_table_size = 32M
query_cache_min_res_unit = 4096
query_cache_type = 1
query_cache_limit = 5M
query_cache_size = 80M
tmp_table_size = 32M
max_connections = 200
innodb_file_per_table = 1
innodb_thread_concurrency = 0
innodb_flush_log_at_trx_commit = 1
innodb_flush_method = O_DIRECT
innodb_lru_scan_depth = 2048
table_definition_cache = 1024
table_open_cache = 2048
innodb_stats_on_metadata = 0
sql-mode = ""

Перезапустите MariaDB, чтобы применить настройки:

systemctl restart mariadb

Важно: параметры иннобд и кэширования зависят от объёма памяти и нагрузки. На серверах с 4+ ГБ можно увеличить innodb_buffer_pool_size.

Шаг 4. Скачивание и развёртывание i-doit

На момент написания этой инструкции версия примера — 1.14. Скачайте архив и распакуйте в корень веб-сервера:

wget https://excellmedia.dl.sourceforge.net/project/i-doit/i-doit/1.14/idoit-open-1.14.zip
unzip idoit-open-1.14.zip -d /var/www/html/idoit

Установите владельца и права на папки:

chown -R www-data:www-data /var/www/html/idoit/
chmod -R 775 /var/www/html/idoit/

Совет: для окружений с повышенными требованиями безопасности рассмотрите 750 и дополнительную настройку Umask/ACL.

Шаг 5. Конфигурация Apache

Создадим виртуальный хост для i-doit:

nano /etc/apache2/sites-available/idoit.conf

Вставьте конфигурацию (замените ServerName на ваш домен):


        ServerAdmin [email protected]
        ServerName  idoit.linuxbuz.com
        DirectoryIndex index.php
        DocumentRoot /var/www/html/idoit
        
                AllowOverride All
                Require all granted
        
        LogLevel warn
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

Включите сайт и модуль rewrite, затем перезапустите Apache:

a2ensite i-doit
a2enmod rewrite
systemctl restart apache2

Проверьте, что DocumentRoot указывает на правильную папку, и что права доступа позволяют веб-серверу читать файлы.

Шаг 6. Первый запуск и веб-инсталляция

Откройте в браузере http://idoit.linuxbuz.com (или ваш домен). Мастер установки проведёт вас через проверку окружения, указание директорий и создание базы данных.

Проверка установки i-doit

Убедитесь, что все необходимые PHP-расширения установлены, затем нажмите Далее.

Папки и конфигурация i-doit

Подтвердите пути и продолжите.

Подключение к базе данных i-doit

Укажите пользователя root MariaDB и пароль, затем создайте отдельного пользователя БД для i-doit и имя БД.

Данные администратора i-doit

Создайте администратора i-doit и завершите установку.

Проверка конфигурации i-doit

После установки войдите в систему через страницу логина.

Экран логина i-doit

Панель i-doit

Шаг 7. Защита сайта SSL через Let’s Encrypt

Рекомендовано включить HTTPS. Установим certbot из backports и получим сертификат:

echo "deb http://ftp.debian.org/debian buster-backports main" >> /etc/apt/sources.list
apt-get update -y
apt-get install python-certbot-apache -t buster-backports
certbot --apache -d idoit.linuxbuz.com

При запросе выберите автоматическое перенаправление HTTP на HTTPS (обычно номер 2). Certbot создаст SSL-виртуальный хост и обновит конфигурацию Apache.

Пример вывода и подсказок подтверждения находится в мастере certbot (E-mail для уведомлений и соглашение с условиями). После окончания вы увидите путь к сертификатам в /etc/letsencrypt/live/.

Важно: проверьте автоматическое обновление сертификатов (cron/systemd timer certbot renew). Убедитесь, что firewall и NAT не блокируют доступ на 80/443 порты.

Рекомендации по безопасности после установки

  • Ограничьте доступ к интерфейсу i-doit через VPN или IP-фильтрацию для админ-панели.
  • Храните бэкапы /etc/letsencrypt и каталога с данными i-doit.
  • Включите регулярное обновление сервера и мониторинг: обновления безопасности, сканирование уязвимостей.
  • Отключите ненужные PHP-функции и ограничьте execution time для продакшена.
  • Настройте регулярный бэкап MariaDB и проверяйте восстановление на тестовом стенде.

Тесты и критерии приёмки

Критерии приёмки

  • Веб-интерфейс i-doit доступен по HTTPS и отображает панель администратора.
  • Все обязательные PHP-расширения присутствуют и проверяются мастером установки.
  • База данных создана, пользователь БД с ограниченными правами настроен.
  • SSL-сертификат успешно установлен и автоматическое обновление настроено.
  • Создана первая запись (например, сервер) и видны связи между объектами.

Минимальные тесты (acceptance)

  • Попробовать вход под администратором.
  • Создать тестовую конфигурацию сервера и связать её с IP и стойкой.
  • Экспортировать/импортировать небольшой набор данных (если планируете миграцию).
  • Проверить журнал веб-сервера и MariaDB на отсутствие ошибок.

Технические рекомендации и оптимизация

Ментальные модели и подходы

  • Правило единого источника: данные вводятся один раз и используются в интеграциях.
  • Шкала: для тестовой среды достаточно 2–4 ГБ RAM; для продакшн — 8+ ГБ в зависимости от количества объектов и подключенных модулей.
  • Бэкап — ключевой фактор: автоматические ежедневные дампы БД и файлов.

Тонкости производительности

  • Увеличьте innodb_buffer_pool_size под объём данных (обычно 50–70% от доступной памяти сервера БД).
  • Если используется много связей и отчётов, следите за max_connections и query_cache (в MariaDB query_cache может ускорять чтение при статическом рабочем наборе).
  • Виртуализация: для высокой I/O нагрузки предпочитайте диски SSD и настройку proper I/O scheduler.

Резервные и миграционные заметки

  • Экспорт данных: используйте встроенные средства i-doit для экспорта/импорта конфигураций.
  • При переносе на новый сервер: синхронизируйте /var/www/html/idoit, конфигурацию Apache, /etc/letsencrypt и дамп БД.
  • При обновлении версии i-doit перед апгрейдом сделайте полный бэкап и проверьте требования к версиям PHP/MySQL.

Ролевые чеклисты

Администратор системы

  • Обновление ОС и пакетов.
  • Настройка резервного копирования и мониторинга.
  • Настройка firewall и SSL.

Администратор БД

  • Настройка паролей и прав пользователей БД.
  • Планирование innodb_buffer_pool_size и параметров логов.
  • Регулярные дампы и проверка восстановления.

Сервисный инженер (ITSM)

  • Настройка шаблонов объектов в i-doit.
  • Определение процессов импорта/экспорта данных.
  • Интеграция с внешними системами (Nagios, RT).

Типичные проблемы и их устранение

Проблема: Мастер установки жалуется на отсутствующие PHP-расширения

  • Проверьте вывод php -m и установите недостающие модули, затем перезапустите Apache.

Проблема: Ошибки при подключении к MariaDB

  • Убедитесь в корректности имени пользователя, пароля и сокета mysqli.default_socket в php-конфигурации.
  • Проверьте, что root использует mysql_native_password или создайте отдельного пользователя с нужными правами:
CREATE DATABASE idoit CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE USER 'idoituser'@'localhost' IDENTIFIED BY 'strongpassword';
GRANT ALL PRIVILEGES ON idoit.* TO 'idoituser'@'localhost';
FLUSH PRIVILEGES;

Проблема: SSL не выпускается Certbot

  • Проверьте, доступен ли домен по HTTP и что 80/443 открыты в firewall.
  • Убедитесь, что DNS указывает на правильный IP.

Когда этот подход не работает

  • Если у вас ограниченный хостинг без права установки Apache/MariaDB — используйте хостинг-поставщика с поддержкой Docker/VM или SaaS-альтернативы CMDB.
  • Если нужны сложные интеграции и возможность персональных модулей на уровне ядра — рассмотрите коммерческую поддержку i-doit или платные решения с интеграционными коннекторами.

Альтернативные подходы

  • Развёртывание в контейнере Docker для упрощения миграций и изоляции окружения.
  • Использование внешней управляемой БД (RDS-подобная услуга) для упрощения бэкапов и отказоустойчивости.
  • Рассмотрение других CMDB: Ralph, NetBox (для сетевых и IP-инфраструктур) — в зависимости от задач.

Security hardening и соответствие

  • Шифрование бэкапов и ограничение доступа к /etc/letsencrypt.
  • Логи и аудит: настройте централизованный сбор логов (syslog/ELK) для аудита действий пользователей.
  • Если в i-doit будут персональные данные, проверьте требования локального законодательства и GDPR: ограничьте хранение персональных данных, настройте права доступа и журналы аудита.

Контроль качества и тест-кейсы

Ключевые тесты

  • Авторизация: вход по учётной записи администратора и обычного пользователя.
  • CRUD: создать, изменить, удалить тестовый объект и проверить журнал изменений.
  • Интеграции: проверить импорт/экспорт CSV и подтяжку данных по API (если используется).
  • Восстановление: восстановление базы из бэкапа на тестовой машине.

Примеры acceptance criteria

  • Веб-интерфейс доступен в течение 99% времени в рабочие часы.
  • Восстановление базы из последнего бэкапа занимает не более N часов (определяется SLA).
  • Все критичные пути (создание объекта, привязка IP, создание связи) работают без ошибок.

Заключение

Мы рассмотрели полный цикл установки i-doit на Debian 10: подготовка сервера, установка LAMP, тонкая настройка PHP и MariaDB, развёртывание i-doit, настройка Apache и получение бесплатного SSL от Let’s Encrypt. Также дали практические рекомендации по безопасности, тестированию и операциям поддержки.

Важно: адаптируйте параметры MariaDB и PHP под реальные нагрузки и проводите тесты восстановления данных до ввода в продуктив.

Ключевые действия после установки

  • Настроить регулярные бэкапы БД и файлов.
  • Настроить мониторинг и обновления системы.
  • Ограничить доступ к админ-интерфейсу и настроить HTTPS.

Спасибо за чтение. Если нужно, могу подготовить Docker-композ для развёртывания i-doit или чеклист миграции из другой CMDB.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро