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
Instalando o SquirrelMail
Vamos instalar o SquirrelMail e mais algumas coisinhas:
apt-get install squirrelmail squirrelmail-locales maildrop
apt-get install sudo php-pear php5-mysql php5-gd php5-cli php5-common php5-mcrypt
apt-get install php-db php-net-socket php-log php-net-smtp php5-imap
Instalar e Configurar o PostfixAdmin e a Entrega
Adicione nosso usuário virtual e grupo:
groupadd vmail -g 6060 useradd vmail -u 6060 -g 6060
Crie o diretório onde nossas mensagens devem ser armazenadas:
mkdir /var/vmail chown -R vmail:vmail /var/vmail chmod -R 700 /var/vmail
Instale o PostfixAdmin 2.2.1.1 e guarde este pacote em lugar seguro por que você precisa usar esta versão e não deve fazer upgrade nela. Vamos instalar alguns patches neste software e, se você atualizar este pacote, você terá que refazer os patches (e os patches disponibilizados podem não funcionar!):
cd /usr/local/src wget http://superb-east.dl.sourceforge.net/sourceforge/postfixadmin/postfixadmin_2.2.1.1_all.deb
Se o download falhar, veja http://sourceforge.net/project/showfiles.php?group_id=191583&package_id=225300 ou tente:
wget http://softlayer.dl.sourceforge.net/sourceforge/postfixadmin/postfixadmin_2.2.1.1_all.deb
dpkg -i postfixadmin_2.2.1.1_all.deb
echo "postfixadmin hold" | dpkg --set-selections
Precisamos criar a base de dados inicial 'postfix' no MySQL. Primeiro logue no MySQL usando a senha do root senha_do_root:
mysql -p
Depois crie a base de dados e um usuário:
CREATE DATABASE postfix; CREATE USER 'postfix'@'localhost' IDENTIFIED BY 'pfix_senha'; GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, INDEX, ALTER, DROP ON `postfix`.* TO 'postfix'@'localhost'; FLUSH PRIVILEGES; QUIT
cd /usr/share/postfixadmin cp config.inc.php config.inc.php.original sed -i "s/configured'] = false/configured'] = true/" config.inc.php sed -i "s|admin_url'] = ''|admin_url'] = 'https://nome_do_host.exemplo.com/postFixadmiNx'|" config.inc.php sed -i "s|admin_path'] = ''|admin_path'] = '/usr/share/postfixadmin'|" config.inc.php sed -i "s/database_type'] = 'mysql'/database_type'] = 'mysqli'/" config.inc.php sed -i "s/password'] = 'postfixadmin'/password'] = 'pfix_senha'/" config.inc.php sed -i 's/postmaster@change-this-to-your.domain.tld/postmaster@exemplo.com/' config.inc.php sed -i 's/abuse@change-this-to-your.domain.tld/abuse@exemplo.com/' config.inc.php sed -i 's/hostmaster@change-this-to-your.domain.tld/hostmaster@exemplo.com/' config.inc.php sed -i 's/postmaster@change-this-to-your.domain.tld/postmaster@exemplo.com/' config.inc.php sed -i 's/webmaster@change-this-to-your.domain.tld/webmaster@exemplo.com/' config.inc.php sed -i 's/autoreply.change-this-to-your.domain.tld/autoreply.exemplo.com/' config.inc.php sed -i 's|to change-this-to-your.domain.tld|to https://nome_do_host.exemplo.com/postFixadmiNx|' config.inc.php sed -i 's|http://change-this-to-your.domain.tld|https://nome_do_host.exemplo.com/postFixadmiNx|' config.inc.php sed -i "s/domain_path'] = 'NO/domain_path'] = 'YES/" config.inc.php sed -i "s/domain_in_mailbox'] = 'YES/domain_in_mailbox'] = 'NO/" config.inc.php sed -i "s/mailboxes'] = '10'/mailboxes'] = '300'/" config.inc.php sed -i "s/aliases'] = '10'/aliases'] = '300'/" config.inc.php sed -i "s/maxquota'] = '10'/maxquota'] = '500'/" config.inc.php sed -i "s/quota'] = 'NO/quota'] = 'YES/" config.inc.php sed -i 's/EHLO/HELO/' functions.inc.php
Seria interessante você dar um vi config.inc.php para dar uma olhada, se familiarizar com todas as possibilidades de configuração e confirmar que seu nome de domínio foi atualizado corretamente. Agora crie uma senha .htaccess para a URL admin url (o nome do usuário será pfadmin_nome_usuário). Determine a senha pfadmin_senha:
cd /usr/share/postfixadmin htpasswd -c .htpasswd pfadmin_nome_usuário
Agora informe o apache2 para usar o arquivo. Também vamos limitar o acesso do login admin à nossa estação local, mas você pode adicionar mais endereços IP (ou redes) se for necessário. Se você quiser adicionar uma rede classe C, por exemplo, faça-o usando a forma 192.168.0 e uma rede classe B seria na forma 172.16. O acesso de administradores a https://nome_do_host.exemplo.com/postFixadmiNx/login.php é controlado através do(s) endereço(s) IP dos clientes e através do nome de usuário e senha do .htaccess.
vi /etc/apache2/conf.d/postfixadmin.conf
e insira esta frase. Não esqueça de editar o endereço IP (se ainda não o fez) e lembre-se de que os comentários precisam ser justificados à esquerda:
Alias /postfixadmin /usr/share/postfixadmin <Directory /usr/share/postfixadmin/> <Files ~ "login.php"> Order Deny,Allow Deny from All Allow from 666.666.666.666 AuthUserFile /usr/share/postfixadmin/.htpasswd AuthGroupFile /dev/null AuthName "Postfix Admin" AuthType Basic Require valid-user </Files> </Directory> <Directory /usr/share/postfixadmin/users/> <Files ~ "login.php"> Order Allow,Deny Allow from All Satisfy Any </Files> </Directory>
Assim como no phpMyAdmin, vamos obscurecer a URL do postfixadmin:
sed -i s'|Alias /postfixadmin|Alias /postFixadmiNx|' /etc/apache2/conf.d/postfixadmin.conf
Reinicie o apache2:
/etc/init.d/apache2 restart