Установка и настройка ZNC

Материал из MediaWiki
Перейти к навигации Перейти к поиску

ZNC — многофункциональный IRC-баунсер, который, будучи запущенным на круглосуточно работающем компьютере, позволяет не тереть сессии IRC и подключаться к ним с любого устройства и клиента.

Данная статья является обзорной и будет ссылаться на официальную вики ZNC.

Где лучше держать ZNC

Наиболее стабильным решением является установка ZNC на выделенный сервер. Однако для размещения баунсера можно использовать любой подходящий компьютер с высоким uptime и стабильным подключением к интернету.

Для работы ZNC потребуется 256-512 Мбайт оперативной памяти (для использования с несколькими пользователями). ZNC доступен на большинстве операционных систем и дистрибутивов linux в виде уже подготовленных бинарных пакетов. Единственное неудобство — часто версия в стандартном репозитории может ощутимо отставать от текущей стабильной.

Для решения этой проблемы всегда можно использовать возможность сборки последней версии (или даже разрабатываемой) из исходных кодов. В стандартной конфигурации с включением всех модулей для сборки потребуется около 2 Гбайт RAM и достаточно производительный процессор. Однако, если отказаться от поддержки modperl и modpython, можно обойтись даже 256 Мбайт RAM на слабой конфигурации. Например, я собрал стандартный порт 1.7.0 во freebsd на конфигурации 512 Мбайт RAM и 512 Мбайт swap с одним доступным ядром Intel Xeon E5620 2.4Ghz за не очень большое время.

Установка

Установка ZNC описана на странице Installation (Перевод не окончен). Проблем с установкой из репозиториев бинарных пакетов возникнуть не должно. Также может быть хорошим выходом запуск ZNC в докере.

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

FreeBSD

Установка пакета

# pkg install znc

Обращаем внимание на сообщение:

*****************************************************************************

# Configuration

 Configs written before ZNC 0.206 can't be read anymore!

 To generate a basic configuration file, run znc --makeconf after installation.
 It is NOT a good idea to create a new config file manually.

 For generate your config file using znc user, execute:

   su -m znc -c 'znc -d /usr/local/etc/znc --makeconf'
   or
   sudo -u znc znc -d /usr/local/etc/znc --makeconf

 http://wiki.znc.in/Configuration

# Modules

 If you upgrade your ZNC version you must recompile all your external modules,
 ZNC ABI is not stable.

   znc-buildmod <modulename>.cpp

 http://wiki.znc.in/Compiling_modules

*****************************************************************************

Начальное конфигурирование и первый запуск

Нужно запустить znc --makeconf от того пользователя, под чьим именем будет работать ZNC (если вы устанавливали ZNC из пакетов, то скорее всего будет создан пользоватеоль znc).

Конфигурирование в FreeBSD

Выполняем команду начального конфигурирования. Процесс проходит интерактивно:

# su -m znc -c 'znc -d /usr/local/etc/znc --makeconf'

Выполняем конфигурирование:

[ .. ] Checking for list of available modules...
[ ** ] 
[ ** ] -- Global settings --
[ ** ] 
[ ?? ] Listen on port (1025 to 65534): 8841
[ ?? ] Listen using SSL (yes/no) [no]: yes
[ ?? ] Listen using both IPv4 and IPv6 (yes/no) [yes]: no
[ .. ] Verifying the listener...
[ ** ] Enabled global modules [webadmin]
[ ** ] 
[ ** ] -- Admin user settings --
[ ** ] 
[ ?? ] Username (alphanumeric): username
[ ?? ] Enter password: 
[ ?? ] Confirm password: 
[ ?? ] Nick [username]: username

[ ?? ] Alternate nick [username_]: 
[ ?? ] Ident [username]: 
[ ?? ] Real name (optional): 
[ ?? ] Bind host (optional): 
[ ** ] Enabled user modules [chansaver, controlpanel]
[ ** ] 
[ ?? ] Set up a network? (yes/no) [yes]: 
[ ** ] 
[ ** ] -- Network settings --
[ ** ] 
[ ?? ] Name [freenode]: 
[ ?? ] Server host [chat.freenode.net]: 
[ ?? ] Server uses SSL? (yes/no) [yes]: 
[ ?? ] Server port (1 to 65535) [6697]: 
[ ?? ] Server password (probably empty): Fkrjujkm40
[ ?? ] Initial channels: #lorwiki
[ ** ] Enabled network modules [simple_away]
[ ** ] 
[ .. ] Writing config [/usr/local/etc/znc/configs/znc.conf]...
[ ** ] 
[ ** ] To connect to this ZNC you need to connect to it as your IRC server
[ ** ] using the port that you supplied.  You have to supply your login info
[ ** ] as the IRC server password like this: user/network:pass.
[ ** ] 
[ ** ] Try something like this in your IRC client...
[ ** ] /server <znc_server_ip> +8841 username:<pass>
[ ** ] 
[ ** ] To manage settings, users and networks, point your web browser to
[ ** ] https://<znc_server_ip>:8841/
[ ** ] 
[ ?? ] Launch ZNC now? (yes/no) [yes]: no

Редактируем /etc/rc.conf, добавив строку:

znc_enable="YES"

Настройка SSL

Сообщество ZNC