Servidor de ICQ free no SuSE

Descrição detalhada de como configurar um servidor de ICQ no SuSE Linux , mas que pode servir para outras distros também. Inclui dicas de como ajustar o servidor PostgreSQL para iniciar junto com o sistema.

[ Hits: 22.129 ]

Por: Antonio Graziadei em 11/09/2004 | Blog: http://www.linkedin.com/in/antoniograziadei


Configuração



Após tudo instalado, precisamos alterar a configuração padrão.

Entre no diretório criado (/etc/Iserverd/etc) e copie os arquivos .conf.default para .conf:

(copie para o caso de algum problema ou mesmo para saber como é o padrão)

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


Altere os arquivos iserv.conf e v3_proto.conf:

### iserv.conf ###
[Globals]
# ------server parameters ----------------------
  Bind on all interfaces = No
  Bind interface = 0.0.0.0/32  # coloque o IP do servidor
  Listen port = 5190
  Pid file path = /etc/Iserverd/var/iserverd.pid
  Translate path = /etc/Iserverd/etc/translate
  Translate table = PORTUGUESE_COM
  # veja no diretório " translate " a tradução que mais lhe convém

...

  Admin email = root@localhost
  # altere caso você deseje usar outro usuário
  Info Password = DEFAULT
  # é dito para alterar, pois não funcionaria. Eu usei o usuário root, não alterei e funcionou

# -----parameters for database system ----------
  database user = iserverd
  # informe o usuário que conectará no banco
  database password = xxxxxxxxx
  # senha de banco do usuário acima

# Leave it blank if you have local PostgreSQL
  database addr = 127.0.0.1
  # caso o banco rode em outra máquina, informe o IP
  database port = 5432
  users db name = users_db

### v3_proto.conf ###

# Altere estas linhas:
V3 registration enabled = Yes
V3 auto registration = Yes
V3 post-register info = /etc/Iserverd/etc/texts/post_reg_auto.txt

Para padronizar os script de inicialização, crie os links nos diretórios /etc/init.d e /usr/sbin:

# cd /etc/init.d
# ln -s /etc/Iserverd/etc/iserverd.sh IServerd
# cd /usr/sbin
# ln -s /etc/Iserverd/etc/iserverd.sh rcIServerd


Antes de rodar o daemon é preciso criar o banco:

# su postgres

DICA: No SuSE o usuário para gerência dos bancos PostgreSQL é o "postgres".

Logue como root e execute o "su postgres".

$ db_manager create users_db

Informe o usuário que irá se conectar ao banco e sua senha:

$ exit

Afim de possibilitar ao "iserverd" se conectar ao banco, altere o arquivo de configuração de autenticação de cliente do PostgreSQL (/var/lib/pgsql/data/pg_hba.conf). Inclua estas linhas no final do arquivo:

local all  all    ident sameuser # esta já tém
host all  all  127.0.0.1  255.255.255.255  ident sameuser
host all  all  192.168.0.0  255.255.255.0  ident sameuser

OBS: Caso você mantenha a primeira das três linha acima, será necessário criar no sistema o usuário "iserverd". Acredito ser melhor opção do que colocar "local all all trust", por questões de segurança.

Em contrapartida, se você tiver o mesmo raciocínio para as opções "host", os usuários não irão logar?!?!?

Veja o que diz a documentação do PostgreSQL:
local database user authentication-method [authentication-option]
host database user IP-address IP-mask authentication-method [authentication-option]
hostssl database user IP-address IP-mask authentication-method [authentication-option]

trust
The connection is allowed unconditionally. This method allows anyone hat can connect to the PostgreSQL database to login as any PostgreSQL user they like, without the need for a password. See Section 6.2.1 for details.

ident
Obtain the operating system user name of the client (for TCP/IP connections by contacting the ident server on the client, for local connections by getting it from the operating system) and check if the user is allowed to connect as the requested database user by consulting the map specified after the ident key word.

If you use the map sameuser, the user names are assumed to be identical. If not, the map name is looked up in the file pg_ident.conf in the same directory as pg_hba.conf.

The connection is accepted if that file contains an entry for this map name with the ident-supplied user name and the requested PostgreSQL user name.

Agora sim, inicie o IServerd:

# rcIServerd start

Para ter certeza de que esta tudo funcionando como deveria, execute o ps:

# ps a | grep post
postgres 17606  /usr/bin/postmaster -i
postgres 17608  postgres: stats buffer process
postgres 17609  postgres: stats collector process
postgres 17845  postgres: iserverd users_db 127.0.0.1 idle
postgres 17847  postgres: iserverd users_db 127.0.0.1 idle
postgres 17849  postgres: iserverd users_db 127.0.0.1 idle
postgres 17851  postgres: iserverd users_db 127.0.0.1 idle
postgres 17852  postgres: iserverd users_db 127.0.0.1 idle
postgres 17854  postgres: iserverd users_db 127.0.0.1 idle
postgres 17856  postgres: iserverd users_db 127.0.0.1 idle
Caso não apareça a listagem, pelo menos parecida, verifique os logs do IServerd (/etc/Iserverd/log/debig.log) e do PostgreSQL (/var/log/postgres).

OBS: Um opção pode ser "dar" poderes de inclusão, alteração, etc, ao usuário "iserverd" na tabela "users_db".

Página anterior     Próxima página

Páginas do artigo
   1. Links úteis e agradecimentos
   2. Requerimentos
   3. Instalação
   4. Configuração
   5. Finalmente a conclusão dos serviços
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

GNU/Linux integrado ao AD do Windows Server 2003

Fontes True Type no Slackware (sem xfstt e ttmkfdir)

Asterisk - Instalação e configuração no Debian Lenny

Criando um Arch Linux de bolso a partir de qualquer distribuição

Instalando o Gentoo 2018

  
Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts