Настройка IServerd

29 Янв
2008

Выбор 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.

Комментировать

Наверх