UnrealIRCd - это один из популярных и распространенных IRC-серверов. В инструкции по установке приведен необходимый минимум действий, которые надо выполнить при его установке и настройке.
Установка UnrealIRCd на VDS под управлением операционной системы FreeBSD
Производилась установка на сервер с темплейтом ISPmanager (Стабильное ПО), однако темплейт в данном случае не принципиален и особого значения не имеет.
Инсталляция будет производиться из системы портов, предварительно установите c-ares - an asynchronous resolver library:
# cd /usr/ports/dns/c-ares
# make install clean
После чего можно приступить к установке UnrealIRCd:
# cd /usr/ports/irc/unreal/
# make install clean
Поставьте галочки на стадии configure:
[X] HUB Configure as a hub (otherwise configure as a leaf)
[X] ZIPLINKS Enable ziplinks support
[X] SSL Support SSL connecions
После того как инсталляция пройдет успешно следует настроить сервер, конфигурация находится в файле /usr/local/etc/Unreal/unrealircd.conf
Раскоментируйте, убрав символы комментария //, следующие строки
//loadmodule "/usr/local/lib/Unreal/commands.so";
//loadmodule "/usr/local/lib/Unreal/cloak.so";
Затем в файле конфигурации /usr/local/etc/Unreal/unrealircd.conf найдите опции:
{
name "irc.foonet.com";
info "FooNet Server";
numeric 1;
};
Пропишите вместо их имя вашего сервера.
После этого следует отредактировать строки, в которых прописывается имя, ник и email администратора сервера:
admin {
"Bob Smith";
"bob";
widely@used.name ;
};
Также надо исправить в файле конфигурации строку:
kline-address "set.this.email";
Измените set.this.email на корректный адрес вида name@domain.ru
Дальше находятся опции сокрытия хоста подключившихся пользователей:
cloak-keys {
"aoAr1HnR6gl3sJ7hVz4Zb7x4YwpW";
"and another one";
"and another one";
};
Пропишите там свои строки (случайной длинны, латинские буквы и цифры 5-20 символов), чтобы получились записи вида:
cloak-keys {
"BNk547Vjj548bgd6b43bxxXdhyd";
"fG43Jd65kxx843xx4z461xYdoOxg";
"MJJ7GJfgv7CFkp7288oXkKxqQec";
};
Затем следует добавить оператора сервера, для этого следует отредактировать:
oper bobsmith # Ник оператора
{
class clients; #Из какого класса
from {
userhost bob@smithco.com ; #Какой ident и хост у оператора (можно заменить на *@*
};
password "passwd"; # Пароль
flags
{
netadmin; # Полномочия, которыми обладает оператор
global;
};
};
Также следует установить пароли на перезапуск и выключение сервера:
drpass {
restart "restart-password"; # Пароль на перезапуск
die "shutdown-password"; # Пароль на остановку сервера.
};
После чего необходимо создать SSL-сертификат:
# cd /usr/local/etc/Unreal
# openssl req -newkey rsa:1024 -nodes -keyout server.key.pem -out server.cert.pem -x509 -days 3650 -subj "/C=XX/ST=XX/L=XX/O=XX/OU=XX/CN=имя(hostname).вашего.сервера/emailAddress="ваш@email.адрес
В команде укажите корректное имя вашего сервера и email-адрес
Добавьте сервер в автозапуск, добавив строку unrealircd_enable="YES" в файл /etc/rc.conf:
Запустите UnrealIRCd:
# /usr/local/etc/rc.d/unrealircd start
Если запуск прошел успешно, то подключитесь каким либо irc-клиентом (порт по умолчанию 6667) и проверьте работу.
На этом начальная установка UnrealIRCd завершена.
Если возникнут проблемы с запуском сервера, то смотрите лог-файл /var/log/ircd/ircd.log
Установка UnrealIRCd на VDS под управлением операционной системы Debian Linux
Установка производилась на сервер с темплейтом debian-4.0-mimimal
В этом темплейте отсутствует компилятор gcc, установите его:
# apt-get update
# apt-get install gcc
Установите пакет libc6-dev, утилиту make
# apt-get install libc6-dev
# apt-get install make
Также потребуется установить пакет openssl:
# apt-get install openssl
# apt-get install libssl-dev
Создайте пользователя с правами которого будет работать UnrealIRCd:
# adduser ircd
Зайдите с его правами в систему, все дальнейшие действия следует производить под пользователем ircd
Скачайте UnrealIRCd с официального сайта:
$ wget http://unrealircd.pimpmylinux.org/Unreal3.2.7.tar.gz
И распакуйте его:
$ tar xzvf Unreal3.2.7.tar.gz
Создайте директории в которые вы поставите UnrealIRCd:
$ mkdir -p /home/ircd/unreal/bin
$ mkdir /home/ircd/unreal/conf
Выполните конфигурацию и настройку, для этого зайдите в каталог в который вы распаковали исходники и запустите скрипт Confg:
$ cd Unreal3.2.7/
$ ./Config
Теперь следует ответить на вопросы, которые задает скрипт, где ответ явно не указан, там просто нажимайте клавишу Enter.
Оставьте по умолчанию (просто нажимайте enter):
Do you want to enable the server anti-spoof protection?
[No] ->
Директория, где будет находиться конфигурация:
What directory are all the server configuration files in?
[/home/ircd/Unreal3.2.7] -> /home/ircd/unreal/conf
Директория и имя где находится будет исполнимый файл:
What is the path to the ircd binary including the name of the binary?
[/home/ircd/Unreal3.2.7/src/ircd] -> /home/ircd/unreal/bin/ircd
Оставьте по умолчанию:
Would you like to compile as a hub or as a leaf?
Type Hub to select hub and Leaf to select leaf.
[Hub] ->
Имя вашего сервера (по умолчанию совпадает с hostname):
What is the hostname of the server running your IRCd?
[myircserver.ru] ->
What should the default permissions for your configuration files be? (Set this to 0 to disable)
It is strongly recommended that you use 0600 to prevent unwanted reading of the file
[0600] ->
Включите поддержку SSL:
Do you want to support SSL (Secure Sockets Layer) connections?
[No] -> y
If you know the path to OpenSSL on your system, enter it here. If not
leave this blank
[] ->
Do you want to enable IPv6 support?
[No] ->
Включите поддержку ziplinks:
Do you want to enable ziplinks support?
[No] -> y
Дальше все опции по умолчанию:
If you know the path to zlib on your system, enter it here. If not
leave this blank
[] ->
Do you want to enable remote includes?
[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] ->
What listen() backlog value do you wish to use? Some older servers
have problems with more than 5, others work fine with many more.
[5] ->
How far back do you want to keep the nickname history?
[2000] ->
What is the maximum sendq length you wish to have?
[3000000] ->
How many buffer pools would you like?
This number will be multiplied by MAXSENDQLENGTH.
[18] ->
How many file descriptors (or sockets) can the IRCd use?
[1024] ->
Would you like any more parameters to configure?
Write them here:
[]->
Выдастся список опций которые передаются скрипту configure:
./configure --with-showlistmodes --enable-hub --enable-ssl --enable-ziplinks --enable-prefixaq --with-listen=5 --with-dpath=/home/ircd/unreal/conf --with-spath=/home/ircd/unreal/bin/ircd --with-nick-history=2000 --with-sendq=3000000 --with-bufferpool=18 --with-hostname=ls-test-linux.firstvds.ru --with-permissions=0600 --with-fd-setsize=1024 --enable-dynamic-linking
И начнется конфигурирование. После того, как оно пройдет успешно, выполните команду:
$ make install
после чего произойдет сборка и установка UnrealIRCd
Теперь осталось его настроить, копируем файлы конфигурации:
$ cd /home/ircd/unreal/conf
$ cp doc/example.conf unrealircd.conf
Также следует создать сертификаты для работы SSL:
$ cd /home/ircd/unreal/conf
$ openssl req -newkey rsa:1024 -nodes -keyout server.key.pem -out server.cert.pem -x509 -days 3650 -subj "/C=XX/ST=XX/L=XX/O=XX/OU=XX/CN=имя(hostname).вашего.сервера/emailAddress="ваш@email.адрес
В команде укажите корректное имя вашего сервера и email-адрес
Отредактируйте unrealircd.conf аналогично настройке сервера для системы FreeBSD
Укажите пути:
loadmodule "/home/ircd/unreal/conf/modules/commands.so";
loadmodule "/home/ircd/unreal/conf/modules/cloak.so";
Пропишите в unrealircd.conf ваши настройки, такие как имя сервера, оператора сервера.
Также закомментируйте в конфигурационном файле персональный "совет дня" и "правила" для пользователей, чьи хосты заканчиваются на .fr:
/*
* tld {
* mask *@*.fr;
* motd "ircd.motd.fr";
* rules "ircd.rules.fr";
* };
*/
Либо исправьте аналогично для *@*.ru, или создайте файлы ircd.motd.fr и ircd.motd.fr в директории /home/ircd/unreal/conf - существуют различные варианты.
Запустите сервер:
$ /home/ircd/unreal/bin/ircd
При проблемах с запуском проверьте лог-файл /home/ircd/unreal/conf/ircd.log
Сервер работает, проверьте его работу, подключившись к нему при помощи irc-клиента
Добавьте сервер UnrealIRCd в автозапуск, для этого используйте crontab пользователя ircd, просто под ним выполните команду crontab -e
Запустится редактор nano, внизу экрана будут подсказки меню, пропишите строку с заданием, которое будет выполняться при перезагрузке сервера:
@reboot /home/ircd/unreal/bin/ircd
И выйдите из него нажав ctrl+x и подтвердив сохранение файла. Написав crontab -l можно убедиться в том, что задание было установлено.
На этом установка и начальная настройка UnrealIRCd закончена.