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: 73.826 ]

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

Sistema de arquivos distribuídos usando Gmail

Instalação e configuração do Gkrellm

Slackware com kernel 2.6.10 - passo a passo

OpenBSD IDS - Solução Snort e BASE

Instalando o Apache + PHP + MySQL no Slackware

Leitura recomendada

Postfix + AntiSpam (Postgrey)

Qmail - Servidor de email em 20 minutos

Cluster de Alta disponibilidade do Zimbra Collaboration System

Benchmark entre servidores de e-mails

Configurando várias contas de e-mail no Thunderbird

  
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