Servidor Perfeito · 10 min read · Oct 23, 2025
O Servidor Perfeito - Ubuntu 16.04 (Nginx, MySQL, PHP, Postfix, BIND, Dovecot, Pure-FTPD e ISPConfig 3.1) - Página 3
15. Instalar Roundcube Webmail
Para instalar o Roundcube Webmail, execute:
apt-get -y install roundcube roundcube-core roundcube-mysql roundcube-plugins roundcube-plugins-extra javascript-common libjs-jquery-mousewheel php-net-sieve tinymceO instalador fará as seguintes perguntas:
Configurar banco de dados para roundcube com dbconfig-common? <-- Sim
Senha da aplicação MySQL para roundcube: <-- Pressione enter
Em seguida, edite o arquivo de configuração do RoundCube config.inc.php:
nano /etc/roundcube/config.inc.phpe altere o host padrão para localhost:
$config['default_host'] = 'localhost';Isso impede que o Roundcube mostre o campo de entrada do nome do servidor no formulário de login.
Agora crie um symlink para que possamos usar a configuração do SquirrelMail no ISPConfig para o Roundcube:
ln -s /usr/share/roundcube /usr/share/squirrelmailDepois de instalar o ISPConfig 3, você pode acessar o Roundcube da seguinte forma:
O vhost de aplicativos do ISPConfig na porta 8081 para nginx vem com uma configuração do Roundcube, então você pode usar http://server1.example.com:8081/webmail para acessar o Roundcube.
Se você quiser usar um alias /webmail que possa usar a partir de seus sites, isso é um pouco mais complicado do que para o Apache porque o nginx não tem aliases globais (ou seja, aliases que podem ser definidos para todos os vhosts). Portanto, você deve definir esses aliases para cada vhost do qual deseja acessar o Roundcube.
Para fazer isso, cole o seguinte no campo Diretrizes do nginx na aba Opções do site no ISPConfig:
location /roundcube {
root /usr/share/;
index index.php index.html index.htm;
location ~ ^/roundcube/(.+\.php)$ {
try_files $uri =404;
root /usr/share/;
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $request_filename;
include /etc/nginx/fastcgi_params;
fastcgi_param PATH_INFO $fastcgi_script_name;
fastcgi_buffer_size 128k;
fastcgi_buffers 256 4k;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;
fastcgi_intercept_errors on;
}
location ~* ^/roundcube/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
root /usr/share/;
}
}
location /webmail {
rewrite ^/* /roundcube last;
}Se você usar http s em vez de http para seu vhost, deve adicionar a linha fastcgi_param HTTPS on; à sua configuração do SquirrelMail assim:
location /roundcube {
root /usr/share/;
index index.php index.html index.htm;
location ~ ^/roundcube/(.+\.php)$ {
try_files $uri =404;
root /usr/share/;
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
fastcgi_param HTTPS on; # <-- adicione esta linha
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $request_filename;
include /etc/nginx/fastcgi_params;
fastcgi_param PATH_INFO $fastcgi_script_name;
fastcgi_buffer_size 128k;
fastcgi_buffers 256 4k;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;
fastcgi_intercept_errors on;
}
location ~* ^/roundcube/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
root /usr/share/;
}
}
location /webmail {
rewrite ^/* /roundcube last;
}Se você usar tanto http quanto https para seu vhost, precisará adicionar a seguinte seção à seção http {} em /etc/nginx/nginx.conf (antes de qualquer linha de inclusão) que determina se o visitante usa http ou https e define a variável $fastcgi_https (que usaremos em nossa configuração do Roundcube) de acordo:
nano /etc/nginx/nginx.conf[...]
http {
[...]
## Detectar quando HTTPS é usado
map $scheme $fastcgi_https {
default off;
https on;
}
[...]
}
[...]Não se esqueça de recarregar o nginx depois:
service nginx reloadEm seguida, vá novamente para o campo Diretrizes do nginx, e em vez de fastcgi_param HTTPS on; você adiciona a linha fastcgi_param HTTPS $fastcgi_https; para que você possa usar o Roundcube para solicitações http e https:
location /roundcube {
root /usr/share/;
index index.php index.html index.htm;
location ~ ^/roundcube/(.+\.php)$ {
try_files $uri =404;
root /usr/share/;
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
fastcgi_param HTTPS $fastcgi_https; # <-- adicione esta linha
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $request_filename;
include /etc/nginx/fastcgi_params;
fastcgi_param PATH_INFO $fastcgi_script_name;
fastcgi_buffer_size 128k;
fastcgi_buffers 256 4k;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;
fastcgi_intercept_errors on;
}
location ~* ^/roundcube/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
root /usr/share/;
}
}
location /webmail {
rewrite ^/* /roundcube last;
}16. Instalar ISPConfig 3.1
Antes de iniciar a instalação do ISPConfig, certifique-se de que o Apache esteja parado (se estiver instalado - é possível que alguns dos seus pacotes instalados tenham instalado o Apache como uma dependência sem que você soubesse). Se o Apache2 já estiver instalado no sistema, pare-o agora…
service apache2 stop… e remova os links de inicialização do sistema do Apache:
update-rc.d -f apache2 removeCertifique-se de que o nginx esteja em execução:
service nginx restart(Se você tiver tanto o Apache quanto o nginx instalados, o instalador pergunta qual você deseja usar: Apache e nginx detectados. Selecione o servidor a ser usado para o ISPConfig: (apache,nginx) [apache]:
Digite nginx. Se apenas Apache ou Nginx estiverem instalados, isso é detectado automaticamente pelo instalador, e nenhuma pergunta é feita.)
Para instalar o ISPConfig 3.1 do ramo estável do GIT, faça o seguinte:
cd /tmp
wget -O ispconfig.tar.gz https://git.ispconfig.org/ispconfig/ispconfig3/repository/archive.tar.gz?ref=stable-3.1
tar xfz ispconfig.tar.gz
cd ispconfig3*/install/O próximo passo é executar
php -q install.phpIsso iniciará o instalador do ISPConfig 3.1. O instalador configurará todos os serviços como Postfix, Dovecot, etc. para você.
root@server1:/tmp/ispconfig3-stable-3.1-3f1331062193a94fbd64a7e39c00cb8d77eb7484/install# php install.php
--------------------------------------------------------------------------------
_____ ___________ _____ __ _ ____
|_ _/ ___| ___ \ / __ \ / _(_) /__ \
| | \ `--.| |_/ / | / \/ ___ _ __ | |_ _ __ _ _/ /
| | `--. \ __/ | | / _ \| '_ \| _| |/ _` | |_ |
_| |_\/__/ / | | \__/\ (_) | | | | | | | (_| | ___\ \
\___/\____/\_| \____/\___/|_| |_|_| |_\__, | \____/
__/ |
|___/
--------------------------------------------------------------------------------
>> Configuração inicialSistema Operacional: Ubuntu 16.04.1 LTS (Xenial Xerus)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]: <-- ENTERModo de instalação (padrão, especialista) [padrão]: <-- ENTERNome do host totalmente qualificado (FQDN) do servidor, ex: server1.domain.tld [server1.example.com]: <-- ENTERNome do host do servidor MySQL [localhost]: <-- ENTERPorta do servidor MySQL [3306]: <-- ENTERNome de usuário root do MySQL [root]: <-- ENTERSenha root do MySQL []: <--digite a senha root do MySQL aquiBanco de dados MySQL a ser criado [dbispconfig]: <-- ENTERCharset MySQL [utf8]: <-- ENTERConfigurando Postgrey
Configurando Postfix
Gerando uma chave privada RSA de 4096 bits
.................................................................................................................................................................................................................................................................................................................................................................................................................++
...++
escrevendo nova chave privada para 'smtpd.key'
-----
Você está prestes a ser solicitado a inserir informações que serão incorporadas
na sua solicitação de certificado.
O que você está prestes a inserir é o que é chamado de Nome Distinto ou DN.
Existem muitos campos, mas você pode deixar alguns em branco
Para alguns campos haverá um valor padrão,
Se você digitar '.', o campo ficará em branco.
-----
Nome do País (código de 2 letras) [AU]: <-- digite seu código de país de 2 letras, ex: DE no meu caso
Nome do Estado ou Província (nome completo) [Some-State]: <-- Digite seu estado de origem
Nome da Localidade (ex: cidade) []: <-- Digite sua cidade, no meu caso Lueneburg
Nome da Organização (ex: empresa) [Internet Widgits Pty Ltd]: <-- Digite o nome da sua empresa, no meu caso ISPConfig UG
Nome da Unidade Organizacional (ex: seção) []: <-- Digite o nome da sua unidade organizacional, eu uso TI aqui
Nome Comum (ex: FQDN do servidor ou SEU nome) []: <-- Digite o nome do host do servidor, no meu caso server1.example.com
Endereço de E-mail []: <-- Digite um endereço de e-mail, ex: [email protected]
Configurando Mailman
Configurando Dovecot
Configurando Spamassassin
Configurando Amavisd
Configurando Getmail
Configurando Jailkit
Configurando Pureftpd
Configurando BIND
Configurando nginx
[INFO] serviço OpenVZ não detectado
Configurando Firewall do Ubuntu
Configurando Servidor XMPP Metronome
escrevendo nova chave privada para 'localhost.key'
-----
Nome do País (código de 2 letras) [AU]: <-- Digite seu código de país de 2 letras, ex: DE no meu casoNome da Localidade (ex: cidade) [Nome da Cidade]: <-- Digite sua cidade, no meu caso LueneburgNome da Organização (ex: empresa) [Internet Widgits Pty Ltd]: <-- Digite o nome da sua empresa, no meu caso ISPConfig UGNome da Unidade Organizacional (ex: seção) [Infraestrutura]: <-- Digite o nome da sua unidade organizacional, eu uso TI aquiNome Comum (ex: FQDN do servidor ou SEU nome) [server1.example.com]: <-- Digite o nome do host do servidor, no meu caso server1.example.comEndereço de E-mail [[email protected]]: <-- Digite um endereço de e-mail, ex: [email protected]IMPORTANTE:
Chave Localhost, Csr e um Certificado autoassinado foram salvos em /etc/metronome/certs
Para funcionar com todos os clientes, o servidor deve ter um certificado confiável, então use o Csr
para obter um certificado confiável de sua CA ou substitua a Chave e o Certificado por arquivos já assinados para
seu domínio. Clientes como Pidgin não permitem o uso de certificados autoassinados não confiáveis.Configurando Fail2ban
Configurando vhost de aplicativos
Instalando ISPConfig
Porta do ISPConfig [8080]: <-- ENTERSenha do administrador [admin]: <-- Digite sua senha de administrador desejadaVocê deseja uma conexão segura (SSL) com a interface web do ISPConfig (s,n) [s]: <-- ENTERGerando chave privada RSA, 4096 bits de comprimento de módulo
....................................................++
........................++
e é 65537 (0x10001)
Você está prestes a ser solicitado a inserir informações que serão incorporadas
na sua solicitação de certificado.
O que você está prestes a inserir é o que é chamado de Nome Distinto ou DN.
Existem muitos campos, mas você pode deixar alguns em branco
Para alguns campos haverá um valor padrão,
Se você digitar '.', o campo ficará em branco.
-----
Nome do País (código de 2 letras) [AU]: <-- digite seu 2 letras código de país, ex: DE no meu caso
Nome do Estado ou Província (nome completo) [Some-State]: <-- Digite seu estado de origem
Nome da Localidade (ex: cidade) []: <-- Digite sua cidade, no meu caso Lueneburg
Nome da Organização (ex: empresa) [Internet Widgits Pty Ltd]: <-- Digite o nome da sua empresa, no meu caso ISPConfig UG
Nome da Unidade Organizacional (ex: seção) []: <-- Digite o nome da sua unidade organizacional, eu uso TI aqui
Nome Comum (ex: FQDN do servidor ou SEU nome) []: <-- Digite o nome do host do servidor, no meu caso server1.example.com
Endereço de E-mail []: <-- Digite um endereço de e-mail, ex: [email protected]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
Instalando crontab do ISPConfig
nenhum crontab para root
nenhum crontab para getmail
Detectando endereços IP
Reiniciando serviços ...
Instalação concluída.O instalador configura automaticamente todos os serviços subjacentes, portanto, não há necessidade de configuração manual.
Depois, você pode acessar o ISPConfig 3 em http(s)://server1.example.com:8080/ ou http(s)://192.168.1.100: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 mudar a senha padrão após seu primeiro login):


O sistema agora está pronto para ser usado.
16.1 Manual do ISPConfig 3.1
Para aprender a usar o ISPConfig 3, recomendo fortemente baixar o Manual do ISPConfig 3.1.
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 junto com exemplos de entradas válidas, e fornece tutoriais para as tarefas mais comuns no ISPConfig 3. Também descreve como tornar seu servidor mais seguro e vem com uma seção de solução de problemas no final.
17. Notas Adicionais
18.1 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
done18.2 Download da imagem da máquina virtual deste tutorial
Este tutorial está disponível como uma imagem de máquina virtual pronta para uso no formato ovf/ova que é compatível com VMWare e Virtualbox. A imagem da máquina virtual usa os seguintes detalhes de login:
Login SSH / Shell
Nome de usuário: administrador
Senha: howtoforge
Este usuário tem direitos sudo.
Login do ISPConfig
Nome de usuário: admin
Senha: howtoforge
Login do MySQL
Nome de usuário: admin
Senha: howtoforge
ou faça login com:
sudo mysqlno shell.
O IP da VM é 192.168.1.100, pode ser alterado no arquivo /etc/network/interfaces. Por favor, altere todas as senhas acima para proteger a máquina virtual.
19. Links
- Ubuntu: http://www.ubuntu.com/
- ISPConfig: http://www.ispconfig.org/
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.