A instalação dele é extremamente simples, copie o arquivo sceo_0_28b.tar.bz2 para a raiz do sistema e descompacte-o lá:
# cd /home/temp
# cp sceo_0_28b.tar.bz2 /
# cd /
# tar xjvf sceo_0_28b.tar.bz2
Edite seu arquivo de configuração:
# pico /usr/local/sceo/sceo.conf
Em
Server_name coloque o nome do endereço reverso de seu servidor. Altere seu arquivo
sceo.conf de forma a ficar com estas opções:
Module "/usr/local/sceo/mod/sceo_mysql /usr/local/sceo/mod/sceo_mysql.conf"
Dlocal "/usr/local/bin/maildrop -d %l <"
Lembre-se de COMENTAR ou APAGAR as antigas linhas das opções alteradas:
Module "" e Dlocal "/usr/bin/procmail -d %l <"
Salve e saia do arquivo de configuração. Faça um link para o programa 'fila' do /usr/local/sceo/fila em /usr/sbin. Este programa é usado para listar a atual fila do Sceo.
# ln -s /usr/local/sceo/fila /usr/sbin/fila
Vamos instalar o módulo sceo_mysql. Copie o sceo_mysql_1.1.tar.bz2 para /usr/local/sceo/mod e descompacte-o lá:
# cd /home/temp
# cp sceo_mysql_1.1.tar.bz2 /usr/local/sceo/mod
# cd /usr/local/sceo/mod
# tar xjvf sceo_mysql_1.1.tar.bz2
Agora vamos compilá-lo:
# gcc sceo_mysql.c -o sceo_mysql -lmysqlclient -lcrypt
Lembre-se que estou instalando os programas em um
Linux Slackware 12 Full. Caso de algum erro na compilação, com certeza é porque você não instalou todos os pacotes do mysql.
Edite o arquivo
sceo_mysql.conf:
# pico sceo_mysql.conf
Deixe-o desta forma:
host= localhost
db= mail
user= sceo
pass= minhasenha
user_table= users
user_login_field= mail
user_pass_field= pass
user_pass_type= crypt
user_home_field= home
user_maildir_field= maildir
user_quota_field= quota
quota_type= maildirsize
domain_table= domain
domain_field= name
alias_table= aliases
alias_field= alias
alias_rcpt_field= rcpt
Lembre-se de deixar a opção
pass= com a senha correta de seu banco de dados. Salve e saia do arquivo.
Vamos testar o módulo:
# ./sceo_mysql sceo_mysql.conf
+OK SCEO_Mysql v 1.1 Conectado
Digite:
local dominio.com.br
+OK
Digite:
local teste.com.br
-Nao local
Digite:
user lucas@dominio.com.br
+OK
Digite:
user teste@dominio.com.br
-Email inexistente
Digite:
quota lucas@dominio.com.br
+OK 250000000
Tudo funcionando, digite CTRL + C para sair do módulo. 250000000 (~ 250 Mb) é o valor que especificamos como padrão na criação do banco de dados.
Agora vamos ligar o Sceo:
# /etc/rc.d/rc.sceo start
Dê um "ps ax" para ver se ele apareceu na lista de processos com seus módulos:
# ps ax
.
.
.
6222 ? Ss 0:00 /usr/local/sceo/sceo
6223 ? S 0:00 [SCEO_MODULE] /usr/local/sceo/mod/sceo_mysql.conf
6225 ? S 0:00 [SCEO_MODULE] /usr/local/sceo/mod/sceo_mysql.conf
6227 ? S 0:00 [SCEO_MODULE] /usr/local/sceo/mod/sceo_mysql.conf
6229 ? S 0:00 [SCEO_MODULE] /usr/local/sceo/mod/sceo_mysql.conf
6231 ? S 0:00 [SCEO_MODULE] /usr/local/sceo/mod/sceo_mysql.conf
6233 ? S 0:00 /usr/local/sceo/sceo
Os módulos e o processo principal rodam como root. Mas os processos filhos criados para tratar as novas conexões e os arquivos de fila rodam com usuário 'sceo'.
Vamos testá-lo:
# telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 localhost SMTP SCEO v0.28b
Digite:
ehlo testador
250-localhost
250-SIZE 10485760
250-AUTH PLAIN LOGIN
250 8BITMIME
Digite:
mail from: <>
250 Remetente liberado
Digite:
rcpt to: <lucas@dominio.com.br>
250 Destinatario liberado
Teste agora um usuário que NÃO existe:
Digite:
rcpt to: <teste@dominio.com.br>
550 Esse email nao existe. (no such user) <teste@dominio.com.br>
Digite:
quit
Se você quer que o Sceo reenvie os emails de sua rede interna (Relay), basta acrescentar a seguinte linha no arquivo
/usr/local/sceo/regras_conexao. Digamos que sua rede interna seja 10.0.0.0/24:
Ip? "10.0.0.0/24" Relay!
Salve e saia do arquivo. Não é preciso reiniciar o Sceo. Tudo ok com o servidor SMTP.