Você está na página 1de 10

Instalao do Postfix

Este artigo foi escrito durante o processo de configurao, portanto inclui alertas para erros que cometi (muitos
comuns a iniciantes) e que me fizeram perder um tempo tentando descobrir o que era. No sou um expert no
assunto, ainda assim, estou postando aqui para que outros possam fazer disso uma tarefa mais branda, pois
encontrei muitos 'buracos' e 'detalhes sem explicao' nos artigos que li. Este tutorial visa uma cobertura completa
do bsico no assunto.
1. Pr-requisitos
Para executar esse tutorial, deve-se ter um Debian (ou derivado) de 32bits, e os pacotes do apache, php, e
postgresql 8.3 instalados e configurados. A questo de ser Debian 32 foi que encontrei um erro no courier-imap
que no consegui contornar na verso 64 bits, e como j tinha feito o processo numa mquina-cobaia com Debian
5.0/32bits, optei por usar tambm essa distribuio para o servidor.
Obs.: Para instalao de pacotes eu uso aptitude (melhor verificao de dependncias), mas o apt-get pode ser
usado no lugar dele.
2. Instalao do Postfix
O Morimoto escreveu um excelente guia em:
http://www.guiadohardware.net/tutoriais/servidor-emails/instalando-postfix.html
Para a configurao inicial do Postfix interessante dar uma olhada nessa referncia. Bem, dito isso, vamos
instalar os pacotes:
# aptitude install postfix postfix-ldap postfix-pgsql
Importante: a configurao, se no for feita na instalao, deve ser feita com o comando:
# dpkg-reconfigure postfix
Como opes, deve-se escolher:
General type of configuration?
-> Internet site (para um servidor 'real' de e-mails)
Conta de usurio admin:
-> fulano
mail name? (Nome do servidor de e-mails)
-> meudominio.com.br ou nome_do_meu_servidor
Destinatrios para os quais aceitar emails: (Essencial se o servidor abrigar domnios virtuais) -> dominio1.com.br,
domnio2.org, domnio3.net
Force synchronous update on mail queue?
-> No
Qualquer dvida, consultar os passos indicados no artigo do Morimoto para instalao e configurao iniciais do
Postfix.
Finalizada a instalao, vamos fazer alguns testes.
bom fazermos uma checagem geral com o comando:
# postfix check
Se houverem problemas aparecero aqui, do contrrio, no aparecer nada.
Envio e recebimento por telnet (instale o telnet se no tiver com 'aptitude install telnet'):
2.a) Envio para servio de email local:
# telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 urano.meudominio.com.br ESMTP Postfix (Debian/GNU)
mail from: usuario@meudominio.com.br
250 2.1.0 Ok
rcpt to: usuario@meudominio.com.br
250 2.1.5 Ok
data
354 End data with <CR><LF>.<CR><LF>
teste de envio de email de urano.
.
250 2.0.0 Ok: queued as B5966E0EE
quit
221 2.0.0 Bye
Connection closed by foreign host.
Obs.: Pode-se instalar e usar o mutt para ler (aptitude install mutt / mutt).
2.b) Envio para servio de email externo:
# telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 urano.meudominio.com.br ESMTP Postfix (Debian/GNU)
mail from: usuario@meudominio.com.br
250 2.1.0 Ok
rcpt to: email_de_teste@yahoo.com
250 2.1.5 Ok
data
354 End data with <CR><LF>.<CR><LF>
teste de envio de email de urano.
.
250 2.0.0 Ok: queued as B5966E0EE
quit
221 2.0.0 Bye
Connection closed by foreign host.
O Postfix deve funcionar normalmente nas configuraes padro. Se estiver ok, vamos em frente. Se no, o
problema tem que ser corrigido antes de prosseguir. Dica: d uma olhada nos logs de sistema ('cat
/var/log/syslog') e de email ('cat /var/log/mail.err ou mail.*') para ter algumas pistas dos problemas.
Instalao e configurao do Courier, autenticao e usurios virtuais
Instalado o Postfix, vamos cuidar da autenticao pelo banco de dados, imap e configurao dos usurios virtuais.
Instale os pacotes:
# aptitude install courier-pop courier-pop-ssl courier-imap courier-imap-ssl courier-authdaemon courier-authlib-
postgresql
Criao dos certificados:
Aps a instalao temos que gerar certificados para serem utilizados com os pacotes courier-pop-ssl e courier-
imap-ssl. Ento vamos l:
# cd /etc/courier
Crie o arquivo imapd.cnf:
# cp imapd.cnf.dpkg-new imapd.cnf
Edite agora o arquivo "imapd.cnf", adicionando as suas informaes nos campos abaixo:
C=BR
ST=SP
L=Minha Cidade
emailAddress=postmaster@meudominio.com.br
Bem, se souber o que est fazendo, altere os outros campos, se quiser. Agora, gere o certificado:
# mkimapdcert
Se existir o certificado de pop, renomeie-o, e gere o novo:
# mv pop3d.pem pop3d.pem.old
Edite o arquivo "pop3d.cnf" do mesmo modo que o "imap.conf". Gere o novo certificado de pop:
# mkpop3dcert
No fim, os arquivos tem que ficar prximo disso:
imapd.cnf:
RANDFILE = /usr/lib/courier/imapd.rand
[ req ]
default_bits = 1024
encrypt_key = yes
distinguished_name = req_dn
x509_extensions = cert_type
prompt = no
[ req_dn ]
C=BR
ST=SP
L=Minha Cidade
O=Courier Mail Server
OU=IMAP SSL key
CN=localhost
emailAddress=postmaster@meudominio.com.br
[ cert_type ]
nsCertType = server
pop3d.cnf:
RANDFILE = /usr/lib/courier/pop3d.rand
[ req ]
default_bits = 1024
encrypt_key = yes
distinguished_name = req_dn
x509_extensions = cert_type
prompt = no
[ req_dn ]
C=BR
ST=SP
L=Minha Cidade
O=Courier Mail Server
OU=POP3 SSL key
CN=localhost
emailAddress=postmaster@meudominio.com.br
[ cert_type ]
nsCertType = server
Ok, at o momento no fizemos muito mais do que uma instalao bsica. A criao de usurios virtuais exige um
esquema de autenticao um pouco mais elaborado. necessrio configurar o daemon de autenticao para
utilizar o mdulo do postgre. Edite "/etc/courier/authdaemonrc" e inclua 'authpgsql', na lista de mdulos a serem
carregados. Nessa linha, o meu ficou assim:
authmodulelist="authpam authcram authpgsql"
# Lista de todos os mdulos disponveis:
authmodulelistorig="authuserdb authpam authpgsql authldap authmysql authcustom authpipe"
interessante, na fase de testes, habilitar a exibio de informaes de debug nos logs (/var/log/syslog):
DEBUG_LOGIN=1 # ativa o debug
DEBUG_LOGIN=2 # ativa o debug e exibe as senhas
courier-authdaemon courier-authlib-postgresql
#DEBUG AUTHDAEMON
ATENO: No esquea de desativar os debugs depois de finalizar o processo!
Agora vamos reconfigurar o Postfix a fim de criar usurios virtuais. Para isso vamos ter que criar um banco de
dados para que o Postfix retire dele as informaes. Alm disso, temos que especificar como essas informaes
sero retiradas do nosso banco de dados, via comandos SQL. Vamos comear alterando as variveis
no /etc/postfix/main.cf para (exemplo para um servidor 'urano'):
myhostname = urano.meudominio.com.br
mydomain = meudominio.com.br
Agora adicionaremos no final do arquivo as linhas:
# Domnios virtuais com o PostgreSQL:
virtual_gid_maps = static:107
virtual_uid_maps = static:108
virtual_transport = virtual
virtual_mailbox_limit = 51200000
virtual_mailbox_base = /var/vusers
virtual_alias_maps = pgsql:/etc/postfix/pgsql_virtual_aliases_maps.cf
virtual_mailbox_domains = pgsql:/etc/postfix/pgsql_virtual_domains_maps.cf
virtual_mailbox_maps = pgsql:/etc/postfix/pgsql_virtual_mailbox_maps.cf
ATENO: NO meu sistema, o id de usurio do Postfix 107, e do grupo postfix 108. Ajuste para os valores
correspondentes no seu sistema. Incluindo os esquemas de autenticao TLS, o meu arquivo /etc/postfix/main.cf
completo ficou:
OBS.: No altere a ordem de precedncia dos comandos do arquivo original, ela importante.
# Debian specific: Specifying a file name will cause the first
# line of that file to be used as the name. The Debian default
# is /etc/mailname.
#myorigin = /etc/mailname
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
biff = no
# appending .domain is the MUA's job.
append_dot_mydomain = no
# Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = 4h
readme_directory = no
# TLS parameters
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
# See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
# information on enabling SSL in the smtp client.
myhostname = urano.meudominio.com.br
mydomain = meudominio.com.br
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination =
relayhost =
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
inet_protocols = ipv4
# Domnios virtuais com o PostgreSQL:
virtual_gid_maps = static:107
virtual_uid_maps = static:104
virtual_transport = virtual
virtual_mailbox_limit = 0
virtual_mailbox_base = /mail/vusers
virtual_alias_maps = pgsql:/etc/postfix/pgsql_virtual_aliases_maps.cf
virtual_mailbox_domains = pgsql:/etc/postfix/pgsql_virtual_domains_maps.cf
virtual_mailbox_maps = pgsql:/etc/postfix/pgsql_virtual_mailbox_maps.cf
Obs.: As linhas que contm 'pgsql:' indicam que o Postfix ir solicitar ao mdulo correspondente (postgres) para
que execute os comandos em banco de dados. Estes comandos se referem aos scripts que o Postfix ir executar
para acessar o banco de dados. Obviamente, temos que criar os scripts.
Arquivo pgsql_virtual_aliases_maps.cf:
user = postfix
password = postpass
hosts = localhost
dbname = mail
query = SELECT address FROM aliases WHERE alias='%s'
Arquivo pgsql_virtual_domains_maps.cf:
user = postfix
password = postpass
hosts = localhost
dbname = mail
query = SELECT domain FROM domain WHERE domain='%s'
Arquivo pgsql_virtual_mailbox_maps.cf:
user = postfix
password = post1b2a
hosts = localhost
dbname = mail
query = SELECT maildir FROM mailbox WHERE username='%s' AND active = 1
Ajuste o arquivo /etc/courier/authpgsqlrc:
PGSQL_HOST localhost
PGSQL_PORT 5432
PGSQL_USERNAME postfix
PGSQL_PASSWORD postpass
PGSQL_DATABASE mail
PGSQL_USER_TABLE mailbox
PGSQL_CRYPT_PWFIELD password
PGSQL_UID_FIELD 107
PGSQL_GID_FIELD 108
PGSQL_LOGIN_FIELD username
PGSQL_HOME_FIELD '/var/vusers'
PGSQL_MAILDIR_FIELD maildir
ATENO: Novamente, no meu sistema, o id de usurio do postfix 107, e do grupo postfix 108. Ajuste para os
valores correspondentes no seu sistema.
Obs.: O diretrio '/var/vusers' ser criado para se colocar as caixas dos usurios virtuais (nos passos a seguir).
Agora vamos criar o usurio postfix no postgre, com a mesma senha que colocamos no script:
# su - postgres
$ createuser -A -D -E -P postfix
Digite a senha para a nova role: postpass
Digite-a novamente: postpass
Crie um usurio admin com o mesmo login de um usurio do sistema para criar um banco de dados, tipo:
$ createuser -a -d -E -P useradmin
Agora vamos criar o banco de dados 'mail' e as tabelas que vamos utilizar:
# su useradmin
$ createdb mail
$ psql mail
Comandos SQL (pode copiar e colar no console):
ALTER DATABASE mail OWNER TO postgres;
\connect mail
SET client_encoding = 'UTF8';
SET standard_conforming_strings = off;
SET check_function_bodies = false;
SET client_min_messages = warning;
SET escape_string_warning = off;
SET search_path = public, pg_catalog;
SET default_tablespace = '';
SET default_with_oids = false;
CREATE TABLE aliases (
alias character varying(255) DEFAULT ''::character varying NOT NULL,
address text NOT NULL,
domain character varying(255) DEFAULT ''::character varying NOT NULL,
created time with time zone DEFAULT now() NOT NULL,
modified time with time zone DEFAULT now() NOT NULL,
active integer DEFAULT 1 NOT NULL
);
ALTER TABLE public.aliases OWNER TO postfix;
CREATE TABLE domain (
domain character varying(255) DEFAULT ''::character varying NOT NULL,
description character varying(255) DEFAULT ''::character varying NOT NULL,
aliases integer DEFAULT 0 NOT NULL,
mailboxes integer DEFAULT 0 NOT NULL,
maxquota integer DEFAULT 0 NOT NULL,
transport character varying(255) DEFAULT NULL::character varying,
backupmx integer DEFAULT 0 NOT NULL,
created time with time zone DEFAULT now() NOT NULL,
modified time with time zone DEFAULT now() NOT NULL,
active integer DEFAULT 1 NOT NULL
);
ALTER TABLE public.domain OWNER TO postfix;
CREATE TABLE mailbox (
username character varying(255) DEFAULT ''::character varying NOT NULL,
password character varying(255) DEFAULT ''::character varying NOT NULL,
name character varying(255) DEFAULT ''::character varying NOT NULL,
maildir character varying(255) DEFAULT ''::character varying NOT NULL,
quota integer DEFAULT 0 NOT NULL,
domain character varying(255) DEFAULT ''::character varying NOT NULL,
created time with time zone DEFAULT now() NOT NULL,
modified time with time zone DEFAULT now() NOT NULL,
active integer DEFAULT 1 NOT NULL
);
ALTER TABLE public.mailbox OWNER TO postfix;
INSERT INTO domain (domain, description, aliases, mailboxes, maxquota, transport, backupmx, created,
modified, active) VALUES ('meudominio.com.br', 'Domnio Oficial do meu site', 0, 0, 0, NULL, 0,
'23:11:33.126422-03', '23:11:33.126422-03', 1);
INSERT INTO aliases (alias, address, domain, created, modified, active) VALUES ('isaias',
'isaias@outrodominio.com.br', '', '11:54:33.577091-03', '11:54:33.577091-03', 1);
INSERT INTO mailbox (username, password, name, maildir, quota, domain, created, modified, active)
VALUES ('user@meudominio.com.br', '$1$Uf8bM$5gO/4Dokk34vYECv1.HGa1', '', 'user/', 0, '',
'23:51:53.816966-03', '23:51:53.816966-03', 1);
INSERT INTO mailbox (username, password, name, maildir, quota, domain, created, modified, active)
VALUES ('admin@meudominio.com.br', '$1$Uf8bM$5gO/4Dokk34vYECv1.HGa1', 'Mailbox User', 'admin/', 0,
'', '23:11:33.126422-03', '23:11:33.126422-03', 1);
INSERT INTO mailbox (username, password, name, maildir, quota, domain, created, modified, active)
VALUES ('outrouser@meudominio.com.br', '', 'Mailbox User', 'roundcube/', 0, '$1$Uf8bM
$5gO/4Dokk34vYECv1.HGa1', '23:11:33.126422-03', '23:11:33.126422-03', 1);
ALTER TABLE ONLY aliases
ADD CONSTRAINT aliases_pkey PRIMARY KEY (address);
ALTER TABLE ONLY domain
ADD CONSTRAINT domain_pkey PRIMARY KEY (domain);
ALTER TABLE ONLY mailbox
ADD CONSTRAINT mailbox_pkey PRIMARY KEY (username);
REVOKE ALL ON SCHEMA public FROM PUBLIC;
REVOKE ALL ON SCHEMA public FROM postgres;
GRANT ALL ON SCHEMA public TO postgres;
GRANT ALL ON SCHEMA public TO PUBLIC;
REVOKE ALL ON TABLE aliases FROM PUBLIC;
REVOKE ALL ON TABLE aliases FROM postfix;
GRANT ALL ON TABLE aliases TO postfix;
REVOKE ALL ON TABLE domain FROM PUBLIC;
REVOKE ALL ON TABLE domain FROM postfix;
GRANT ALL ON TABLE domain TO postfix;
REVOKE ALL ON TABLE mailbox FROM PUBLIC;
REVOKE ALL ON TABLE mailbox FROM postfix;
GRANT ALL ON TABLE mailbox TO postfix;
ATENO:
O Postfix trabalha com dois tipos de 'caixas' de e-mail: mbox e Maildir. No primeiro tipo, mbox, ele cria um
arquivo nico, no spool de emails do postfix (geralmente em '/var/mail' ou '/var/spool/mail'), com o nome
do usurio. No segundo tipo, ele cria uma estrutura num diretrio, no qual ficaro os e-mails. A distino
que define o uso de um estilo ou de outro o caractere '/' no final da string que inserimos no banco de
dados acima (tabela mailbox). Se o endereo do diretrio estiver sem essa barra final, os mails vo para o
arquivo '/var/mail/nome_do_usuario'. Do contrrio, vo para a rvore de diretrios: <raiz do diretrio
virtual>/nome_especificado/. Em nosso caso, ser o '/var/vusers' como diretrio raiz para os nossos
usurios.
No coloque um domnio virtual listado na varivel mydestination.
No arquivo de alias, temos um mapeamento de um alias (virtual) para um usurio/endereo (real). No
misture, para no obter resultados inesperados.
Neste artigo, as senhas inseridas para os usurios correspondem ao cdigo encriptado da senha 'teste'.
Voc pode usar o comando 'authpasswd' para gerar outras chave e armazen-las na tabela mailbox de
usurios no postgres:
# authpasswd
Password:
Reenter password:
$1$skrcM$z1Ql3ycdJv.ZieQ8ywYUS0
Ok, ajustados nossos registros no PostgreSQL e configurado o postfix para acessar os dados no bd, vamos criar os
diretrios de email.
Crie o diretrio /var/vusers (usurio:grupo = postfix:postfix).
# mkdir /var/vusers
Agora, crie as mailboxes dos dois usurios-exemplo do script sql:
# maildirmake /home/postfix/Maildir/user
# maildirmake /home/postfix/Maildir/admin
# chown -R postfix:postfix /home/postfix
Ok, agora vamos reiniciar os servios:
# /etc/init.d/postfix reload
# /etc/init.d/courier-imap restart
Se o imap subir, timo, hora de testar. Se voc encontrar o seguinte erro:
Starting Courier IMAP-SSL server:/etc/init.d/courier-imap-ssl:
xmalloc: ../bash/variables.c:3095: cannot allocate 1065 bytes (0 bytes allocated)
Bem, um erro novo, creio, o qual encontrei na verso Debian 64 bits. Como eu j tinha instalado em 32 bits,
resolvi reinstalar o sistema (que era uma verso bsica, somente para servidor), e usar 32 mesmo. Salvei os
arquivos de configurao e mandei bala. Nessa verso, funcionou tudo, e o imap subiu redondo.
Bem, uma vez que o courier-imap estiver ativo, vamos testar a autenticao do imap:
# telnet 0 143
Trying 0.0.0.0...
Connected to 0.
Escape character is '^]'.
* OK [CAPABILITY IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT
THREAD=REFERENCES SORT QUOTA AUTH=CRAM-MD5 AUTH=CRAM-SHA1 AUTH=CRAM-SHA256 IDLE ACL
ACL2=UNION STARTTLS] Courier-IMAP ready. Copyright 1998-2008 Double Precision, Inc. See COPYING for
distribution information.
0 login user@meudominio.com.br teste
0 OK LOGIN Ok.
0 logout
* BYE Courier-IMAP server shutting down
0 OK LOGOUT completed
Nesse caso o login foi bem sucedido. Vamos dar um exemplo de falha:
# telnet 0 143
Trying 0.0.0.0...
Connected to 0.
Escape character is '^]'.
* OK [CAPABILITY IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT
THREAD=REFERENCES SORT QUOTA AUTH=CRAM-MD5 AUTH=CRAM-SHA1 AUTH=CRAM-SHA256 IDLE ACL
ACL2=UNION STARTTLS] Courier-IMAP ready. Copyright 1998-2008 Double Precision, Inc. See COPYING for
distribution information.
0 login user
0 NO Error in IMAP command received by server. <- Falha
0 logout
* BYE Courier-IMAP server shutting down
0 OK LOGOUT completed
IMPORTANTE:
1) Digitar o '0' no incio das linhas para os comandos telnet para o imap (143).
2) Colocar no campo 'username' da tabela 'mailbox' do banco de dados 'mail' o nome completo, com @ e nome de
domnio, como na tabela do postgre, a menos que voc saiba configurar diferente.
3) Em caso de falhas de autenticao (penei muito com isso, at entender o esquema), use os arquivos de log
(/var/log/syslog) como geradores de pistas. Habilite o modo debug (DEBUG_LOGIN=2 no arquivo
'/etc/courier/authdaemonrc'). Pode usar tambm os arquivos '/var/log/mail.err', '/var/log/auth.log'.
Agora vamos testar a autenticao pop:
# telnet meudominio.com.br 110
Trying 45.246.678.123...
Connected to urano.
Escape character is '^]'.
+OK Hello there.
user user@meudominio.com.br
+OK Password required.
pass teste
+OK logged in.
quit
+OK Bye-bye.
Connection closed by foreign host.
Novamente, se houverem erros, d uma olhada nos logs.
Faa vrios testes, envie e-mails do seu servidor para fora (yahoo, gmail) e vice-versa e verifique se os e-mails
esto sendo gravados nos respectivos maildirs. Utilize um 'ls -laR maildir' para checar se est tudo certo. Isso
importante porque o contedo desses diretrios utilizado pelo imap para permitir ao roudcube gerenciar as
mensagens. No final, no se esquea de definir:
DEBUG_LOGIN=0
em /etc/courier/authdaemonrc. importante o sistema de e-mail estar funcionando integralmente nessa fase, para
uma instalao rpida e fcil do roundcube.
Instalao e configurao do Roundcue
O Roundcube , sem sombra de dvida, um dos melhores sistemas de webmail que temos disponvel atualmente
no mundo open source, da a sua escolha para uso em produo. Ele pode ser baixado em:
http://roundcube.net/download
Aps o download, descompacte-o no diretrio de pginas web de sua preferncia no seu servidor (geralmente,
contido em /var/www), entre nele e descompacte o Roudcube (cd <seudir>, tar -xzvf roundcubemail-0.4.tar.gz).
O roundcube usa php, ento o apache tem que estar com o php instalado e o mdulo de acesso ao postgre
tambm. Se no estiver, instale (libapache2-mod-php5 e php5-pgsql).
Se, por exemplo, <dir> = webmail no seu diretrio raiz, ento v, pelo browser, em
meudominio.com.br/webmail/installer.
A partir deste ponto, encaramos uma tranquila e agradvel interface grfica. Pressione next, e os passos vo
aparecendo. Inicia-se pela verificao do estado do sistema e pacotes que voc tem ou no instalados. Por um
momento, voc pode querer instalar os pacotes indicados como faltantes. Se for assim, interrompa a instalao, v
na console, instale o que quiser (se quiser), e pressione reload para atualizar. Existem alguns arquivos no diretrio
em que o roundcube descompactado (INSTALL, README) que podem ser muito teis, principalmente o INSTALL,
e sua leitura fortemente recomendada. Finalizada essa etapa, pressione next.
Novamente, uma tela com todas as informaes. Preencha e a partir dela ser gerado um arquivo de configurao.
Copie para o diretrio config, dentro do diretrio do roundcube. Embora muita coisa seja gerada automaticamente,
possvel que ocorram erros nessa criao do arquivo de configurao. Por isso, recomendado verificar
manualmente o arquivo, antes de copi-lo para o diretrio de configurao do Roundcube (cuja localizao precisa
e instrues so descritos no INSTALL da verso que voc baixou). Na verso que baixei, por exemplo, embora eu
marcasse, na interface, que o banco de dados a ser utilizado seria o postgres, o arquivo foi gerado como sendo
para mysql. Ento, fique atento a essas questes, e verifique o arquivo final manualmente.
Ok, agora temos que fazer o setup inicial do BD. necessrio criar um usurio 'roudcube' para acesso ao banco de
dados. Para o postgre, no diretrio base do rouncube (webmail, no caso), fazemos:
# createuser roundcube
# createdb -O roundcube -E UNICODE roundcubemail
# psql roundcubemail
roundcubemail =# ALTER USER roundcube WITH PASSWORD 'the_new_password';
roundcubemail =# \c - roundcube
roundcubemail => \i SQL/postgres.initial.sql
Abra uma nova aba (no firefox), com o endereo base do roundcube (seudomnio/webmail) e efetue os testes de
login.
Notas:
1) Existem vrios outros mtodos de autenticao, alguns por banco de dados, como o userdb, no abordado aqui,
por no ser estritamente necessrio ao processo.
2) Podem ocorrer erros na autenticao. Verifique no diretrio de logs do Roundcube. Comigo ocorreu o seguinte
erro:
Mensagem no log do sistema (/var/log/syslog): -ERR chdir <diretorio de mail> failed
Causa: falha no acesso ao diretrio de email.
Soluo: Verifique:
1) permisses (todos os diretrios devem pertencer ao usurio postfix e ao grupo postfix);
2) O diretrio existe?
Concluso
Essa uma configurao 'bsica' de um servidor de e-mails com um webmail para permitir envio e recebimento
usando nomes personalizados com o domnio da empresa. Esta uma soluo razovel para o incio de
implantao de um sistema dessa categoria. Uma vez estvel, possvel adicionar funcionalidades, como melhorar
a segurana, filtrar spams, antivirus, e outras mais, a fim de tornar essa soluo adequada aos objetivos
pretendidos.
Nesse sentido, possvel iniciar a implantao por meio deste artigo e efetuar as melhorias com base nas vrias
referncias disponveis na internet, muitas das quais citadas nas referncias. O importante que, uma vez que o
servidor esteja funcionando, supre-se a necessidade imediata, e as melhorias podem ser realizadas com mais
tranquilidade.
Um forte abrao a todos, e boa sorte.

Você também pode gostar