Servidor Perfeito · 14 min read · Dec 30, 2025

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

21 Instalar SquirrelMail

Para instalar o cliente de webmail SquirrelMail, execute

apt-get install squirrelmail

Em seguida, configure o SquirrelMail:

squirrelmail-configure

Devemos informar ao SquirrelMail que estamos usando Dovecot-IMAP/-POP3:

Configuração do SquirrelMail : Leia: config.php (1.4.0)

Menu Principal –

  1. Preferências da Organização
  2. Configurações do Servidor
  3. Padrões de Pasta
  4. Opções Gerais
  5. Temas
  6. Catálogos de Endereços
  7. Mensagem do Dia (MOTD)
  8. Plugins
  9. Banco de Dados
  10. Idiomas

D. Definir configurações pré-definidas para servidores IMAP específicos

C Ativar cor
S Salvar dados
Q Sair

Comando >> <– D

Configuração do SquirrelMail : Leia: config.php

Enquanto estávamos construindo o SquirrelMail, descobrimos algumas
preferências que funcionam melhor com alguns servidores que não
funcionam tão bem com outros. Se você selecionar seu servidor IMAP, esta
opção definirá algumas configurações pré-definidas para esse servidor.

Por favor, note que você ainda precisará passar por tudo e
certificar-se de que tudo está correto. Isso não muda tudo. Há
apenas algumas configurações que isso mudará.

Por favor, selecione seu servidor IMAP:
bincimap = Binc IMAP server
courier = Courier IMAP server
cyrus = Cyrus IMAP server
dovecot = Dovecot Secure IMAP server
exchange = Microsoft Exchange IMAP server
hmailserver = hMailServer
macosx = Mac OS X Mailserver
mercury32 = Mercury/32
uw = University of Washington’s IMAP server
gmail = IMAP access to Google mail (Gmail) accounts

quit = Não mudar nada
Comando >> <– dovecot

Configuração do SquirrelMail : Leia: config.php

Enquanto estávamos construindo o SquirrelMail, descobrimos algumas
preferências que funcionam melhor com alguns servidores que não
funcionam tão bem com outros. Se você selecionar seu servidor IMAP, esta
opção definirá algumas configurações pré-definidas para esse servidor.

Por favor, note que você ainda precisará passar por tudo e
certificar-se de que tudo está correto. Isso não muda tudo. Há
apenas algumas configurações que isso mudará.

Por favor, selecione seu servidor IMAP:
bincimap = Binc IMAP server
courier = Courier IMAP server
cyrus = Cyrus IMAP server
dovecot = Dovecot Secure IMAP server
exchange = Microsoft Exchange IMAP server
hmailserver = hMailServer
macosx = Mac OS X Mailserver
mercury32 = Mercury/32
uw = University of Washington’s IMAP server
gmail = IMAP access to Google mail (Gmail) accounts

quit = Não mudar nada
Comando >> dovecot

imap_server_type = dovecot
default_folder_prefix =
trash_folder = Lixo
sent_folder = Enviados
draft_folder = Rascunhos
show_prefix_option = false
default_sub_of_inbox = false
show_contain_subfolders_option = false
optional_delimiter = detect
delete_folder = false

Pressione qualquer tecla para continuar… <– pressione uma tecla

Configuração do SquirrelMail : Leia: config.php (1.4.0)

Menu Principal –

  1. Preferências da Organização
  2. Configurações do Servidor
  3. Padrões de Pasta
  4. Opções Gerais
  5. Temas
  6. Catálogos de Endereços
  7. Mensagem do Dia (MOTD)
  8. Plugins
  9. Banco de Dados
  10. Idiomas

D. Definir configurações pré-definidas para servidores IMAP específicos

C Ativar cor
S Salvar dados
Q Sair

Comando >> <– S

Configuração do SquirrelMail : Leia: config.php (1.4.0)

Menu Principal –

  1. Preferências da Organização
  2. Configurações do Servidor
  3. Padrões de Pasta
  4. Opções Gerais
  5. Temas
  6. Catálogos de Endereços
  7. Mensagem do Dia (MOTD)
  8. Plugins
  9. Banco de Dados
  10. Idiomas

D. Definir configurações pré-definidas para servidores IMAP específicos

C Ativar cor
S Salvar dados
Q Sair

Comando >> <– Q

Agora vamos configurar o SquirrelMail para que você possa usá-lo a partir de seus sites (criados através do ISPConfig) usando os aliases /squirrelmail ou /webmail. Então, se seu site é www.example.com, você poderá acessar o SquirrelMail usando www.example.com/squirrelmail ou www.example.com/webmail.

A configuração do Apache do SquirrelMail está no arquivo /etc/squirrelmail/apache.conf, mas este arquivo não é carregado pelo Apache porque não está no diretório /etc/apache2/conf-available/. Portanto, criamos um symlink chamado squirrelmail.conf no diretório /etc/apache2/conf-available/ que aponta para /etc/squirrelmail/apache.conf e recarregamos o Apache em seguida:

cd /etc/apache2/conf-available/   
ln -s ../../squirrelmail/apache.conf squirrelmail.conf   
service apache2 reload

Agora abra /etc/apache2/conf.d/squirrelmail.conf…

 vi /etc/apache2/conf-available/squirrelmail.conf

… e adicione as seguintes linhas ao contêiner que garantem que o mod_php seja usado para acessar o SquirrelMail, independentemente do modo PHP que você selecionar para seu site no ISPConfig:

| [...] Options FollowSymLinks AddType application/x-httpd-php .php php_flag magic_quotes_gpc Off php_flag track_vars On php_admin_flag allow_url_fopen Off php_value include_path . php_admin_value upload_tmp_dir /var/lib/squirrelmail/tmp php_admin_value open_basedir /usr/share/squirrelmail:/etc/squirrelmail:/var/lib/squirrelmail:/etc/hostname:/etc/mailname php_flag register_globals off DirectoryIndex index.php # acesso ao configtest é limitado por padrão para evitar vazamento de informações order deny,allow deny from all allow from 127.0.0.1 [...] |

Crie o diretório /var/lib/squirrelmail/tmp…

mkdir /var/lib/squirrelmail/tmp

… e torne-o propriedade do usuário www-data:

chown www-data /var/lib/squirrelmail/tmp

Em seguida, precisamos habilitar o squirrelmail com apache2.

a2enconf squirrelmail

Recarregue o Apache novamente:

service apache2 reload

É isso mesmo - /etc/apache2/conf-available/squirrelmail.conf define um alias chamado /squirrelmail que aponta para o diretório de instalação do SquirrelMail /usr/share/squirrelmail.

Agora você pode acessar o SquirrelMail a partir do seu site da seguinte forma:

http://192.168.2.251/squirrelmail   
http://www.example.com/squirrelmail

Você também pode acessá-lo a partir do painel de controle do ISPConfig vhost (depois de ter instalado o ISPConfig, veja o próximo capítulo) da seguinte forma (isso não precisa de nenhuma configuração no ISPConfig):

http://server1.example.com:8080/squirrelmail

Se você gostaria de usar o alias /webmail em vez de /squirrelmail, basta abrir /etc/apache2/conf-available/squirrelmail.conf…

vi /etc/apache2/conf-available/squirrelmail.conf

… e adicione a linha Alias /webmail /usr/share/squirrelmail:

| Alias /squirrelmail /usr/share/squirrelmail Alias /webmail /usr/share/squirrelmail [...] |

Então recarregue o Apache:

service apache2 reload

Agora você pode acessar o Squirrelmail da seguinte forma:

http:// 192.168.2.251 /webmail
http://www.example.com/webmail
http://server1.example.com:8080/webmail (depois de ter instalado o ISPConfig, veja o próximo capítulo)

Se você gostaria de definir um vhost como webmail.example.com onde seus usuários podem acessar o SquirrelMail, você precisaria adicionar a seguinte configuração de vhost a /etc/apache2/conf-available/squirrelmail.conf:

vi /etc/apache2/conf-available/squirrelmail.conf

| [...] DocumentRoot /usr/share/squirrelmail ServerName webmail.example.com |

Certifique-se de substituir 1.2.3.4 pelo endereço IP correto do seu servidor. Claro, deve haver um registro DNS para webmail.example.com que aponte para o endereço IP que você usa na configuração do vhost. Também certifique-se de que o vhost webmail.example.com não exista no ISPConfig (caso contrário, ambos os vhosts irão interferir um no outro!).

Agora recarregue o Apache…

service apache2 reload

… e você pode acessar o SquirrelMail em http://webmail.example.com!

22. Opcional: Script para verificar as instalações.

Eu introduzi um script aqui que verificará se você cometeu algum erro de digitação. Isso verificará se todas as instalações necessárias foram concluídas conforme o tutorial. O script é o seguinte:

#!/bin/bash
###################################################################################################################################################
###################################################################################################################################################
#### #####
#### Este script foi criado por Srijan Kishore para verificar a instalação completa do tutorial #####
#### #####
###################################################################################################################################################
###################################################################################################################################################

cd /tmp

###################################################################################################################################################
#### Instalações feitas no Tutorial #####
###################################################################################################################################################

echo "amavisd-new
apache2
apache2-doc
apache2-suexec
apache2-utils
apt-listchanges
arj
autoconf
automake1.9
awstats
bind9
binutils
bison
build-essential
bzip2
cabextract
clamav
clamav-daemon
clamav-docs
daemon
debhelper
dnsutils
dovecot-imapd
dovecot-mysql
dovecot-pop3d
dovecot-sieve
fail2ban
flex
geoip-database
getmail4
imagemagick
jailkit
libapache2-mod-fastcgi
libapache2-mod-fcgid
libapache2-mod-php5
libapache2-mod-python
libapache2-mod-suphp
libauthen-sasl-perl
libclass-dbi-mysql-perl
libio-socket-ssl-perl
libio-string-perl
libnet-dns-perl
libnet-ident-perl
libnet-ldap-perl
libruby
libtool
lzop
mailman
mcrypt
memcached
mysql-client
mysql-server
nomarch
ntp
ntpdate
openssl
php5
php5-cgi
php5-cli
php5-common
php5-curl
php5-fpm
php5-gd
php5-imagick
php5-imap
php5-intl
php5-mcrypt
php5-memcache
php5-memcached
php5-ming
php5-mysql
php5-ps
php5-pspell
php5-recode
php5-snmp
php5-sqlite
php5-tidy
php5-xcache
php5-xmlrpc
php5-xsl
php-auth
phpmyadmin
php-pear
postfix
postfix-doc
postfix-mysql
rkhunter
spamassassin
squirrelmail
sudo
unzip
vlogger
webalizer
zip
zoo" > tutorial_install

##################################################################################################################################################
#### Lista de todos os pacotes instalados por você em seu servidor #####
##################################################################################################################################################

dpkg -l |grep ii| cut -d ' ' -f3 > server_installed

##################################################################################################################################################
#### Diferença entre o tutorial & a instalação do seu servidor #####
##################################################################################################################################################
diff server_installed tutorial_install | grep ">" | cut -d ' ' -f2 > missing_packages

if [ $? -eq 0 ]

echo "Você esqueceu de instalar esses pacotes 
` cat missing_packages` "
then 
echo "Você precisa instalar esses pacotes. Para instalar esses pacotes você precisa executar o comando apt-get install package_name"

echo " Você pode verificar a instalação particular da seguinte forma:
dpkg -l | grep package_name | cut -d ' ' -f3

Se estiver mostrando o package_name, então você pode ignorar o pacote."

else

echo "Parabéns, você instalou todos os pacotes com sucesso"

fi

rm -rf missing_packages server_installed tutorial_install
chmod +x ubuntu_package_check.sh
./ubuntu_package_check.sh

23. Instalar ISPConfig 3

Para instalar o ISPConfig 3 a partir da versão mais recente lançada, faça o seguinte:

cd /tmp   
wget http://www.ispconfig.org/downloads/ISPConfig-3-stable.tar.gz   
tar xfz ISPConfig-3-stable.tar.gz   
cd ispconfig3_install/install/

O próximo passo é executar

php -q install.php

Isso iniciará o instalador do ISPConfig 3. O instalador configurará todos os serviços como Postfix, Dovecot, etc. para você. Uma configuração manual como a necessária para o ISPConfig 2 (guias de configuração perfeitas) não é necessária.

root@server1:/tmp/ispconfig3_install/install# php -q install.php

——————————————————————————–
_ _ _ _
| / | \/ \ / () / \
| | | \ --.| |_/ / | / \/ ___ _ __ | |_ _ __ _ _/ / | | |–. \ / | | / \| ‘ \| | |/ ` | | |
| | |_/\
/ / | | _/\ () | | | | | | | (| | |__\ \
_/__/| __/\/|| ||| ||_, | __/ / |
|__
/
——————————————————————————–

>> Configuração inicial

Sistema Operacional: 14.04 DESCONHECIDO

A seguir, haverá algumas perguntas para configuração primária, então tenha cuidado.
Os valores padrão estão entre [colchetes] e podem ser aceitos com .
Digite “quit” (sem as aspas) para parar o instalador.

Selecione o idioma (en,de) [en]: <– ENTER

Modo de instalação (padrão, especialista) [padrão]: <– ENTER

Nome do host totalmente qualificado (FQDN) do servidor, por exemplo, server1.domain.tld [server1.example.com]: <– ENTER

Nome do host do servidor MySQL [localhost]: <– ENTER

Nome de usuário root do MySQL [root]: <– ENTER

Senha root do MySQL []: <– sua senha root do sql

Banco de dados MySQL a ser criado [dbispconfig]: <– ENTER

Charset MySQL [utf8]: <– ENTER

Gerando uma chave privada RSA de 4096 bits
………………………………………………………………….++
…………………++
escrevendo nova chave privada em ‘smtpd.key’
—–
Você está prestes a ser solicitado a inserir informações que serão incorporadas
a sua solicitação de certificado.
O que você está prestes a inserir é o que é chamado de Nome Distinto ou DN.
Existem vários campos, mas você pode deixar alguns em branco
Para alguns campos, haverá um valor padrão,
Se você digitar ‘.’, o campo será deixado em branco.
—–
Nome do País (código de 2 letras) [AU]: <– ENTER
Nome do Estado ou Província (nome completo) [Some-State]: <– ENTER
Nome da Localidade (por exemplo, cidade) []: <– ENTER
Nome da Organização (por exemplo, empresa) [Internet Widgits Pty Ltd]: <– ENTER
Nome da Unidade Organizacional (por exemplo, seção) []: <– ENTER
Nome Comum (por exemplo, FQDN do servidor ou SEU nome) []: <– ENTER
Endereço de Email []: <– ENTER
Configurando Jailkit
Configurando Dovecot
Configurando Spamassassin
Configurando Amavisd
Configurando Getmail
Configurando Pureftpd
Configurando BIND
Configurando Apache
Configurando Vlogger
Configurando vhost de Apps
Configurando Firewall Bastille
Configurando Fail2ban
Instalando ISPConfig
Porta do ISPConfig [8080]: <– ENTER

Você deseja uma conexão segura (SSL) à interface web do ISPConfig (y,n) [y]: <– ENTER

Gerando chave privada RSA, módulo longo de 4096 bits
……….++
……++
e é 65537 (0x10001)
Você está prestes a ser solicitado a inserir informações que serão incorporadas
a sua solicitação de certificado.
O que você está prestes a inserir é o que é chamado de Nome Distinto ou DN.
Existem vários campos, mas você pode deixar alguns em branco
Para alguns campos, haverá um valor padrão,
Se você digitar ‘.’, o campo será deixado em branco.
—–
Nome do País (código de 2 letras) [AU]: <– ENTER
Nome do Estado ou Província (nome completo) [Some-State]: <– ENTER
Nome da Localidade (por exemplo, cidade) []: <– ENTER
Nome da Organização (por exemplo, empresa) [Internet Widgits Pty Ltd]: <– ENTER
Nome da Unidade Organizacional (por exemplo, seção) []: <– ENTER
Nome Comum (por exemplo, FQDN do servidor ou SEU nome) []: <– ENTER
Endereço de Email []: <– ENTER

Por favor, insira os seguintes atributos ‘extras’
que serão enviados com sua solicitação de certificado
Uma senha de desafio []: <– ENTER
Um nome de empresa opcional []: <– ENTER
escrevendo chave RSA
Configurando DBServer
Instalando crontab do ISPConfig
sem crontab para root
sem crontab para getmail
Reiniciando serviços …
Em vez de invocar scripts init através de /etc/init.d, use o
utility service(8), por exemplo, service mysql restart

Como o script que você está tentando invocar foi convertido em um
trabalho Upstart, você também pode usar os utilitários stop(8)
e depois start(8), por exemplo, stop mysql ; start mysql. O utilitário restart(8) também está disponível.
mysql stop/waiting
mysql start/running, process 2817
Parando o Agente de Transporte de Correio Postfix postfix
/usr/sbin/postconf: aviso: /etc/postfix/main.cf: parâmetro indefinido: virtual_mailbox_limit_maps
…feito.
Iniciando o Agente de Transporte de Correio Postfix postfix
postconf: aviso: /etc/postfix/main.cf: parâmetro indefinido: virtual_mailbox_limit_maps
postconf: aviso: /etc/postfix/main.cf: parâmetro indefinido: virtual_mailbox_limit_maps
postconf: aviso: /etc/postfix/main.cf: parâmetro indefinido: virtual_mailbox_limit_maps
postconf: aviso: /etc/postfix/main.cf: parâmetro indefinido: virtual_mailbox_limit_maps
postconf: aviso: /etc/postfix/main.cf: parâmetro indefinido: virtual_mailbox_limit_maps
postconf: aviso: /etc/postfix/main.cf: parâmetro indefinido: virtual_mailbox_limit_maps
/usr/sbin/postconf: aviso: /etc/postfix/main.cf: parâmetro indefinido: virtual_mailbox_limit_maps
/usr/sbin/postconf: aviso: /etc/postfix/main.cf: parâmetro indefinido: virtual_mailbox_limit_maps
/usr/sbin/postconf: aviso: /etc/postfix/main.cf: parâmetro indefinido: virtual_mailbox_limit_maps
/usr/sbin/postconf: aviso: /etc/postfix/main.cf: parâmetro indefinido: virtual_mailbox_limit_maps
/usr/sbin/postconf: aviso: /etc/postfix/main.cf: parâmetro indefinido: virtual_mailbox_limit_maps
/usr/sbin/postconf: aviso: /etc/postfix/main.cf: parâmetro indefinido: virtual_mailbox_limit_maps
/usr/sbin/postconf: aviso: /etc/postfix/main.cf: parâmetro indefinido: virtual_mailbox_limit_maps
/usr/sbin/postconf: aviso: /etc/postfix/main.cf: parâmetro indefinido: virtual_mailbox_limit_maps
/usr/sbin/postconf: aviso: /etc/postfix/main.cf: parâmetro indefinido: virtual_mailbox_limit_maps
/usr/sbin/postconf: aviso: /etc/postfix/main.cf: parâmetro indefinido: virtual_mailbox_limit_maps
/usr/sbin/postconf: aviso: /etc/postfix/main.cf: parâmetro indefinido: virtual_mailbox_limit_maps
…feito.
Parando amavisd: amavisd-new.
Iniciando amavisd: amavisd-new.
Parando o daemon ClamAV clamd
…feito.
Iniciando o daemon ClamAV clamd
…feito.
Em vez de invocar scripts init através de /etc/init.d, use o
utility service(8), por exemplo, service dovecot restart

Como o script que você está tentando invocar foi convertido em um
trabalho Upstart, você também pode usar os utilitários stop(8)
e depois start(8), por exemplo, stop dovecot ; start dovecot. O utilitário restart(8) também está disponível.
dovecot stop/waiting
dovecot start/running, process 3962
Reiniciando o servidor web apache2
[Sex Abr 26 00:55:00 2013] [warn] NameVirtualHost
:443 não tem VirtualHosts
[Sex Abr 26 00:55:00 2013] [warn] NameVirtualHost :80 não tem VirtualHosts
[Sex Abr 26 00:55:01 2013] [warn] NameVirtualHost
:443 não tem VirtualHosts
[Sex Abr 26 00:55:01 2013] [warn] NameVirtualHost :80 não tem VirtualHosts
… esperando …feito.
Reiniciando o servidor ftp: Executando: /usr/sbin/pure-ftpd-mysql-virtualchroot -l mysql:/etc/pure-ftpd/db/mysql.conf -l pam -A -b -u 1000 -D -H -Y 1 -E -8 UTF-8 -O clf:/var/log/pure-ftpd/transfer.log -B
Instalação concluída.
root@server1:/tmp/ispconfig3_install/install# O instalador configura automaticamente todos os serviços subjacentes, portanto, nenhuma configuração manual é necessária. Você agora também tem a possibilidade de deixar o instalador criar um vhost SSL para o painel de controle do ISPConfig, para que o ISPConfig possa ser acessado usando https:// em vez de http://. Para conseguir isso, basta pressionar ENTER quando você ver esta pergunta: Você deseja uma conexão segura (SSL) à interface web do ISPConfig (y,n) [y]:. Depois disso, você pode acessar o ISPConfig 3 em http(s)://server1.example.com:8080/ ou http(s)://192.168.2.251:8080/ (http ou https depende do que você escolheu durante a instalação). Faça login com o nome de usuário admin e a senha admin (você deve alterar a senha padrão após seu primeiro login):



O sistema agora está pronto para ser usado. #### Manual do ISPConfig 3 Para aprender a usar o ISPConfig 3, recomendo fortemente baixar o Manual do ISPConfig 3. Em mais de 300 páginas, ele cobre o conceito por trás do ISPConfig (administrador, revendedores, clientes), explica como instalar e atualizar o ISPConfig 3, inclui uma referência para todos os formulários e campos de formulário no ISPConfig juntamente com exemplos de entradas válidas, e fornece tutoriais para as tarefas mais comuns no ISPConfig 3. Também delineia como tornar seu servidor mais seguro e vem com uma seção de solução de problemas no final. #### Aplicativo Monitor do ISPConfig para Android Com o Aplicativo Monitor do ISPConfig, você pode verificar o status do seu servidor e descobrir se todos os serviços estão funcionando como esperado. Você pode verificar portas TCP e UDP e pingar seus servidores. Além disso, você pode usar este aplicativo para solicitar detalhes de servidores que têm o ISPConfig instalado ( *por favor, note que a versão mínima instalada do ISPConfig 3 com suporte para o Aplicativo Monitor do ISPConfig é 3.0.3.3!
); esses detalhes incluem tudo o que você conhece do módulo Monitor no Painel de Controle do ISPConfig (por exemplo, serviços, logs de correio e sistema, fila de correio, informações de CPU e memória, uso de disco, cota, detalhes do SO, log do RKHunter, etc.), e claro, como o ISPConfig é capaz de multiserver, você pode verificar todos os servidores que são controlados a partir do seu servidor mestre do ISPConfig. Para instruções de download e uso, visite http://www.ispconfig.org/ispconfig-3/ispconfig-monitor-app-for-android/. ### Notas Adicionais #### OpenVZ Se o servidor Ubuntu que você acabou de configurar neste tutorial for um contêiner OpenVZ (máquina virtual), você deve fazer isso no sistema host (estou assumindo que o ID do contêiner OpenVZ é 101 - substitua pelo VPSID correto em seu sistema): VPSID=101 for CAP in CHOWN DAC_READ_SEARCH SETGID SETUID NET_BIND_SERVICE NET_ADMIN SYS_CHROOT SYS_NICE CHOWN DAC_READ_SEARCH SETGID SETUID NET_BIND_SERVICE NET_ADMIN SYS_CHROOT SYS_NICE do vzctl set $VPSID --capability ${CAP}:on --save done ### Links - Ubuntu: http://www.ubuntu.com/ - ISPConfig: http://www.ispconfig.org/

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.