A Aldeia Numaboa ancestral ainda está disponível para visitação. É a versão mais antiga da Aldeia que eu não quis simplesmente descartar depois de mais de 10 milhões de pageviews. Como diz a Sirley, nossa cozinheira e filósofa de plantão: "Misericórdia, ai que dó!"

Se você tiver curiosidade, o endereço é numaboa.net.br.

Leia mais...

Informática Numaboa - Linux

Debian + Postfix + PostfixAdmin + SquirrelMail

Sab

16

Mai

2009


01:19

(19 votos, média 4.53 de 5) 


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

Informações adicionais