IRC:InspIRCd
InspIRCd - модульный C++ IRC сервер для Linux, BSD, Windows систем. Стабильный и очень лёгкий сервер, потребляющий минимум ресурсов. Распространяется под GNU GPL лицензией.
Установка из портов
InspIRCd развивается с огромной скоростью, поэтому в портах обычно старые версии. <source lang=bash> cd /usr/ports/irc/inspircd make install clean </source>
Описание настройки сервера будет ниже.
Установка из исходников
Скачиваем последнюю стабильную сборку с официального сайта http://inspircd.org.
Извлекаем содержимое из архива:
# tar xjf название_архива.tar.bz2
Переходим в папку с исходниками и запускаем автоконфигуратор
# ./configure
Во время процесса конфигурации, скрипт будет задавать вам вопросы о вашем будущем сервере, вводите корректные данные. Если вы не знаете что значит какой-либо пункт, то рекомендую оставить его значение по умолчанию. Когда вы ответите на все вопросы, то можно будет приступать к сборке сервера.
# make
Если сборка сервера прошла без ошибок, то можно приступать к его установке.
# make install
Все файлы будут перемещены в ту директорию, которую вы указали при конфигурировании.
Теперь осталось настроить и запустить сервер :-)
Настройка и запуск сервера
Переходим в папку /conf Необходимо переименовать конфигурационный файл
# cp inspircd.conf.example inspircd.conf
Теперь открываем сам inspircd.conf , и начинаем редактировать. Первое что нам попадется, информация о сервере.
<server name="irc.trashtalk.ru" description="краткое описание" network="Название вашей сети">
Естественно в каждом поле вводим свои данные.
admin info
<admin name="Имя" nick="Вашник" email="почта">
ports
Далее нам необходимо настроить порты которые будут слушаться. Сначало порты для клиентов:
<bind address="" port="6667" type="clients">
Клиенты будут подключаться на стандартный порт 6667. Если у вашего сервера есть поддержка ssl соединения, то необходимо для него так-же открыть порт. К примеру 6669.
<bind address="" port="6669" type="clients" ssl="openssl">
Приступим к настройке портов, которые необходимы для линковки серверов или сервисов.
<bind address="" port="7667" type="servers"> <bind address="" port="7668" type="servers" transport="openssl"> <bind address="" port="7669" type="servers" transport="zip">
Так же можно открыть диапозон портов. К примеру от 7667 до 7670.
<bind address="" port="7667-7670" type="servers">
Или открыть порт 7667 и 7669.
<bind address="" port="7667,7669" type="servers">
Порты можете открывать какие вам необходимо. Мои только в качестве примера.
С портами закончили. Поехали дальше.
die pass
Видим строку с паролями для выключения, рестарта, паузы сервера. Меняйте обязательно.
<power diepass="пароль" restartpass="пароль" pause="пароль">
opers
Добавим администратора сервера:
<oper name="Вашник" password="пароль" host="*" type="NetAdmin">
Обратите внимание на строку "host" и "type".
host - звёздочку ставим в том случае, если вам приходится заходить с разных компьютеров на ваш сервер. Если вы всегда сидите с одного хоста, то лучше добавьте его, так безопаснее.
type. NetAdmin имеет полные права на сервере. Об остальных типах оперов почитайте в документации.
Это минимальная настройка сервера, необходимая для работы. Но "это" нельзя назвать полноценным IRC сервером. Внимательно изучите все настройки, сделайте как вам необходимо. Более подробную информацию по настройке и модулям можно найти на официальном сайте.
Подводные камни
В конфигурационном файле можно встретить строки
<die value="You should probably edit your config *PROPERLY* and try again."> <die value="User error. Insert new user and press any key. (you didn't edit your config properly.)">
Найдите их и удалите, они не дадут вашему серверу запустится.
Проблема с портами
Начали линковать сервера, но никак нехочет сервер открывать порт для ssl и zip коннекта. Такая проблема и есть, и решается она пока только так:
<module name="m_spanningtree.so">
Этот модуль первый в списке, его необходимо перенести в самый низ. Загрузите его после модуля ziplink
<module name="m_ziplink.so"> <module name="m_spanningtree.so">
Линковка серверов
Открываем порт для коннекта сервера. Порт должен быть одинаковый у обоих серверов. для примера берём 7667.
<bind address="" port="7667" type="servers">
Порт открыли, настроим link блок.
<link name="имя сервера" ipaddr="1.2.3.4" port="7667" autoconnect="120" timeout="15" bind="ваш ип" statshidden="no" hidden="no" sendpass="пароль" recvpass="пароль">
ipaddr - пишем ip сервера с которым будем линковаться.
port - тот который вы открыли (7667)
autoconnect - в случае неудачной попытки соединения, или обрыве сети, сервер будет пробовать линковаться каждые 120 секунд.
sendpass, recvpass - пароль для линковки, должны быть одинаковые у обоих серверов.
Ваш сервер готов к линковке, теперь необходимо так-же настроить второй. только в строке "ipaddr" должен быть адрес вашего сервера.
ziplink
Делаем тоже самое, только не забываем указать транспорт zip. Модуль m_ziplink.so должен быть загружен обязательно!
Открываем порт:
<bind address="" port="7669" type="servers" transport="zip">
Настраиваем link блок:
<link name="имя сервера" ipaddr="1.2.3.4" port="7669" autoconnect="120" timeout="15" transport="zip" bind="ваш ип" statshidden="no" hidden="no" sendpass="пароль" recvpass="пароль">
Готово.
ssl link
Должен быть загружен модуль m_ssl_openssl.so. Открываем порт для ссл линка:
<bind address="" port="7668" type="servers" transport="openssl">
Настраиваем link блок:
<link name="имя сервера" ipaddr="1.2.3.4" port="7668" autoconnect="120" timeout="15" transport="openssl" bind="ваш ип" statshidden="no" hidden="no" sendpass="пароль" recvpass="пароль">