Monte seu próprio servidor de ICQ

Após ler este artigo, em menos de 30 minutos será possível montar um servidor de ICQ para ser usando internamente em sua empresa.

[ Hits: 15.408 ]

Por: Luis Gustavo em 28/02/2004


Introdução



Este artigo foi escrito tendo como base o sistema operacional Conectiva Linux 8. Aqui abordaremos o processo de instalação do iserverd, um servidor de ICQ free para sua rede.

Você pode acessar o site oficial do iserverd em:

Dependências


A seguir temos a lista dos pacotes que são necessários para a compilação e instalação do iserverd:

Pacotes diversos:

ncurses-doc-5.2-1cl
ncurses-5.2-1cl
ncurses-devel-5.2-1cl
libstdc++2.10-2.95.3-36cl
libstdc++-devel-2.95.3-36cl
binutils-2.11.2-2cl
gcc2.95-2.95.3-36cl
gcc-2.95.3-36cl
cpp2.95-2.95.3-36cl
cpp-2.95.3-36cl
make-3.79.1-1cl

Pacotes do PostgreSQL:

postgresql-clients-7.2-3cl
postgresql-7.2-3cl
postgresql-devel-7.2-3cl
postgresql-devel-static-7.2-3cl
postgresql-lib-7.2-3cl
postgresql-odbc-7.2-3cl

Você pode obter os pacotes a partir do CD de instalação do Conectiva, no site oficial da distribuição (www.conectiva.com) ou via apt-get. O processo de método de instalação fica a seu critério.

Configurando o PostgreSQL


Depois que os pacotes estiverem instalados, entre no diretório /etc/rc.d/init.d e edite o arquivo "postgresql". Adicione o parâmetro "-i" na linha 45 do script (esta opção habilita conexões TCP/IP para o PostgreSQL):

daemon --check postmaster --user postgres "/usr/bin/postmaster -i -S -D $PG_DIR"

Agora faça o download da versão mais recente do iserverd na seguinte URL: NOTA: Testei a versão 1.99, mas não obtive sucesso, pois a conexão sempre caía. Usei então a versão 2.4 e fazem 3 semanas que não tenho problemas...:)

Descompacte o arquivo IServerd-2.4.9.tar.gz e entre no diretório que será criado:

$ tar xvzf IServerd-2.4.9.tar.gz
$ cd /tmp/IServerd-2.4.9


Agora inicie o processo padrão de compilação e instalação do pacote:

$ ./configure --prefix=/etc --with-name=Iserverd --with-debug
$ make all
$ su
# make install


Configuração do iserverd


Entre no diretório /etc/Iserverd/etc e mova todos os arquivos .conf.default para .conf:

# cd /etc/Iserverd/etc
# mv iserv.conf.default iserv.conf
# mv v3_proto.conf.default v3_proto.conf
# mv v5_proto.conf.default v5_proto.conf
# mv v7_proto.conf.default v7_proto.conf


Edite o arquivo iserv.conf e altere-o de acordo com suas necessidade, segue um exemplo:

[Globals]
# ------server parameters ----------------------
Bind on all interfaces = No
Bind interface = 192.168.0.0/16
Listen port = 5190
Pid file path = /etc/Iserverd/var/iserverd.pid
Translate path = /etc/Iserverd/etc/translate
Translate table = RUSSIAN_WIN
Var dir path = /etc/Iserverd/var
Server mode = daemon
Min childs = 4
Max childs = 100
Shared memory size = 512000
Default ping time = 120
Depart list version = 1
Externals number = 0
Admin email = root@localhost
Info Password = DEFAULT
Enable actions = False
Enable watchdog = True
Start without RDBMS = True
Watchdog timeout = 10
WWP socket filename = /tmp/wwp_sock
Actions config file = /etc/Iserverd/etc/actions.conf
Realtime online db = False
# -----parameters for database system ----------
database user = iserverd
database password = ( COLOQUE SENHA DO USER iserverd )
# Leave it blank if you have local PostgreSQL
database addr = 127.0.0.1
database port = 5432
users db name = users_db
vacuumdb timeout = 1800
Defrag db check period = 43200
Online db check period = 3600
# -----parameters for log/debug system----------
Maxlog size = 500
Log umask = 022
Log level = 10
Debug level = 10
Timestamp logs = True
Append logs = False
Log process pid = False
# -----Config files for Vxx proto modules--------
Include = /etc/Iserverd/etc/v3_proto.conf
Include = /etc/Iserverd/etc/v5_proto.conf
Include = /etc/Iserverd/etc/v7_proto.conf

Pronto, agora volte ao console e inicie o PostgreSQL:

# /etc/rc.d/init.d/postgresql start

Agora criaremos a base de dados do Iserverd:

# su postgres
$ cd /etc/Iserverd/bin/
$ db_manage.sh create users_db
$ exit


Inicie o Iserverd:

# cd /etc/Iserverd/etc/
# ./iserverd.sh start


Verifique se o PostgreSQL está rodando:

# ps ax | grep postgres
618 ? S 0:01 /usr/bin/postmaster -i -S -D /var/lib/pgsql/data
619 ? S 0:00 postgres: stats buffer process
620 ? S 0:00 postgres: stats collector process
689 ? S 0:32 postgres: iserverd users_db 127.0.0.1 idle
690 ? S 0:31 postgres: iserverd users_db 127.0.0.1 idle
693 ? S 0:29 postgres: iserverd users_db 127.0.0.1 idle
694 ? S 0:32 postgres: iserverd users_db 127.0.0.1 idle
698 ? S 0:00 postgres: iserverd users_db 127.0.0.1 idle
699 ? S 1:46 postgres: iserverd users_db 127.0.0.1 idle
701 ? S 0:00 postgres: iserverd users_db 127.0.0.1 idle

Gerenciamento do iserverd


Criando um usuário de ICQ:

# su postgres
$ cd /etc/Iserverd/etc/db/
$ ./icquser add 1001


Preencha os dados solicitados e pronto! Agora é só instalar o ICQ em uma estação cliente (licq, icq99 , icq2000 ou ICQGroupWare) e configurar o programa para acessar o seguinte servidor de ICQ:

IP: IP da máquina com iserverd
Porta: 5190
UIN: 1001
Senha: foi informada durante a criação do o usuário

Conclusão


Espero ter ajudado. Atualmente estou utilizando o servidor de ICQ com VPN entre as filiais e funciona muito bem!

Críticas e sugestões de melhorias são bem vindas.

Luís Gustavo (lgustavo@directnet.com.br)

Agradecimento


Ao colega que me ajudou na implantação e neste procedimento, tirando minhas dúvidas chatas... hehehe

Valeu Regis (2a. Vara Federal de Caxias do Sul)!!!

   

Páginas do artigo
   1. Introdução
Outros artigos deste autor

Acessando o Firebird que esta atras de um firewall

Leitura recomendada

Slax - O seu Slackware de bolso

Glances - Monitoramento de Processos e Perfomance

Windows Vista vs Linux vs Mac

APTonCD - Seu repositório portátil

NagiosVision: Tem humanos perto do seu servidor

  
Comentários
[1] Comentário enviado por fabio em 28/02/2004 - 04:25h

Muito bom artigo Gustavo, parabéns! Aproveito para indicar um artigo que já existe aqui no site muito similar a este, escrito pelo Alessandro Faria e que pode servir de complemento aos tópicos aqui abordados:
http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=177

[]'s

[2] Comentário enviado por gregorye em 28/02/2004 - 09:55h

o Bom mesmo em cara!

[3] Comentário enviado por IloveLinux2004 em 14/06/2004 - 01:17h

muito bem, dá pra fazer tudo em linux!! impressionante!


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts