Servidor Perfeito · 6 min read · Nov 03, 2025

O Servidor Perfeito - Ubuntu 13.04 (Apache2, BIND, Dovecot, ISPConfig 3) - Página 4

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

Podemos instalar 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 senha de root sql
Repita a senha para o usuário “root” do MySQL: <– sua senha de root sql
Tipo geral de configuração de e-mail: <– Site da Internet
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:

/etc/init.d/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:

/etc/init.d/mysql restart

Agora verifique se a rede está habilitada. Execute

netstat -tap | grep mysql

A saída deve ser semelhante a 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 do SpamAssassin internamente, então podemos parar o SpamAssassin para liberar um pouco de RAM:

/etc/init.d/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.2-common apache2-doc apache2-mpm-prefork apache2-utils libexpat1 ssl-cert 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-ruby 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

Você verá a seguinte pergunta:

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

Em seguida, 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
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 # AddType application/x-httpd-suphp .php .php3 .php4 .php5 .phtml suPHP_AddHandler application/x-httpd-suphp 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:

/etc/init.d/apache2 restart

Se você quiser hospedar arquivos Ruby com a extensão .rb em seus sites criados através do ISPConfig, 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 sem problemas.)

Reinicie o Apache em seguida:

/etc/init.d/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 recomendável 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:

/etc/init.d/apache2 restart

14.2 PHP-FPM

A partir do ISPConfig 3.0.5, há um modo PHP adicional que você pode selecionar para uso com o Apache: PHP-FPM.

Para usar 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  
 /etc/init.d/apache2 restart

14.3 Versões Adicionais do PHP

A partir do 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 saber 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 13.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 serem suportados: <– en (Inglês)
Lista de sites ausentes <– Ok

Antes que possamos 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 finalizar a criação da 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

a seguir e reinicie o Postfix:

/etc/init.d/postfix restart

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

ln -s /etc/mailman/apache.conf /etc/apache2/conf.d/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 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:

/etc/init.d/apache2 restart

Em seguida, inicie o daemon do Mailman:

/etc/init.d/mailman start
Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.