Установка irc сервера. Unrealircd + anope
Добавлено: 2007-10-01 22:51:35
Если описывать все возможности irc, то статья получится очень большой!
Здесь приведу тот необходимый минимум, который вполне подойдет для одиночных серверов. Т.е. мы не будем линковаться ни к какой сети, и не будем ни от кого зависеть.
Официальный сайт Unreal.
Unrealircd есть в портах. На момент написания статья использовалась версия 3.2.7.
Ставим :
hub vs leaf
Хаб позволяет соединения с несколькими серверами, а лист - только с одним. Это нужно больше для линковки. Я выбрал по-умолчанию.
Старые системы имеют ненадежный TCP/IP стэк, который уязвим к IP спуфингу. Эта опция также может быть очень полезна для того,чтобы избежать связи с blind проксями. Нам это не нужно. No.
Так называемые зиплинки. Для нашего маленького сервера не обязательно
Нужна ли поддержка SSL? Если да, то вам понадобятся пакеты - openssl, libssl-dev.
А IPv6?
При включении показывает различные знаки перед никами. @ - говорит о том, что этот человек оператор канала ( и может делать многое =) Полезная вещь.
Удаленные включения. Сложная штука. Дает много всего хорошего: удаленно берет новые конфиги, словари с матом (badwords. Для бана). Если это вам надо, то собирайте сurl c c-ares.
ОЧЕНЬ советую скачать с оф. сайта архив с Unreal.В нем присутвует русская версия конфига! Очень поможет!
Смотрим конфиг.
Рассмотрим лишь ключевые моменты.
Раскомментируем эти 2 строчки:
И чуть ниже добавим такую строчку, сразу после всех инклюдов. Она нам нужна будет для Anope :
Начало - 253 строка.
И меняем на
6667 - стандартный порт irc. А на 6067 мы повесим наши сервисы (см. далее). Не забудьте открыть порты в фаере!
После действий объясню для чего онные .Идем чуточку ниже и видим :
Меняем на :
Идем далее...
Заменяем :
И еще вниз....
Заменяем :
И так. link, ulines - нужны для того, чтобы прикрутить Anope. В ulines обязательно должно быть название линка ( в нашем случае, это services.irc.local , и stats-server ( из set). Не забудьте добавить cloak-keys путем хаотичного нажатия на клавиатуру.
И на 725 строке изменяем kline-address. Пишем мыло.
И пробуем запустить :
Получилось? Радуемся :)
Так же ставится скрипт, который запускает ирк сервер при загрузке компьютера.
И так, что же такое anope? это набор IRC-служб, созданный с целью обеспечения стабильности, эффективности, и удобства для пользователей. Те, кто когда-нибудь общался в ирке, знает, что есть такие сервисы, как NickServ, ChanServ и пр. Они позволяют регистрировать ники, каналы, назначать помошников и пр.
Оф.сайт.
Смотрим, есть ли он в портах?
НО! в портах находится версия stable 1.6.5. На оф сайте devel-1.7.4. что выберать - дело ваше. Я ж рассмотрю версию 1.6.5.
Ставим

1)Используем ли MySql?
Ну это вы без меня можете настроить :) Я не использовал.
2) Используем ли модули?
Да, хорошая штука!
3)Шифруем MD5?
Конечно!
4) Потоки нам не нужны.
5) Далее идет перечисление ирк серверов.( начиная с Dream , заканчивая PTLink). Выбераем наш Unreal.
Переименуем наш example.conf в services.conf и скопируем в нужную папку :
Смотрим сам конфиг:
Нам нужно изменить лишь 87 строку на :
Где 6607 - порт, который слушаем Unreal, а "Str0nGp4ss" - пароль из конфига анреала, из секции link.
В 118 строке пишем :
services.irc.local - название нашего link из unrealircd.conf .Если названия будут отличаться, то аноп не запуститься, и будет ругаться в логах, что не так настроен unrealircd.conf !
В 1032 строке нужно написать :
СервисРут, это супер админ, всего сервиса, который может добавлять других админов и пр.
Пробудем запустить Анопку :
Обычно он не ругается, даже когда не запусткается =)
Проверить запустился ли он, можно либо посмотрев логи, либо
Вот и всё! Никаких особых проблем вызвать не должно!
Не забудьте сделать для них отдельного юзвера и прописать в rc.d .
Дальше можно поставить бота eggdrop на канал, чтобы он его модерировал, устраивал викторины, искал инфу в гугле, яндексе. Но для этого надо вникать в тонкости irc.
Здесь описан тот необходимый минимум, который нужен для маленького сервера. Как видите, не рассмотрена даже поддержка Mysql для Anope.
Во время написание статьи, параллельно ставил все то, что описывал. Поэтому крупных ошибок вознукнуть не должно. Сильно не пинайте, это моя первая статья.
Отдельное спасибо товарищу Dinoll, который поделился своими конфигами для сравнения.
Автор SeeD
Здесь приведу тот необходимый минимум, который вполне подойдет для одиночных серверов. Т.е. мы не будем линковаться ни к какой сети, и не будем ни от кого зависеть.
Официальный сайт Unreal.
Unrealircd есть в портах. На момент написания статья использовалась версия 3.2.7.
Код: Выделить всё
whereis unreal
unreal: /usr/ports/irc/unrealСтавим :
Код: Выделить всё
make install cleanhub vs leaf
Хаб позволяет соединения с несколькими серверами, а лист - только с одним. Это нужно больше для линковки. Я выбрал по-умолчанию.
Код: Выделить всё
Would you like to compile as a hub or as a leaf?
Type Hub to select hub and Leaf to select leaf.
[Hub] ->HubКод: Выделить всё
Do you want to enable the server anti-spoof protection?
[No] ->No
Код: Выделить всё
Do you want to enable ziplinks support?
[No] ->NoКод: Выделить всё
Do you want to support SSL (Secure Sockets Layer) connections?
[No] ->NoКод: Выделить всё
Do you want to enable IPv6 support?
[No] ->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] ->YesКод: Выделить всё
Do you want to enable remote includes?
[No] ->NoСмотрим конфиг.
Код: Выделить всё
ee /usr/local/etc/Unreal/unrealircd.confРаскомментируем эти 2 строчки:
Код: Выделить всё
loadmodule "src/modules/commands.so";
loadmodule "src/modules/cloak.so";Код: Выделить всё
include "aliases/anope.conf";Код: Выделить всё
listen *:6697
{
options
{
ssl;
clientsonly;
};
};
listen *:8067;
listen *:6667;
Код: Выделить всё
listen 192.168.100.100:6667;
listen 127.0.0.1:6067
{
options
{
serversonly;
};
};
После действий объясню для чего онные .Идем чуточку ниже и видим :
Код: Выделить всё
link hub.ru.by
{
username *;
hostname 1.2.3.4;
bind-ip *;
port 7029;
hub *;
password-connect "LiNk";
password-receive "LiNk";
class servers;
options {
/* Замечание: Вы не должны использовать автоподключение (autoconnect) при подключении сервисов */
autoconnect;
ssl;
zip;
};
};
Код: Выделить всё
link services.irc.local
{
username *;
hostname 127.0.0.1;
bind-ip *;
port 6067;
hub *;
password-connect "Str0nGp4ss";
password-receive "Str0nGp4ss";
class servers;
options {
autoconnect;
};
};Код: Выделить всё
ulines {
services.roxnet.org;
stats.roxnet.org;
};
Код: Выделить всё
ulines
{
services.irc.local;
stats.irc.local;
};
Код: Выделить всё
/* Network configuration */
set {
network-name "ROXnet";
default-server "irc.roxnet.org";
services-server "services.roxnet.org";
stats-server "stats.roxnet.org";
help-channel "#ROXnet";
hiddenhost-prefix "rox";
cloak-keys {
"aoAr1HnR6gl3sJ7hVz4Zb7x4YwpW";
"и ещё одна;
"и ещё одна";
};
Код: Выделить всё
set {
network-name "Alone irc";
default-server "home.server.ru";
services-server "services.irc.local";
stats-server "stats.irc.local";
help-channel "#Help";
hiddenhost-prefix "SomePrefix";
cloak-keys {
"aoAr1HnR6gl3sJ7hVz4Zb7x4YwpW";
"asDsg3h4F3yu4g2u4yu32g4y3u2u";
"asdh3ui2eFih2Aeih32uasd32uei";
};
И на 725 строке изменяем kline-address. Пишем мыло.
И пробуем запустить :
Код: Выделить всё
/usr/local/libexec/ircd
v3.2.7
using TRE 0.7.5 (LGPL)
* Loading IRCd configuration ..
* Configuration loaded without any problems ..
* Dynamic configuration initialized .. booting IRCd.
---------------------------------------------------------------------
Так же ставится скрипт, который запускает ирк сервер при загрузке компьютера.
Код: Выделить всё
/usr/local/etc/rc.d/unrealircd.shОф.сайт.
Смотрим, есть ли он в портах?
Код: Выделить всё
whereis anope
anope: /usr/ports/irc/anope
Ставим
Код: Выделить всё
cd /usr/ports/irc/anope
make install clean1)Используем ли MySql?
Ну это вы без меня можете настроить :) Я не использовал.
2) Используем ли модули?
Да, хорошая штука!
3)Шифруем MD5?
Конечно!
4) Потоки нам не нужны.
5) Далее идет перечисление ирк серверов.( начиная с Dream , заканчивая PTLink). Выбераем наш Unreal.
Переименуем наш example.conf в services.conf и скопируем в нужную папку :
Код: Выделить всё
cd /usr/local/share/anope/
cp example.conf services.confНам нужно изменить лишь 87 строку на :
Код: Выделить всё
RemoteServer 127.0.0.1 6607 "Str0nGp4ss"В 118 строке пишем :
Код: Выделить всё
ServerName "services.irc.local"В 1032 строке нужно написать :
Код: Выделить всё
ServicesRoot "Mr.Anderson"Пробудем запустить Анопку :
Код: Выделить всё
cd /usr/local/libexec/anope/
./anopeПроверить запустился ли он, можно либо посмотрев логи, либо
Код: Выделить всё
ps -ax | grep anoНе забудьте сделать для них отдельного юзвера и прописать в rc.d .
Дальше можно поставить бота eggdrop на канал, чтобы он его модерировал, устраивал викторины, искал инфу в гугле, яндексе. Но для этого надо вникать в тонкости irc.
Здесь описан тот необходимый минимум, который нужен для маленького сервера. Как видите, не рассмотрена даже поддержка Mysql для Anope.
Во время написание статьи, параллельно ставил все то, что описывал. Поэтому крупных ошибок вознукнуть не должно. Сильно не пинайте, это моя первая статья.
Отдельное спасибо товарищу Dinoll, который поделился своими конфигами для сравнения.
Автор SeeD