Здесь приведу тот необходимый минимум, который вполне подойдет для одиночных серверов. Т.е. мы не будем линковаться ни к какой сети, и не будем ни от кого зависеть.
Официальный сайт Unreal.
Unrealircd есть в портах. На момент написания статья использовалась версия 3.2.7.
Код: Выделить всё
whereis unreal
unreal: /usr/ports/irc/unreal
Ставим :
Код: Выделить всё
make install clean
hub 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 clean
1)Используем ли 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