Servidor de e-mail com OpenBSD - Postfix & Cia

cvs

Nesse breve HOWTO vamos discorrer a respeito da instalação de um servidor de e-mail usando a plataforma OpenBSD com Postfix, MySQL e mais algumas coisas legais de se mexer.

[ Hits: 74.669 ]

Por: Thiago Alves em 28/01/2009 | Blog: http://www.seeufosseopresidente.com.br


Webmail (Squirrel ou RoundCube)



Agora vamos fazer a instalação do webmail.

Para isso vamos precisar do Apache com suporte a PHP. Então vamos lá.

Primeiro instalando o php e o que mais o Squirrel vai precisar:

# cd /usr/ports/www/php5
# make install clean


E espere, porque isso vai demorar um pouco. Quando terminar, vamos instalar os "módulos" do php que o squirrel precisa. Entre no diretório /usr/ports/packages/i386/all, que é local onde ficam os .tgz gerados na compilação do ports. Agora mãos a obra:

# pkg_add php5-curl-5.2.6.tgz php5-extensions-5.2.6.tgz php5-fastcgi-5.2.6.tgz php5-gd-5.2.6.tgz php5-gmp-5.2.6.tgz php5-imap-5.2.6.tgz php5-mbstring-5.2.6.tgz php5-mcrypt-5.2.6.tgz php5-mhash-5.2.6.tgz php5-mysql-5.2.6.tgz php5-ncurses-5.2.6.tgz php5-pdo_mysql-5.2.6.tgz php5-xmlrpc-5.2.6.tgz php5-xsl-5.2.6.tgz

Agora vamos ativá-los:

# ln -fs /var/www/conf/php5.sample/curl.ini /var/www/conf/php5/curl.ini
# ln -fs /var/www/conf/php5.sample/gd.ini /var/www/conf/php5/gd.ini
# ln -fs /var/www/conf/php5.sample/gmp.ini /var/www/conf/php5/gmp.ini
# ln -fs /var/www/conf/php5.sample/imap.ini /var/www/conf/php5/imap.ini
# ln -fs /var/www/conf/php5.sample/mbstring.ini /var/www/conf/php5/mbstring.ini
# ln -fs /var/www/conf/php5.sample/mcrypt.ini /var/www/conf/php5/mcrypt.ini
# ln -fs /var/www/conf/php5.sample/mhash.ini /var/www/conf/php5/mhash.ini
# ln -fs /var/www/conf/php5.sample/mysql.ini /var/www/conf/php5/mysql.ini
# ln -fs /var/www/conf/php5.sample/ncurses.ini /var/www/conf/php5/ncurses.ini
# ln -fs /var/www/conf/php5.sample/pdo_mysql.ini /var/www/conf/php5/pdo_mysql.ini
# ln -fs /var/www/conf/php5.sample/xmlrpc.ini /var/www/conf/php5/xmlrpc.ini
# ln -fs /var/www/conf/php5.sample/xsl.ini /var/www/conf/php5/xsl.ini


Agora vamos colocar o suporte php no apache:

# ln -s /var/www/conf/modules.sample/php5.conf /var/www/conf/modules/

Ou se começar a dar problema, você pode apenas copiar esse arquivo php5.conf para o diretório /var/www/conf/modules/ e iniciar ou reiniciar o apache.

SquirrelMail

Agora acesse o site do Squirrel e baixe a versão atual: http://squirrelmail.org/download.php

# ftp http://ufpr.dl.sourceforge.net/sourceforge/squirrelmail/squirrelmail-1.4.17.tar.gz
# tar zxvf squirrelmail-1.4.17.tar.gz
# mv squirrelmail-1.4.17 /var/www/htdocs/webmail


Agora é preciso criar a arvore de diretórios para que o webmail funciona de forma adequada:

# mkdir -p /var/www/squirrelmail/data
# mkdir /var/www/squirrelmail/attachments
# mkdir /var/www/tmp
# chown www:www /var/www/squirrelmail/data
# chgrp www /var/www/squirrelmail/attachments
# chmod 730 /var/www/squirrelmail/attachments
# chown www:www /var/www/tmp
# chmod 700 /var/www/tmp


E pronto, para configurações adicionais use o script de configuração que vem no squirrel:

/var/www/htdocs/webmail/config/conf.pl

Essa parte é simples, então não vou entrar em detalhes.

RoundCube

A instalação pode ser feita via ports ou baixando o pacote do site, particularmente eu indico o pacote do site, simplesmente por ser mais atual e ter mais fixes que o do ports.

# ftp http://ufpr.dl.sourceforge.net/sourceforge/roundcubemail/roundcubemail-0.2-beta2.tar.gz
# tar zxvf roundcubemail-0.2-beta2.tar.gz
# mv roundcubemail-0.2-beta2 /var/www/htdocs/rcmail


Agora precisamos preparar uma base no mysql para o roundcube guardar suas configurações e tudo mais que necessita.

CREATE DATABASE roundcubemail;
GRANT ALL PRIVILEGES ON roundcubemail.* TO username@localhost IDENTIFIED BY 'password';
FLUSH PRIVILEGES;

Depois disso, acesse o site:

http://seu-site/rcmail/installer/

E daí basta seguir as instruções, tudo bem simples.

Página anterior     Próxima página

Páginas do artigo
   1. Introdução - O que é o que?
   2. Postfix
   3. MySQL
   4. Courier-IMAP
   5. Filtragem de conteúdo (Spamassassin + ClamAV + Amavisd-new)
   6. Webmail (Squirrel ou RoundCube)
   7. Postfixadmin
   8. Sugestão de script
   9. Conclusão
Outros artigos deste autor

Gcombust, um frontend para cdrecord

Criando uma ISO bootável do OpenBSD

Servidor de rede (PDC - Proxy Transparente - DNS)

ProFTPD + ClamAV - FTP livre de vírus

Compilando o Apache 2 com PHP e MySQL

Leitura recomendada

Configurando o Korn

Relay autenticado para Postfix no Debian

Fazendo backup no Gmail via cliente de e-mail e IMAP

Como acessar contas do Hotmail no seu cliente de e-mail Linux

Instalação e configuração do Spamassassin

  
Comentários
[1] Comentário enviado por jmucelli em 28/01/2009 - 17:25h

Show de bola o artigo... parabéns... e continue escrevendo sobre o Open... muito bom

[2] Comentário enviado por diogojp em 29/01/2009 - 13:19h

Show de bola o artigo, vc ja tentou aplicar essa solução em um SO Freebsd ?

[3] Comentário enviado por cvs em 29/01/2009 - 13:20h

Opa..
Valeu...
Mas não, ainda não tentei...
Mas acredito que não havera muitas coisas diferentes pra fazer no freebsd.

[4] Comentário enviado por pogo em 30/01/2009 - 11:09h

CVS,

Muito bom o texto. Com certeza precisamos de mais artigos desta qualidade e voltados para sistemas BSD's. Parabéns!

[]'s

Pogo.

[5] Comentário enviado por mathcuei em 31/01/2009 - 18:49h

Caro Thiago!

Primeiramente, agradeço a grande contribuição a toda comunidade!

Estou tentando configurar o servidor como descrito, porém estou com dificuldades de instalação do postfix + mysql. O problema é relacionado alguma source nas configurações do proprio port. Qual é a versão do port que foi instalado? É por um acaso a da data 08/08/2008?

Estou usando a versão 4.4. Poderia ser isso?


Desde já agradecido!


Atenciosamente

[6] Comentário enviado por cvs em 02/02/2009 - 09:45h

Eu usei a versão padrão que fica em ftp://ftp.das.ufsc.br/pub/OpenBSD/4.4/ports.tar.gz e não tive que fazer nada alem do que descrevi para subir o postfix com suporte a mysql. A versão é a 4.4 mesmo que estou usando.

Qual erro que aparece? Cola ae pra gente ver.

[7] Comentário enviado por mathcuei em 03/02/2009 - 10:27h

Caro Thiago!

Acabei por descobrir qual era o erro apresentado. O problema na compilação estava acontecendo pelo uso do interpretador Bash. Efetuei a modificação para o interpretador padrão, continuando assim a compilação perfeitamente. Consegui subi o servidor, seguindo os passos descritos neste. Muito Obrigado pela atenção!


Atenciosamente


[8] Comentário enviado por TecBSD em 06/02/2009 - 12:08h

Para montar um script para popular:

GRANT SELECT ON mail.* to 'vmail'@'localhost' IDENTIFIED BY 'vmail';
use mail; (faltou acrescentar isso)
INSERT INTO domains (domain) VALUES ('exemplo.com.br');

INSERT INTO users (login, name, password, maildir)
VALUES ('thiago@exemplo.com.br', 'Thiago Alves', ENCRYPT('thiagogostosao'), 'exemplo.com.br/thiago/');

INSERT INTO alias_maps (account, alias)
VALUES ('postmaster@exemplo.com.br', 'postmaster@localhost.exemplo.com.br');

INSERT INTO alias_maps (account, alias)
VALUES ('root@exemplo.com.br', 'root@localhost.exemplo.com.br');

[9] Comentário enviado por pardalz em 21/01/2010 - 11:31h

amigão... pode me ajudar?


[11] Comentário enviado por pardalz em 21/01/2010 - 17:11h

respondi la..


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts