Informática Numaboa - Linux
Debian + Postfix + PostfixAdmin + SquirrelMail
Sab 16 Mai 2009 01:19 |
- Detalhes
- Categoria: Como fazer instalações
- Atualização: Quinta, 28 Janeiro 2010 21:08
- Autor: vovó Vicki
- Acessos: 59434
- Debian + Postfix + PostfixAdmin + SquirrelMail
- A lista de fontes
- Iptables e logcheck
- MySQL, Postfix e Dovecot
- Certificados SSL (Autoridade)
- Certificados SSL (Requisições)
- phpMyAdmin
- SquirrelMail e PostfixAdmin
- SquirrelMail e PostfixAdmin II
- SquirrelMail e PostfixAdmin III
- Configurar SASL e TLS
- Amavis e SpamAssassin
- Amavis, SpamAssassin, ClamAV, Razor, Pyzor
- Amavis
- Amavis II
- Tabelas Bayes e AWL
- Personalizar o SquirrelMail
- Razor, pflogsumm e BIND
- Configurações Postfix adicionais
- Férias no PostfixAdmin
- Quotas, MailGraph e mysql-zrm
- O problema dos Aliases
- Todas as Páginas
Adicionando a home page
Faça o download da home page. Esta página descreve as características do sistema de email para novos usuários. Estes serviços ainda não estão instalados, mas podemos publicar esta página. Assim que estiver disponível, edite-a (você pode usar o WinSCP para fazer isto) para que atenda seus objetivos:
cd /var/www wget wget -U NoSuchBrowser/1.0 http://www.numaboa.com/debian/virtual.index.html cp index.html index.html-apache-original cp virtual.index.html index.html sed -i 's/Our Organization/Minha Empresa Ltda/' index.html sed -i 's/somehost.domain.tld/nome_do_host.exemplo.com/' index.html sed -i 's/domain.tld/exemplo.com/' index.html chown root:www-data index.html
Instalar e Configurar o phpMyAdmin
apt-get install phpmyadmin
Escolha apache2 no prompt "Web server to reconfigure automatically:". Lembre-se, barra de espaço para selecionar e tecla Tab para se movimentar.
Neste ponto nosso programa https://nome_do_host.exemplo.com/phpmyadmin está sujeito a abusos. Vamos conferir segurança a ele obscurecendo sua URL, definindo um nome de usuário e senha e, opcionalmente (mas altamente recomendado), permitindo que apenas determinados endereços IP possam acessar a URL. Obscureça a URL mudando seu nome:
sed -i 's/Alias \/phpmyadmin /Alias \/phpmyadmiNx /' /etc/apache2/conf.d/phpmyadmin.conf
Com as configurações atuais do /etc/apache2/apache2.conf, os arquivos que controlam acessos (arquivos como o .htpasswd) não serão usados, a menos que informemos ao apache2 para que os use. Vamos modificar o arquivo de controle de acesso original e depois alterar o /etc/apache2/conf.d/phpmyadmin.conf para que o utilize. O nome de usuário atual é 'admin'. Vamos começar obscurecendo o nome do usuário:
sed -i 's/admin/myadmin_nome_usuário/' /etc/phpmyadmin/htpasswd.setup
Depois, crie uma senha para este usuário:
htpasswd -c /etc/phpmyadmin/htpasswd.setup myadmin_nome_usuário New password: myadmin_senha Re-type new password: myadmin_senha
Agora vamos fazer com que o apache2 use este arquivo de acesso colocando diretivas em /etc/apache2/conf.d/phpmyadmin.conf. Quando isto estiver feito, as chamadas para o diretório /phpmyadmiNx vão receber uma caixa de diálogo de login. Note que nossa versão de /etc/apache2/apache2.conf contém o comando "Include /etc/apache2/conf.d" de modo que quaisquer arquivos config colocados neste diretório serão lidos. Também vou mostrar como limitar o acesso a uma única estação de trabalho (a sua, naturalmente). Isto é opcional, mas recomendado. Se você precisar dar permissão para uma rede de máquinas, use um endereço IP parcial (por exemplo 192.168), veja http://httpd.apache.org/docs/2.2/howto/access.html. Abra o editor com
vi /etc/apache2/conf.d/phpmyadmin.conf
e insira o seguinte na posição mostrada, certificando-se de que o endereço IP seja o endereço IP da sua estação de trabalho (como o servidor de email a vê). Se preferir, você pode colocar um ou mais dos últimos octetos do endereço IP para permitir que uma gama maior de hosts possa acessar o prompt de login do phpMyAdmin. Mesmo assim, eles vão precisar passar pelas duas camadas de segurança.
<Directory /usr/share/phpmyadmin/> order deny,allow deny from all allow from 666.666.666.666 AuthUserFile /etc/phpmyadmin/htpasswd.setup AuthGroupFile /dev/null AuthName "phpMyAdmin" AuthType Basic Require valid-user
Salve o arquivo, depois reinicie o apache2
/etc/init.d/apache2 restart
e chame o phpMyAdmin no browser:
https://nome_do_host.exemplo.com/phpmyadmiNx
O primeiro login é o nome de usuário e a senha do phpMyAdmin: myadmin_nome_usuário myadmin_senha. O segundo login é seu login do mysql (neste ponto é root e senha_do_root). Você pode fechar a página web do phpMyAdmin.
Algumas configurações preliminares do Postfix
Vamos determinar explicitamente nosso nome de domínio e nome do host no Postfix para que não haja possibilidade do Postfix encontrar alguma coisa diferente. Também vamos remover uma linha por que queremos habilitar ou desabilitar o TLS em master.cf:
postconf -e "mydomain = exemplo.com" postconf -e "myorigin = exemplo.com" postconf -e "myhostname = nome_do_host.exemplo.com" postconf -e "mydestination = exemplo.com, nome_do_host.exemplo.com, localhost.exemplo.com, localhost" sed -i 's/smtpd_use_tls=yes//' /etc/postfix/main.cf postfix reload
Neste ponto, se você der o comando
postconf -n
o Postfix deveria mostrar que o main.cf está configurado da seguinte forma:
alias_database = hash:/etc/aliases alias_maps = hash:/etc/aliases append_dot_mydomain = no biff = no config_directory = /etc/postfix inet_interfaces = all mailbox_command = procmail -a "$EXTENSION" mailbox_size_limit = 0 mydestination = exemplo.com, nome_do_host.exemplo.com, localhost.exemplo.com, localhost mydomain = exemplo.com myhostname = nome_do_host.exemplo.com mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 myorigin = exemplo.com readme_directory = no recipient_delimiter = + relayhost = smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU) smtpd_tls_CAfile = /etc/ssl/certs/cacert.exemplo.com.pem smtpd_tls_cert_file = /etc/ssl/certs/dovecot.pem smtpd_tls_key_file = /etc/ssl/private/dovecot.pem smtpd_tls_received_header = yes smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
Por favor, note que 'postconf -n' não mostra necessariamente todas as configurações que temos no main.cf. O Postfix deve aceitar emails para os endereços listados em /etc/aliases e entregá-los numa caixa de correio em /var/mail. Você deve testar isto. Configure um MUA para usar este servidor de emails como seu servidor de saída SMTP.
Para fazer os testes eu uso vários MUAs diferentes (Outlook, Outlook Express, Thunderbird, The Bat!) instalados e configurados na estação de trabalho local de onde envio os emails. Não envie emails a partir da linha de comando (usando sendmail ou outros meios) quando testar este sistema. Em todos os testes que serão realizados, espero que você envie mensagens de teste através de um cliente externo (a não ser que estejamos testando algo como o SquirrelMail). Envie agora uma mensagem para postmaster@exemplo.com. Veja o que /var/log/mail.log diz sobre a transação (procure por erros). Ele também deve mostrar o usuário para o qual a mensagem foi enviada:
tail -50 /var/log/mail.log
ls -l /var/mail
No diretório /var/mail você deve ver a caixa de correio do usuário para o qual a mensagem foi enviada. Você pode dar o comando ' more /var/mail/user ' para ler o conteúdo da caixa de correio.
Pegue o código fonte do Postfix (vamos precisar de alguns deles):
cd /usr/local/src wget http://ftp.debian.org/debian/pool/main/p/postfix/postfix_2.5.5.orig.tar.gz tar xzf postfix_2.5.5.orig.tar.gz
Dê o primeiro comando isoladamente:
cp -i /usr/local/src/postfix-2.5.5/conf/* /etc/postfix
cp -i /etc/postfix/header_checks /etc/postfix/body_checks cp -i /etc/postfix/access /etc/postfix/sender_access cp -i /etc/postfix/access /etc/postfix/rbl_client_exceptions cp -i /etc/postfix/access /etc/postfix/rbl_sender_exceptions cp -i /etc/postfix/access /etc/postfix/rbl_recipient_exceptions
cp /usr/local/src/postfix-2.5.5/examples/chroot-setup/LINUX2 /usr/sbin chmod +x /usr/sbin/LINUX2 LINUX2
No Debian, o Postfix roda num chroot. O script LINUX2 é usado para copiar os arquivos para a jaula chroot.