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

Установка InspIRCd на Debian 10

• 6 min read • DevOps • Обновлено 24 Nov 2025
Установка InspIRCd на Debian 10
Установка InspIRCd на Debian 10

Быстрая справка

  • Что это: InspIRCd — модульный демон IRC для UNIX-подобных систем. Определение: IRC-сервер, принимающий TCP-соединения от клиентов и поддерживающий скрипты AngelScript.
  • Цель: запустить рабочий IRC-сервер на Debian 10 и обеспечить базовую безопасность и автозапуск.
  • Кому полезно: системным администраторам, хобби-проектам, небольшим сообществам.

Схема установки InspIRCd

Предварительные требования

  • Debian 10 с доступом по SSH и учётной записью без root (будут привилегии sudo).
  • Доступ в интернет для загрузки исходников и зависимостей.
  • Рекомендуется базовое знакомство с командной строкой Linux и редактором nano.

Важно: выполняйте команды с осторожностью на рабочем сервере и делайте резервные копии конфигураций.

Обновление сервера

Обновите пакеты перед установкой зависимостей:

sudo apt update && sudo apt upgrade -y

Это гарантирует, что у вас последние исправления безопасности и последние версии пакетов.

Создание отдельного пользователя

Рекомендуется запускать InspIRCd от имени непривилегированного пользователя.

sudo adduser newircd

Добавляем пользователя в группу sudo (опционально, если нужно разрешить управление системой):

sudo /sbin/usermod -a -G sudo newircd

Перейдите в домашнюю директорию и установите зависимости:

cd
sudo apt install git perl g++ make -y

Примечание: git нужен для загрузки исходников при необходимости, perl — для скриптов демона, g++ и make — для сборки.

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

Скачивание и сборка InspIRCd

Загрузите релиз InspIRCd (в примере используется v3.10.0):

wget https://github.com/inspircd/inspircd/archive/refs/tags/v3.10.0.tar.gz

Распакуйте архив:

tar xvf ./v3.10.0.tar.gz

Перейдите в каталог исходников и запустите конфигурацию:

cd inspircd-3.10.0
perl ./configure

Во время configure вас попросят указать каталог установки. В примере используется /home/newircd/inspircd-3.10.0/ — указывайте полный путь для точности.

Конфигурация InspIRCd

После успешной конфигурации соберите и установите:

make
make install

Сборка может занять несколько минут в зависимости от мощности сервера.

Первичная настройка конфигурации

Пример конфигурации (фрагмент XML). Откройте файл конфигурации и при необходимости отредактируйте значения:

sudo nano /home/newircd/inspircd-3.10.0/run/conf/inspircd.conf

Вставьте или отредактируйте следующие строки (пример):

  

  

  

####### SERVER CONFIGURATION #######  

  

####### ADMIN INFO #######  

  

####### PORT CONFIGURATION #######  

Пояснения к ключевым полям:

  • bindip — IP-адрес интерфейса для прослушивания. Оставьте пустым для всех интерфейсов.
  • port — порт клиента (6697 обычно используется для TLS).
  • server.name и network — видны внешним клиентам.

Сохраните изменения (CTRL+X, Y, Enter в nano).

Запуск сервера вручную

./inspircd start

Эта команда запускает демон. Если firewall активирован, откройте порты (см. раздел брандмауэра).

Создание systemd unit для автозапуска

Рекомендуется создать systemd-сервис для управления InspIRCd.

sudo tee /etc/systemd/system/inspircd.service > /dev/null <<'EOF'
[Unit]
Description=InspIRCd IRC Server
After=network.target

[Service]
Type=forking
User=newircd
WorkingDirectory=/home/newircd/inspircd-3.10.0
ExecStart=/home/newircd/inspircd-3.10.0/inspircd start
ExecStop=/home/newircd/inspircd-3.10.0/inspircd stop
Restart=on-failure

[Install]
WantedBy=multi-user.target
EOF

sudo systemctl daemon-reload
sudo systemctl enable --now inspircd.service

Проверьте статус:

sudo systemctl status inspircd.service

Открытие портов и базовый брандмауэр

Если вы используете ufw:

sudo ufw allow 6667/tcp      # стандартный IRC порт
sudo ufw allow 6697/tcp      # TLS (рекомендуется)
sudo ufw allow 7000/tcp      # если используется альтернативный порт
sudo ufw enable
sudo ufw status

Если используется iptables, откройте нужные порты вручную или добавьте правила для «INPUT».

Важно: используйте TLS (порт 6697) вместо незашифрованных соединений для публичных серверов.

Настройка TLS

  • Получите сертификат: можно использовать Certbot/Let’s Encrypt или самоподписанный сертификат для тестов.
  • В конфигурации InspIRCd укажите пути к файлам сертификатов в соответствующем XML-блоке для bind type=”client”.

Пример с самоподписанным сертификатом:

sudo openssl req -new -x509 -days 365 -nodes -out /etc/ssl/certs/inspircd.crt -keyout /etc/ssl/private/inspircd.key
sudo chown newircd: /etc/ssl/private/inspircd.key

Затем укажите эти пути в конфиге InspIRCd и перезапустите сервис.

Тестирование с IRC-клиентом

  1. Откройте ваш IRC-клиент и создайте «новый сервер» или «новую сеть».
  2. Укажите IP/домен сервера и порт (6697 для TLS, 6667 для незашифрованного).
  3. Укажите ник и опционально пароль (в зависимости от конфигурации).

Добавление сети в IRC-клиент

Детали сервера в клиенте

При успешном подключении вы увидите окно чата:

Пример IRC-чата

Отладка и журналирование

  • Логи InspIRCd обычно находятся в каталоге run/logs внутри установленной директории. Проверьте inspircd.log и error.log.
less /home/newircd/inspircd-3.10.0/run/logs/inspircd.log
  • Проверяйте права на файлы и каталоги — демон должен иметь доступ к конфигу и сертификатам.
  • Используйте netstat или ss для проверки прослушиваемых портов:
ss -tlnp | grep inspircd
  • Если демону не удаётся запуститься, systemctl status и journalctl -u inspircd.service помогут увидеть сообщения об ошибках.

Частые ошибки и способы решения

  • Ошибка привилегий при запуске: убедитесь, что файлы принадлежат пользователю newircd.
  • Порт занят: проверьте, не использует ли порт другой процесс (ss -tlnp).
  • Неправильный путь в конфиге: используйте абсолютные пути и проверьте синтаксис XML.
  • Проблемы с TLS: проверьте формат сертификата и права доступа к ключу.

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

  • Сервис успешно запускается и управляется через systemd.
  • Сервер слушает указанные порты (ss или netstat показывает порты).
  • Клиент может подключиться по TCP/TLS без ошибок.
  • В логах нет постоянных ошибок при старте и при подключении клиентов.

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

  • Тесты подключения: подключиться с двух клиентов и создать канал.
  • Тест на перезапуск: выполнить systemctl restart inspircd и убедиться, что сессии восстанавливать не нужно.
  • Тест на права: проверить, что процесс не запущен от root.

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

  • Включите TLS и отключите незашифрованные порты для публичных серверов.
  • Запускайте демон от непользователя root.
  • Ограничьте доступ к ключам и конфигурации (chmod 640/600, владелец newircd).
  • Регулярно обновляйте систему и InspIRCd.

Рекомендации по миграции и обновлению

  • Перед обновлением сохраняйте текущую конфигурацию и логи.
  • Читайте CHANGELOG InspIRCd перед апгрейдом: некоторые параметры XML и модули могут измениться.
  • Выполняйте обновление на тестовом стенде перед продукцией.

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

  • Установщик (DevOps): обновление системы, установка зависимостей, сборка, systemd unit.
  • Администратор сервера: настройка TLS, брандмауэр, резервное копирование конфигов.
  • Модератор сети: проверка доступности каналов, управление операторами и модами.

Чек-лист для админа:

  • Обновить Debian
  • Создать пользователя newircd
  • Установить зависимости
  • Собрать и установить InspIRCd
  • Настроить TLS и права на ключи
  • Создать systemd unit и включить сервис
  • Открыть необходимые порты в брандмауэре
  • Проверить подключение клиентов и логи

Минимальная методология отката

  1. Остановите сервис: sudo systemctl stop inspircd
  2. Восстановите предыдущий конфиг из бэкапа
  3. Верните старую бинарную сборку (если применимо)
  4. Запустите сервис и проверьте логи

Приватность и соответствие требованиям

  • InspIRCd хранит журналы соединений и, возможно, пароли/регистрационные данные в зависимости от конфигурации. Ограничьте доступ к логам и данным пользователей.
  • Если вы обрабатываете персональные данные пользователей из ЕС, убедитесь, что политики хранения и удаления соответствуют GDPR: ограничьте время хранения логов и предоставьте процедуры для удаления данных по запросу.

Итог и дальнейшие шаги

Вы установили InspIRCd на Debian 10, настроили автозапуск, открыли порты и проверили подключение клиента. Дальше рекомендуем:

  • Настроить модули InspIRCd, которые нужны для вашей сети.
  • Подключить внешнюю систему аутентификации (если требуется).
  • Настроить регулярные бэкапы конфигурации и логов.

Краткое резюме:

  • Установка и сборка из исходников даёт контроль над версиями и модулями.
  • Systemd и TLS — обязательны для стабильности и безопасности.
  • Тестируйте на стенде перед развёртыванием в продукцию.

Спасибо за внимание — удачи с вашим IRC-сервером!

Поделиться: 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 быстро