Настройка IServerd

0

Выбор ICQ сервера для Unix упрощается практическим отсутствием альтернатив. Единогласно на всех ресурсах рекомендуется один сервер IServerd (ICQ server daemon). Домашняя страница проекта iserverd.khstu.ru. Изначально работает только под Unix-совместимыми системами, но автор говорит, что возможно он скомпилируется при помощи cygwin под windows. На настоящий момент существует две ветви проекта: стабильная (2.x.x или stable) и версия для разработчиков (3.x.x). Для установки будем использовать последний на момент написания статьи IServerd-stable (2.5.5).

Для работы кроме него потребуется PosgreSQL. Последняя используется для хранения информации обо всех зарегистрированных пользователях, включая пароли, записей о подключенных пользователях, отложенных сообщениях и прочее. Установка IServerd, вообщем стандартна те же “./configure —prefix=/usr —with-russian; make; make install”. Запускаем PosgreSQL.
$ sudo /etc/init.d/postgresql start
В подкаталоге script архива с исходными текстами находим файл db_manage, который поможет создать все необходимые базы:
$ sudo chmod +x ./db_manage
$ su postgres
$ ./db_manage.sh create

Скрипт спросит имя новой базы (users_db), пользователя для доступа (iserverd) и пароль. Переходим в каталог /etc/iserverd. Здесь лежат несколько файлов с префиксом default, необходимо его убрать, переименовав или скопировав фалы. Например:

$ sudo cp iserv.conf.default iserv.conf

C остальными файлами поступаем аналогично. Основной конфигурационный файл называется iserv.conf. Необходимо подправить в нем ряд параметров:

# по умолчанию IServerd будет ожидать соединения на всех интерфейсах
Bind interface = 0.0.0.0/32

# трансляционный файл из каталога translate чтобы все данные
# в базе данных были в общепринятой в unix для данного языка кодировке
Translate table = RUSSIAN_WIN

# кому отправлять сообщения
Admin email = grinder@localhost
Info Password = super_password

# и параметры подключения к БД
database user = iserver
database password = password
database addr = 127.0.0.1
database port = 5432
users db name = users_db

# подключаем файлы с описанием протоколов
Include = etc/v3_proto.conf
Include = etc/v5_proto.conf
Include = etc/v7_proto.conf

Чтобы клиенты могли регистрироваться самостоятельно в файле v3_proto.conf устанавливаем следующие параметры:

V3 auto registration = Yes
V3 post-register info = etc/texts/post_reg_auto.txt

В файлах v5_proto.conf и v7_proto.conf есть аналогичный параметр. Можно включить авторегистрацию и в каком либо из них, но по сообщениям разработчиков некоторые клиенты не умеют регистрироваться в 5 и 7 версиях протокола. У меня таких проблем пока не было, но кто знает.
Пользователей можно заводить и вручную. Для этой цели в комплекте имеется утилита icquser:

$ su pgsql
$cd /etc/iserverd/db
$ ./icquser add UIN

Для автоматического запуска сервера в каталоге script подготовленны два скрипта: iserverd.sh и iserverd.sh.asp. Второй ориентирован на RedHat и производные от него дистрибутивы Linux. В общем случае копируем iserverd.sh в /etc/init.d и заводим символическую ссылку на нужный уровень запуска:

$ sudo script/iserverd.sh /etc/init.d/iserverd
$ sudo ln –s /etc/init.d/iserverd /etc/rc3.d/S98iserverd

Стартуем:

$ sudo /etc/init.d/iserverd start


Также стоит обратить внимание на наличие веб-интерфейса для IServerd isdwm (iserverd.khstu.ru/isdwm/index_r.html). C его помощью можно легко найти, просмотреть параметры, добавить, блокировать и удалить учетную запись, очистить список отложенных сообщений и прочее. Будет также полезен и набор скриптов для сбора статистики iserverd.khstu.ru/download/IServerd-stat.tar.gz.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *