Установка IRC-сервера UnrealIRCd

  • Установка UnrealIRCd на VDS под управлением операционной системы FreeBSD
  • Установка UnrealIRCd на VDS под управлением операционной системы Debian Linux
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";
  Этот e-mail адрес защищен от спам-ботов, для его просмотра у Вас должен быть включен Javascript ;
};

Также надо исправить в файле конфигурации строку:
kline-address "set.this.email";
Измените set.this.email на корректный адрес вида Этот e-mail адрес защищен от спам-ботов, для его просмотра у Вас должен быть включен Javascript

Дальше находятся опции сокрытия хоста подключившихся пользователей:
  cloak-keys {
  "aoAr1HnR6gl3sJ7hVz4Zb7x4YwpW";
  "and another one";
  "and another one";
  };

Пропишите там свои строки (случайной длинны, латинские буквы и цифры 5-20 символов), чтобы получились записи вида:
  cloak-keys {
  "BNk547Vjj548bgd6b43bxxXdhyd";
  "fG43Jd65kxx843xx4z461xYdoOxg";
  "MJJ7GJfgv7CFkp7288oXkKxqQec";
  };

Затем следует добавить оператора сервера, для этого следует отредактировать:
oper bobsmith # Ник оператора
{
  class clients; #Из какого класса
  from {
  userhost Этот e-mail адрес защищен от спам-ботов, для его просмотра у Вас должен быть включен Javascript ; #Какой 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 закончена.

Электронные деньги


Яндекс.Деньги Webmoney

Наша контактная информация:  Москва, ул Петра Алексеева 12, Офис 1009    Телефоны: +7 (961) 140-84-44      +7 (495) 518-12-30

Авторизация