Сборка и настройка UnrealIRCd и Anope — Шаг 3
О чем этот шаг
Этот документ — пошаговая инструкция для сборки UnrealIRCd и Anope на Linux. Он показывает базовые команды, ответы в интерактивном скрипте ./Config и объясняет, зачем нужны некоторые опции (SSL, ziplinks, prefix-aq, permissions и т. д.). Предполагается, что вы уже скачали архивы Unreal3.2.6.tar.gz и anope-1.6.5.tar.gz и находитесь в домашней папке пользователя, который будет управлять IRCd (в примерах — ircadmin / zcworld / ircdadmin).
Подготовка: переход в суперпользователя и создание директорий
- Переключаемся в root (Superuser):
su -
root password here- Если папка bin уже есть — пропустите создание, но убедитесь, что права владельца корректны.
cd /home/ircadmin
make bin
make conf
chown -R ircadmin:ircadmin ./
ls -alЗамечание: на скриншоте отсутствует conf — это нормально, если вы пропустили создание. Просто создайте её и выставьте права, как показано выше.
Важно: chown -R ircadmin:ircadmin ./ назначает все файлы и подпапки текущей директории пользователю ircadmin, что нужно для корректной работы сборки и дальнейших запусков от этого пользователя.
Выходим из суперпользователя, чтобы вернуться в домашнюю учётную запись:
exit
pwd
# убедитесь, что вы в /home/zcworld (или соответствующей домашней папке)
/home/zcworldРаспаковка исходников и запуск конфигурации
cd src
tar -zxf Unreal3.2.6.tar.gz
tar -zxf anope-1.6.5.tar.gz 33
cd Unreal3.2
./ConfigНиже пример интерактивного сеанса ./Config и рекомендуемые ответы. Этот вывод — пример того, что вы увидите при конфигурации.
Do you want to enable the server anti-spoof protection? [No] -> Yes
- Рекомендуется включить nospoof/anti-spoof: защита помогает предотвратить фальсификацию идентификаторов клиентов.
What directory are all the server configuration files in? [/home/zcworld/src/Unreal3.2] -> /home/ircdadmin/conf
- Укажите директорию, где будут храниться файлы конфигурации (dpath). Часто держат конфы в /home/ircadmin/conf.
What is the path to the ircd binary including the name of the binary? [/home/zcworld/src/Unreal3.2/src/ircd] -> /home/ircadmin/bin/ircd
- Путь к результату сборки (spath). После компиляции сюда будет помещён исполняемый файл ircd.
Would you like to compile as a hub or as a leaf? Type Hub to select hub and Leaf to select leaf. [Hub] -> hub
- Hub — центральный сервер сети. Leaf — узел, присоединяющийся к хабу.
What is the hostname of the server running your IRCd? [dhcppc2] -> irc.zcworld-evil.mine.nu
- Хостнейм указывайте тот, который возвращается DNS или должен быть видим в сети.
What should the default permissions for your configuration files be? (Set this to 0 to disable) It is strongly recommended that you use 0600 to prevent unwanted reading of the file [0600] ->
- 0600 ограничивает чтение/запись только владельцу. Это критично для секретных ключей и паролей в конфигурации.
Do you want to support SSL (Secure Sockets Layer) connections? [No] -> y
- Включение SSL позволяет клиентам подключаться по защищённым соединениям (TLS). Если включаете, убедитесь, что OpenSSL установлен.
If you know the path to OpenSSL on your system, enter it here. If not leave this blank [] ->
Do you want to enable IPv6 support? [No] ->
Do you want to enable ziplinks support? [No] -> y
- ziplinks оптимизируют связь между серверами при использовании zlib-сжатия.
If you know the path to zlib on your system, enter it here. If not leave this blank [] ->
Do you want to enable remote includes? [No] ->
Do you want to enable prefixes for chanadmin and chanowner? This will give +a the & prefix and ~ for +q (just like +o is @) Supported by the major clients (mIRC, xchat, epic, eggdrop, Klient, PJIRC, irssi, CGI:IRC, etc.) This feature should be enabled/disabled network-wide. [Yes] -> y
- prefixaq удобен, если вы хотите выделить уровни прав в каналах отдельно от оповещений +o.
What listen() backlog value do you wish to use? Some older servers have problems with more than 5, others work fine with many more. [5] ->
How far back do you want to keep the nickname history? [2000] ->
What is the maximum sendq length you wish to have? [3000000] ->
How many buffer pools would you like? This number will be multiplied by MAXSENDQLENGTH. [18] ->
How many file descriptors (or sockets) can the IRCd use? [1024] ->
Would you like any more parameters to configure? Write them here: [] ->
После интерактивного ввода вы увидите итоговый ./configure с выбранными опциями:
./configure --with-showlistmodes --enable-nospoof --enable-hub --enable-ssl \
--enable-ziplinks --enable-prefixaq --with-listen=5 \
--with-dpath=/home/ircadmin/conf --with-spath=/home/ircadmin/bin/ircd \
--with-nick-history=2000 --with-sendq=3000000 --with-bufferpool=18 \
--with-hostname=irc.zcworld-evil.mine.nu --with-permissions=0600 \
--with-fd-setsize=1024 --enable-dynamic-linking
checking for gcc... gccЕсли вы включили SSL, установите и укажите пути к OpenSSL и выполните дополнительные шаги, которые покажет скрипт (создание сертификатов, указание пути к библиотекам и т.д.). Если не включали — этот шаг можно пропустить.
Пример экрана при сборке с SSL/зависимостями:

Проверка и дальнейшие шаги
- После успешного ./configure запустите make и make install (или следуйте инструкциям в Makefile):
make
make install- Проверьте, что бинарь ircd появился в /home/ircadmin/bin/ и имеет исполнение.
ls -l /home/ircadmin/bin/ircd
file /home/ircadmin/bin/ircd- Проверьте права на директорию конфигурации:
ls -l /home/ircadmin/conf
chmod 600 /home/ircadmin/conf/*- Если включали SSL — создайте/установите сертификаты и пропишите их в конфиге ssl.
Отладка: распространённые проблемы и решения
- Ошибка «missing zlib/openssl headers»: установите пакеты разработчика (например, libssl-dev, zlib1g-dev) и повторите ./Config.
- Неправильные права на конфигурации: сервис может не стартовать или выдавать ошибки при чтении. Проверьте владельца и права 0600.
- Слишком маленький fd-setsize: при большой нагрузке увеличьте значение файловых дескрипторов в системе (ulimit / sysctl fs.file-max).
- Если ./Config не находит gcc: установите пакет build-essential (Debian/Ubuntu) или соответствующий компилятор для вашей системы.
Когда этот подход не подходит (контрпример)
- Вы используете контейнеризованные окружения (Docker): там лучше собрать образ с готовыми зависимостями и конфигурацией вместо ручной сборки на хосте.
- Вы предпочитаете предсобранные пакеты из репозиториев вашей ОС: в таком случае сборка из исходников не обязательна.
Мини‑методология сборки (коротко)
- Подготовьте окружение: установите зависимости (gcc, make, библиотеки dev).
- Создайте пользователи и каталоги с правильными правами (отдельный пользователь ircadmin).
- Распакуйте исходники, запустите ./Config и ответьте на вопросы, проверяя пути и опции.
- Скомпилируйте (make), установите (make install) и протестируйте запуск.
- Проверьте лог-файлы и права доступа.
Чек-лист для администратора
- Создан пользователь ircadmin и каталоги bin/conf
- Установлены build-инструменты и dev-заголовки для OpenSSL/zlib
- Права на /home/ircadmin/conf установлены 0600
- SSL-сертификаты созданы (если включён SSL)
- Проверен путь к бинарю ircd и запускен тестовый старт
Критерии приёмки
- Сборка проходит без ошибок: make && make install завершаются успешно.
- Бинарь ircd запускается и слушает порт(ы) согласно конфигурации.
- Конфигурационные файлы доступны только владельцу (0600).
- SSL-подключения работают, если включены (проверка с TLS-клиентом).
Краткое резюме
Этот шаг покрывает ключевые моменты: создание директорий, выставление прав, распаковку исходников и интерактивную конфигурацию ./Config с объяснением часто используемых опций (SSL, ziplinks, prefixaq, permissions). После ./Config запустите make и убедитесь, что бинарь и конфиги на своих местах.
Важно: всегда держите резервные копии конфигураций и не размещайте приватные ключи в общедоступных каталогах.
Глоссарий (1 строка):
- ircd — сервер IRC; SSL/TLS — протокол шифрования; ziplinks — сжатие ссылок между серверами; prefixaq — префиксы для chanadmin/chanowner.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента