Servidor Perfeito · 6 min read · Dec 31, 2025

O Servidor Perfeito - Ubuntu 14.04 (Apache2, PHP, MySQL, PureFTPD, BIND, Dovecot, ISPConfig 3) - Página 4

12. Instalar Postfix, Dovecot, MySQL, phpMyAdmin, rkhunter, binutils

Para instalar o postfix, precisamos parar e remover o sendmail

service sendmail stop; update-rc.d -f sendmail remove

Agora podemos instalar o Postfix, Dovecot, MySQL, rkhunter e binutils com um único comando:

apt-get install postfix postfix-mysql postfix-doc mysql-client mysql-server openssl getmail4 rkhunter binutils dovecot-imapd dovecot-pop3d dovecot-mysql dovecot-sieve sudo

Você será solicitado a responder às seguintes perguntas:

Nova senha para o usuário “root” do MySQL: <– sua senhadobanco Repetir senha para o usuário “root” do MySQL: <– sua senhadobanco Tipo geral de configuração de e-mail: <– Internet Site Nome do sistema de e-mail: <– server1.example.com

Em seguida, abra as portas TLS/SSL e de envio no Postfix:

vi /etc/postfix/master.cf

Descomente as seções de envio e smtps da seguinte forma - adicione a linha -o smtpd_client_restrictions=permit_sasl_authenticated,reject a ambas as seções e deixe tudo o mais comentado:

| [...] submission inet n - - - - smtpd -o syslog_name=postfix/submission -o smtpd_tls_security_level=encrypt -o smtpd_sasl_auth_enable=yes -o smtpd_client_restrictions=permit_sasl_authenticated,reject # -o smtpd_reject_unlisted_recipient=no # -o smtpd_client_restrictions=$mua_client_restrictions # -o smtpd_helo_restrictions=$mua_helo_restrictions # -o smtpd_sender_restrictions=$mua_sender_restrictions # -o smtpd_recipient_restrictions=permit_sasl_authenticated,reject # -o milter_macro_daemon_name=ORIGINATING smtps inet n - - - - smtpd -o syslog_name=postfix/smtps -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes -o smtpd_client_restrictions=permit_sasl_authenticated,reject # -o smtpd_reject_unlisted_recipient=no # -o smtpd_client_restrictions=$mua_client_restrictions # -o smtpd_helo_restrictions=$mua_helo_restrictions # -o smtpd_sender_restrictions=$mua_sender_restrictions # -o smtpd_recipient_restrictions=permit_sasl_authenticated,reject # -o milter_macro_daemon_name=ORIGINATING [...] |

Reinicie o Postfix em seguida:

service postfix restart

Queremos que o MySQL escute em todas as interfaces, não apenas no localhost, portanto, editamos /etc/mysql/my.cnf e comentamos a linha bind-address = 127.0.0.1:

vi /etc/mysql/my.cnf

| [...] # Em vez de skip-networking, o padrão agora é escutar apenas em # localhost, o que é mais compatível e não é menos seguro. #bind-address = 127.0.0.1 [...] |

Então reiniciamos o MySQL:

service mysql restart

Agora verifique se a rede está habilitada. Execute

netstat -tap | grep mysql

A saída deve ser parecida com isto:

root@server1:~# netstat -tap | grep mysql   
tcp        0      0 *:mysql                 *:*                     LISTEN      21298/mysqld   
root@server1:~#

13. Instalar Amavisd-new, SpamAssassin e Clamav

Para instalar amavisd-new, SpamAssassin e ClamAV, executamos

apt-get install amavisd-new spamassassin clamav clamav-daemon zoo unzip bzip2 arj nomarch lzop cabextract apt-listchanges libnet-ldap-perl libauthen-sasl-perl clamav-docs daemon libio-string-perl libio-socket-ssl-perl libnet-ident-perl zip libnet-dns-perl

A configuração do ISPConfig 3 usa amavisd que carrega a biblioteca de filtro SpamAssassin internamente, então podemos parar o SpamAssassin para liberar um pouco de RAM:

service spamassassin stop  
update-rc.d -f spamassassin remove

14. Instalar Apache2, PHP5, phpMyAdmin, FCGI, suExec, Pear e mcrypt

Apache2, PHP5, phpMyAdmin, FCGI, suExec, Pear e mcrypt podem ser instalados da seguinte forma:

apt-get install apache2 apache2-doc apache2-utils libapache2-mod-php5 php5 php5-common php5-gd php5-mysql php5-imap phpmyadmin php5-cli php5-cgi libapache2-mod-fcgid apache2-suexec php-pear php-auth php5-mcrypt mcrypt php5-imagick imagemagick libapache2-mod-suphp libruby libapache2-mod-python php5-curl php5-intl php5-memcache php5-memcached php5-ming php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl memcached snmp

O módulo mcrypt do PHP5 deve ser habilitado manualmente:

php5enmod mcrypt

Você verá a seguinte pergunta:

Servidor web para reconfigurar automaticamente: <– apache2
Configurar banco de dados para phpmyadmin com dbconfig-common? <– Não

Então execute o seguinte comando para habilitar os módulos do Apache suexec, rewrite, ssl, actions e include (mais dav, dav_fs e auth_digest se você quiser usar WebDAV):

a2enmod suexec rewrite ssl actions include cgi
a2enmod dav_fs dav auth_digest

Em seguida, abra /etc/apache2/mods-available/suphp.conf…

vi /etc/apache2/mods-available/suphp.conf

… e comente a seção e adicione a linha AddType application/x-httpd-suphp .php .php3 .php4 .php5 .phtml - caso contrário, todos os arquivos PHP serão executados pelo SuPHP:

| # # SetHandler application/x-httpd-suphp # suPHP_AddHandler application/x-httpd-suphp AddType application/x-httpd-suphp .php .php3 .php4 .php5 .phtml suPHP_Engine on # Por padrão, desabilitar suPHP para aplicações web empacotadas do debian, pois os arquivos # são de propriedade do root e não podem ser executados pelo suPHP devido ao min_uid. suPHP_Engine off # # Use um arquivo de configuração php específico (um diretório que contém um arquivo php.ini) # suPHP_ConfigPath /etc/php5/cgi/suphp/ # # Informa ao mod_suphp NÃO tratar solicitações com o tipo . # suPHP_RemoveHandler |

Reinicie o Apache em seguida:

service apache2 restart

Se você quiser hospedar arquivos Ruby com a extensão .rb em seus sites criados através do ISPConfig, você deve comentar a linha application/x-ruby rb em /etc/mime.types:

vi /etc/mime.types

| [...] #application/x-ruby rb [...] |

(Isso é necessário apenas para arquivos .rb; arquivos Ruby com a extensão .rbx funcionam perfeitamente.)

Reinicie o Apache em seguida:

service apache2 restart

14.1 Xcache

Xcache é um cache de opcode PHP gratuito e aberto para armazenar em cache e otimizar o código intermediário PHP. É semelhante a outros caches de opcode PHP, como eAccelerator e APC. É altamente recomendado ter um desses instalados para acelerar sua página PHP.

Xcache pode ser instalado da seguinte forma:

apt-get install php5-xcache

Agora reinicie o Apache:

service apache2 restart

14.2 PHP-FPM

Começando com o ISPConfig 3.0.5, há um modo PHP adicional que você pode selecionar para uso com o Apache: PHP-FPM.

Para usar o PHP-FPM com o Apache, precisamos do módulo mod_fastcgi do Apache (por favor, não confunda isso com mod_fcgid - eles são muito semelhantes, mas você não pode usar PHP-FPM com mod_fcgid). Podemos instalar PHP-FPM e mod_fastcgi da seguinte forma:

apt-get install libapache2-mod-fastcgi php5-fpm

Certifique-se de habilitar o módulo e reiniciar o Apache:

a2enmod actions fastcgi alias   
service apache2 restart

14.2 Versões Adicionais do PHP

Começando com o ISPConfig 3.0.5, é possível ter várias versões do PHP em um servidor (selecionáveis através do ISPConfig) que podem ser executadas através do FastCGI e PHP-FPM. Para aprender como construir versões adicionais do PHP (PHP-FPM e FastCGI) e como configurar o ISPConfig, consulte este tutorial: Como Usar Múltiplas Versões do PHP (PHP-FPM & FastCGI) Com ISPConfig 3 (Ubuntu 12.10) (funciona para Ubuntu 14.04 também).

15. Instalar Mailman

Desde a versão 3.0.4, o ISPConfig também permite que você gerencie (crie/modifique/exclua) listas de discussão do Mailman. Se você quiser usar esse recurso, instale o Mailman da seguinte forma:

apt-get install mailman

Selecione pelo menos um idioma, por exemplo:

Idiomas a suportar: <– pt (Português)
Lista de sites ausentes <– Ok

Antes de podermos iniciar o Mailman, uma primeira lista de discussão chamada mailman deve ser criada:

newlist mailman

root@server1:~# newlist mailman
Digite o e-mail da pessoa que está gerenciando a lista: <– endereço de e-mail do administrador, por exemplo, [email protected]
Senha inicial do mailman: <– senha do administrador para a lista do mailman
Para terminar de criar sua lista de discussão, você deve editar seu arquivo /etc/aliases (ou equivalente) adicionando as seguintes linhas, e possivelmente executando o programa newaliases:

lista de discussão mailman

mailman:              ”|/var/lib/mailman/mail/mailman post mailman”
mailman-admin:        ”|/var/lib/mailman/mail/mailman admin mailman”
mailman-bounces:      ”|/var/lib/mailman/mail/mailman bounces mailman”
mailman-confirm:      ”|/var/lib/mailman/mail/mailman confirm mailman”
mailman-join:         ”|/var/lib/mailman/mail/mailman join mailman”
mailman-leave:        ”|/var/lib/mailman/mail/mailman leave mailman”
mailman-owner:        ”|/var/lib/mailman/mail/mailman owner mailman”
mailman-request:      ”|/var/lib/mailman/mail/mailman request mailman”
mailman-subscribe:    ”|/var/lib/mailman/mail/mailman subscribe mailman”
mailman-unsubscribe:  ”|/var/lib/mailman/mail/mailman unsubscribe mailman”

Pressione enter para notificar o proprietário do mailman… <– ENTER

root@server1:~#

Abra /etc/aliases em seguida…

vi /etc/aliases

… e adicione as seguintes linhas:

| [...] ## lista de discussão mailman mailman: "|/var/lib/mailman/mail/mailman post mailman" mailman-admin: "|/var/lib/mailman/mail/mailman admin mailman" mailman-bounces: "|/var/lib/mailman/mail/mailman bounces mailman" mailman-confirm: "|/var/lib/mailman/mail/mailman confirm mailman" mailman-join: "|/var/lib/mailman/mail/mailman join mailman" mailman-leave: "|/var/lib/mailman/mail/mailman leave mailman" mailman-owner: "|/var/lib/mailman/mail/mailman owner mailman" mailman-request: "|/var/lib/mailman/mail/mailman request mailman" mailman-subscribe: "|/var/lib/mailman/mail/mailman subscribe mailman" mailman-unsubscribe: "|/var/lib/mailman/mail/mailman unsubscribe mailman" |

Execute

newaliases

depois e reinicie o Postfix:

service postfix restart

Finalmente, devemos habilitar a configuração do Apache do Mailman:

ln -s /etc/mailman/apache.conf /etc/apache2/conf-available/mailman.conf

Isso define o alias /cgi-bin/mailman/ para todos os vhosts do Apache, o que significa que você pode acessar a interface de administração do Mailman para uma lista em http:///cgi-bin/mailman/admin/, e a página da web para os usuários de uma lista de discussão pode ser encontrada em http:///cgi-bin/mailman/listinfo/.

Em http:///pipermail você pode encontrar os arquivos da lista de discussão.

Reinicie o Apache em seguida:

service apache2 restart

Então inicie o daemon do Mailman:

service mailman start
Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.