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: 13.659 ]

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

Octave - Programação científica no Linux (parte 2)

Avaliação da interface do sistema operacional Linux

Compilando PHP 5 com suporte a Oracle sem mistérios

tzwatch - Navegando pelo horário mundial no Debian

Projeto OLPC - O famoso laptop de $100

  
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
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts