Замути свой icq server под Linux
Привет! Ты не задумывался над тем, что у тебя может быть UIN 1 или 0,
ну или 31337 %) Такое возможно, если ты взломаеш наконец базы Mirabilis
;) или поставить свой локальный Icq Server. Мучить будем IServer v2.0, ибо это самый популярный сервак...
Правда он работает по udp протоколу. Версии для tcp еще нет... Ну да
ладно %) micq и licq проверены мной на совместимость %) Работают на ура!
Что нужно?
1) Postgresql
Как ты понимаешь, IServer хранит данные в базе. А именно в
Postgresql... MySql по утверждению автора программы - не подходит для
icq server`а. Ну да ладно %) Скачаем с www.freshmeat.net сырцы postgresql 7.2 (~9 Mb). Компилится это дело без проблем... Затем
создаем data-директорию и создаем конф БД. Cамое важное - смотрим
конфиг файл postgresql.conf (в директории data). Там унремим строчку
"port 5432". Это важно, так как tcp-порт должен быть открыт, чтоб демон
icqserverd смог подключиться к БД.
Запускаем сервис под юзером postgres (что-то типа /usr/local/pgsql/bin/postmaster -D /usr/bin/local/pgsql/data).
2) Ncurses
Как правило ncurses ставятся по дефолту при установке linux, но быть может их придется добыть на www.freshmeat.net.
3) IServerd v 2.0
Качаем с того же фрешмита сырец Iserverd2.0 и пытаемся компилить %)
Лично у меня ничего не вышло... Система выругалась на какие-то
процедуры, но заглянув в bin/ директорию я нашел там iserverd =) в
скомпиленной форме.. Запустив его - опять же ничего хорошего я не
получил - снова ругань на ненайденные библиотеки %) Сделав линку на
подобное название библиотеки в /usr/lib прога все же запустилась.. Но
не найдя конф и дебаг файла - снова выругалась %)) Поправляя на ходу мелкие недоделки и копируя нужные файлы, я
восстановил иерархию папок для iserver. Затем - лезем в
/etc/iserverd/iserv.conf. Там ставим пароль на базу, и название самой
базы сервиса.
Лирическое отступление с забегом вперед: У меня возникли
проблемы с коннектом на icq. Дело в том, что у меня в тот момент было 2
сетевых интерфейса. Мой ip во внутренней сети и диалап. Так вот, с
диалапа ко мне зацеплялись на ура, а вот внутренний ip адрес, сервер
забиндить не смог :( Так что, я исправил строку в iserv.conf
BINDING_INTERFACE = 0.0.0.0/32 на 192.192.192.4/32 - вродепомогло... Лезем в папку script/ в установочной директории сервера. Там
редактируем файлик db_manage.sh. Изменим там юзера/пароль/базу сервера
(как в конфиге) и запустим его с параметром create. Если все ок - то
одной проблемой меньше и одним шагом больше к запуску сервера %) В той же папке script запустим скриптик icquser с параметром add
#UIN (где #UIN - наиболее приглянувшийся номер). Note! licq проверяет
уины, и 4-значка (и меньше) не прокатит :( С micq - проблем нет. Если
скрипт скажет DONE, значит все ok ob, а если он скажет мол нет базы -
проверь создание db. Если же будет брань на отсутствие
/etc/iserverd/icquser.sql - закинь его (он есть в дистрибутивной папке
iserverd).
Итак! Самое главное: запускаем демон. Если он у тебя лежит в
установочной папке/bin, то войди в нее и выполни "cp iserverd
/usr/bin/". А далее запустим сервер: iserverd. Смотрим процессы "ps ax|grep
iserverd" - если пусто - читаем /var/log/messages ;) Если процессы есть
- все хорошо =)
Ну и последнее: травим твой icq client на твой ip-адрес и на
твой ранее созданный UIN. При удачных обстоятельствах - логин
произойдет на ура :)
А дальше, то что твоей душе взбредет на ум %) Зови друзей на
новый icqserver ;) Бери с них пиво за красивые уины (создавать-то ты их
уже научился ;) ) и радуйся жизни :) Да... и не забудь сервер в
автозапуск поставить :)
Автор: Forb
лего сити 2012
Любое, полное или частичное копирование материалов сайта без согласования с автором запрещено.
|
|
|
|