Установка IRC-баунсера ZNC на сервер Ubuntu
Cloud Server, 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: Cloud Server, IRC, Ubuntu 12.04 LTS, ZNC