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.
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:
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.
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):
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
# ------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)!!!
http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=177
[]'s