Установка IRC-баунсера ZNC на сервер Ubuntu

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

Данное руководство продемонстрирует компилирование ZNC при помощи веб-интерфейса, который позволяет создавать, редактировать, настраивать и удалять пользователей ZNC.

Установка ZNC

Примечание: В данном руководстве используется система Ubuntu 12.04 LTS, однако все инструкции действительны для всех новейших версий Ubuntu.

Для начала обновите систему:

sudo apt-get update

Затем используйте эту команду, чтобы установить зависимости, необходимые для компилирования кода ZNC:

sudo apt-get install build-essential libssl-dev libperl-dev pkg-config

Загрузите последний доступный тарбол ZNC:

cd /usr/local/src; sudo wget http://znc.in/releases/znc-latest.tar.gz

Распакуйте архив, а затем введите имя каталога, содержащего код ZNC:

sudo tar -xzvf znc-latest.tar.gz; cd znc*

Теперь нужно подготовить код к сборке.

Если у вас нет root-доступа или вы не нуждаетесь в общесистемной установке ZNC, используйте:

'--prefix=$HOME/znc' ( './configure --prefix=$HOME/znc' instead of './configure')

Чтобы установить ZNC глобально, введите:

./configure

Скомпилируйте ZNC:

sudo make; sudo make install

Этот процесс займёт несколько минут.

Настройка ZNC

Сначала нужно добавить нового пользователя для запуска ZNC:

adduser znc-admin

Переключитесь на нового пользователя и перейдите в домашний каталог:

su znc-admin; cd ~

Создайте конфигурационный файл ZNC:

/usr/local/bin/znc --makeconf

Чтобы создать конфигурационный файл, ZNC задаст ряд вопросов. Сначала нужно задать порт для запуска ZNC; выберите любой порт от 1025 до 65535.

Примечание: Обязательно запомните/запишите указанный порт – он понадобится позже для подключения к ZNC.

Для примера в этом руководстве используется порт 5000, но вы можете выбрать любой другой удобный порт:

What port would you like ZNC to listen on? (1025 to 65535): 5000

Следующий вопрос касается прослушивания SSL, что позволяет создавать подключения к ZNC при помощи SSL и HTTPS. Рекомендуется ответить yes; чтобы установить стандартное значение, просто нажмите Enter.

Включив использование SSL, программа может вывести сообщение:

Unable to locate pem file: [/home/znc-admin/.znc/znc.pem]

Просто ответьте yes, чтобы создать pem-файл.

Would you like to create a new pem file now? (yes/no) [yes]: yes

Затем ZNC спросит, нужно ли поддерживать ipv6:

Would you like ZNC to listen using ipv6? (yes/no) [yes]: no

В строке Listen Host укажите IP-адрес сервера или же не заполняйте её, чтобы прослушивать все IP:

Listen Host (Blank for all ips):

Затем загрузите некоторые глобальные модули ZNC:

Load global module ? (yes/no) [no]: yes
Load global module ? (yes/no) [no]: yes

Модуль partyline позволяет ZNC взаимодействовать с IRC-клиентом. Модуль webadmin позволяет управлять ZNC при помощи веб-интерфейса.

Теперь нужно создать пользователя ZNC.

Введите имя пользователя ZNC:

Username (AlphaNumeric): FirstUser

Установите пароль для него:

Enter Password: ************
Confirm Password: ************

Предоставьте этому пользователю права администратора ZNC:

Would you like this user to be an admin? (yes/no) [yes]: yes

Теперь нужно настроить IRC-сеть. Выберите никнейм:

Nick [FirstUser]: IRCNickname

Задайте альтернативный никнейм на случай возникновения конфликта имён при подключении к IRC-сети:

Alt Nick [IRCNickname_]: IRCNickname_

Введите ident:

Ident [IRCNickname]: IRCIdent

Укажите своё настоящее имя:

Real Name [Got ZNC?]: John Doe

Теперь ZNC спросит о хосте для привязки, здесь нужно указать IP или имя хоста, которые будут использоваться для подключения к IRC. Можно просто не заполнять это поле, что установит стандартные настройки.

Bind Host (optional):

Задайте количество строк для буферизации (т.е. количество строки истории, которое нужно восстановить при повторном подключении к клиенту):

Number of lines to buffer per channel [50]: 50

Затем ZNC спросит, нужно ли очистить буферы канала после воспроизведения; рекомендуется выбрать yes:

Would you like to clear channel buffers after replay? (yes/no) [yes]: yes

Установите стандартный канальный режим IRC-сети:

Default channel modes [+stn]: +stn

Теперь нужно загрузить подули пользователя ZNC:

Load module <chansaver>? (yes/no) [no]: yes
Load module <controlpanel>? (yes/no) [no]: yes
Load module <perform>? (yes/no) [no]: yes

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

Теперь можно настроить первую IRC-сеть.

Would you like to set up a network? (yes/no) [no]: yes

В данном руководстве используется сеть freenode и канал #mychannel:

Network (e.g. 'freenode' or 'efnet'): freenode

Теперь включите модули для данной сети.

Примечание: Подробное описание модулей можно найти по этой ссылке. Рекомендуется ознакомиться с описанием модуля, прежде чем включать его.

Load module ? (yes/no) [no]: yes
Load module <keepnick>? (yes/no) [no]: no
Load module <kickrejoin>? (yes/no) [no]: yes
Load module <nickserv>? (yes/no) [no]: yes
Load module <perform>? (yes/no) [no]: yes
Load module <simple_away>? (yes/no) [no]: yes

Укажите IRC-сервер, к которому нужно подключиться.

IRC server (host only): irc.freenode.net

Задайте порт для этого сервера:

[irc.freenode.net] Port (1 to 65535) [6667]: 6667

По запросу установите пароль для подключения к серверу (можно просто оставить поле незаполненным):

[irc.freenode.net] Password (probably empty):

При использовании SSL-совместимого порта настройте ZNC для подключения по SSL.

В данном руководстве такой порт не используется, потому ответ no:

Does this server use SSL? (yes/no) [no]: no

Теперь программа спросит, нужно ли добавить другой сервер в эту IRC-сеть. В данном случае это не нужно:

Would you like to add another server for this IRC network? (yes/no) [no]: no

Теперь укажите каналы для подключения к этой сети:

Would you like to add a channel for ZNC to automatically join? (yes/no) [yes]: yes
Channel name: #mychannel

Если других каналов нет, нужно ответить no:

Would you like to add another channel? (yes/no) [no]: no

Если подключаться к другой сети не нужно, выберите no:

Would you like to set up another network? (yes/no) [no]: no

Если создавать дополнительного пользователя не нужно, введите no:

Would you like to set up another user? (yes/no) [no]: no

Теперь можно запустить ZNC, для этого ответьте yes:

Launch ZNC now? (yes/no) [yes]: yes

Баунсер ZNC успешно настроен и готов к работе.

Базовое использование ZNC

Веб-интерфейс ZNC доступен по ссылке:

http://<ip_сервера>:<указанный_порт>

При использовании SSL:

https://<ip_сервера>:<указанный_порт>

Чтобы продолжить настройку ZNC при помощи интерфейса, введите имя пользователя и пароль. Больше информации о настройке ZNC можно найти здесь.

К учётной записи ZNC можно подключиться через IRC-клиент, введя:

/server <ip_сервера> <указанный_порт> <пользователь>:<пароль>

Имейте в виду: эта команда зависит от клиента.

Tags: , , ,

Добавить комментарий