Preparando a Base de E-mails

 

Os atuais módulos criados para o servidor são: MySQL, LDAP e Usuários do sistema PASSWD.


Caso queira usar MySQL:

Puxe o módulo do MySQL aqui.

Descompacte o arquivo em /usr/local/selor/mod

cd /usr/local/selor/mod
tar xjf selor_mysql_x.x.tar.bz2

Crie a base de dados no MySQL:

mysql -uroot

Troque 'minhasenha' por uma senha de sua preferência.

mysql> create database mail;
mysql> grant all privileges on mail.* to selor@localhost identified by 'minhasenha';
mysql> flush privileges;
mysql> quit

Jogue o dump selor_mysql.sql para o novo banco criado:
mysql -uroot mail < selor_mysql.sql

Agora, compile o módulo para o seu sistema operacional:

Para Linux:
32 Bits: gcc -shared -nostartfiles selor_mysql.c -o selor_mysql.so -lmysqlclient -lcrypt -Wall
64 Bits: gcc -shared -nostartfiles selor_mysql.c -o selor_mysql.so -DA64 -lmysqlclient -lcrypt -Wall -fPIC

Para FreeBSD:
32 Bits: gcc -shared -nostartfiles selor_mysql.c -o selor_mysql.so -L/usr/local/lib/mysql -DFreeBSD -lmysqlclient -Wall
64 Bits: gcc -shared -nostartfiles selor_mysql.c -o selor_mysql.so -L/usr/local/lib/mysql -DFreeBSD -DA64 -lmysqlclient -Wall -fPIC

 

Obs: As vezes, mesmo instalada e configurada no /etc/ld.so.conf, a lib mysqlclient não é encontrada e você pode ter um erro semelhante a este:

/usr/bin/ld: cannot find -lmysqlclient
collect2: ld returned 1 exit status

... Você pode resolver este problema indicando ao compilador o caminho da lib em seu servidor. Pode estar em /usr/lib64/mysql/ ou /usr/lib/mysql/. Descubra onde ela esta com um simples 'ls' e acrescente isso na sua linha de compilação: -L/usr/lib64/mysql/ ou -L/usr/lib/mysql/

 

Abra o arquivo de configuração do módulo e ajuste a senha do banco de dados, na opção: 'Pass='
pico selor_mysql.conf

Abra o arquivo de configuração do Selor (/usr/local/selor/selor.conf), procure a opção Module e aponte-a para o seu módulo:
pico /usr/local/selor/selor.conf

Module "/usr/local/selor/mod/selor_mysql.so /usr/local/selor/mod/selor_mysql.conf"

Módulo configurado

 

 


Caso queira usar LDAP:

É complicado explicar um passo a passo da instalação do Selor com uma base LDAP porque ela é extremamente variada e em cada empresa ela tem uma estrutura completamente diferente.

Vou dar como exemplo apenas uma base simples, sem alias de emails e domínios, usando apenas os schemas padrões que vem com o LDAP.
Consulte na documentação um exemplo para fazer o seu servidor de emails usar LDAP(para autenticação)  + MySQL(base de emails).

Puxe o módulo LDAP aqui.

Descompacte o arquivo em /usr/local/selor/mod

cd /usr/local/selor/mod
tar xjf selor_ldap_x.x.tar.bz2

Agora, compile o módulo para o seu sistema operacional:

Para Linux:
32 Bits: gcc -shared -nostartfiles selor_ldap.c -o selor_ldap.so -lldap -Wall
64 Bits: gcc -shared -nostartfiles selor_ldap.c -o selor_ldap.so -DA64 -lldap -Wall -fPIC

Para FreeBSD:
32 Bits: gcc -shared -nostartfiles selor_ldap.c -o selor_ldap.so -DFreeBSD -lldap -Wall
64 Bits: gcc -shared -nostartfiles selor_ldap.c -o selor_ldap.so -DFreeBSD -DA64 -lldap -Wall -fPIC

 

Exemplo de uma Base LDAP simples (exemplo.ldif):

# Entrada Principal. Nome da empresa
dn: dc=empresa
objectclass: domain
dc: empresa

# Dominio dominio.com.br
dn: dc=dominio.com.br,dc=empresa
objectclass: dNSDomain
dc: dominio.com.br

# Email
dn: cn=contato,dc=dominio.com.br,dc=empresa
objectclass: inetOrgPerson
objectclass: top
objectclass: posixAccount
cn: contato
gidnumber: 105
homedirectory: /home/mail/dominio.com.br/contato
mail: contato@dominio.com.br
sn: teste
uid: contato
uidnumber: 1000
userpassword: {MD5}59gP/u+iErfFxVcA5PcZPg==

 

# Email
dn: cn=teste,dc=dominio.com.br,dc=empresa
objectclass: inetOrgPerson
objectclass: top
objectclass: posixAccount
cn: teste
gidnumber: 105
homedirectory: /home/mail/dominio.com.br/teste
mail: teste@dominio.com.br
sn: teste
uid: Teste
uidnumber: 1001

# Dominio teste.com.br
dn: dc=teste.com.br,dc=empresa
objectclass: dNSDomain
dc: teste.com.br

# Email
dn: cn=teste,dc=teste.com.br,dc=empresa
objectclass: inetOrgPerson
objectclass: top
objectclass: posixAccount
cn: teste
gidnumber: 105
homedirectory: /home/mail/teste.com.br/teste
mail: teste@teste.com.br
sn: teste
uid: Teste
uidnumber: 1002



Exemplo de arquivo de configuração para acessar a base acima:

#### Variaveis
# %d -> Domain
# %u -> Mail
#

# ---- Dados de conexao ----
Host=                   ldap://localhost
Login_dn=               cn=Manager,dc=empresa
Pass=                   minhasenha

# ---- Atributos ----
Attr_domain=            dc
Attr_mail=              mail
Attr_pass=              userpassword
Attr_home=              homedirectory

# ---- Buscas ----
Sch_domain_base=        dc=empresa
Sch_domain_filter=      (&(dc=%d)(objectClass=dNSDomain))
Sch_user_base=          dc=%d,dc=empresa
Sch_user_filter=        (&(mail=%u))

 

O módulo selor_ldap possui algumas outras opções de configuração para buscas a domínios alias, Maildir, etc.
Consulte seu manual para maiores detalhes.

Ajuste o arquivo /usr/local/selor/mod/selor_lap.conf de acordo com a sua base LDAP.

Abra o arquivo de configuração do Selor (/usr/local/selor/selor.conf), procure a opção Module e aponte-a para o seu módulo:
pico /usr/local/selor/selor.conf

Module "/usr/local/selor/mod/selor_ldap.so /usr/local/selor/mod/selor_ldap.conf"

Módulo cofigurado 


 

Caso queira usar os usuários do sistema Passwd:

Se você pretende usar o seu servidor de Emails com domínios virtuais, recomanda-se que use o Selor com o módulo do MySQL.
Este módulo Selor_Passwd suporta domínios virtuais também, mas, o melhor módulo para usar todos os recursos do Selor são o de MySQL ou LDAP.

Puxe o módulo PASSWD aqui.

Descompacte o arquivo em /usr/local/selor/mod

cd /usr/local/selor/mod
tar xjf selor_passwd_x.x.tar.bz2

Agora, compile o módulo para o seu sistema operacional:

Para Linux:
32 Bits: gcc -shared -nostartfiles selor_passwd.c -o selor_passwd.so -lcrypt -Wall
64 Bits: gcc -shared -nostartfiles selor_passwd.c -o selor_passwd.so -lcrypt -DA64 -Wall -fPIC
No Linux é preciso compilar um modulo extra:
Ambas as versões(32 e 64 bits): gcc selor_shadowmod.c -o selor_shadowmod -lcrypt -Wall                                                                    

Para FreeBSD:
32 Bits: gcc -shared -nostartfiles selor_passwd.c -o selor_passwd.so -DFreeBSD -Wall
64 Bits: gcc -shared -nostartfiles selor_passwd.c -o selor_passwd.so -DFreeBSD -DA64 -Wall -fPIC

O arquivo de configuração dele é o /usr/local/selor/mod/selor_passwd.conf. Geralmente não é preciso alterar nada nele.

Se você usar Linux, de permissão especial ao selor_shadowmod
chown root. selor_shadowmod
chmod 4500 selor_shadowmod

Esta permissão é necessária para o módulo conseguir consultar as senhas dos arquivos shadow do Linux. No FreeBSD não é necessário.

Abra o arquivo de configuração do Selor (/usr/local/selor/selor.conf), procure a opção Module e aponte-a para o seu módulo:
pico /usr/local/selor/selor.conf

Module "/usr/local/selor/mod/selor_passwd.so /usr/local/selor/mod/selor_passwd.conf"

Módulo cofigurado


Próximo

Powered by C - Assembly