Servidor Ubuntu · 10 min read · Oct 30, 2025

O Servidor Perfeito - Ubuntu 18.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 javascript-common libjs-jquery-mousewheel php-net-sieve tinymce

O instalador fará as seguintes perguntas:

Configurar banco de dados para roundcube com dbconfig-common? <-- Sim  
Senha do aplicativo MySQL para roundcube: <-- Pressione enter  
  

Em seguida, edite o arquivo de configuração do RoundCube config.inc.php:

nano /etc/roundcube/config.inc.php

e mude 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/squirrelmail

Depois 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 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.2-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.2-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, precisa 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 reload

Em 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.2-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 remove

Certifique-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://www.ispconfig.org/downloads/ISPConfig-3-stable.tar.gz  
tar xfz ispconfig.tar.gz  
cd ispconfig3*/install/

O próximo passo é executar

php -q install.php

Isso 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-da1e393d7bed829d180dd9006019201e3370e77a/install# php install.php
  
--------------------------------------------------------------------------------  
_____ ___________ _____ __ _ ____  
|_ _/ ___| ___ \ / __ \ / _(_) /__ \  
| | \ `--.| |_/ / | / \/ ___ _ __ | |_ _ __ _ _/ /  
| | `--. \ __/ | | / _ \| '_ \| _| |/ _` | |_ |  
_| |_\/__/ / | | \__/\ (_) | | | | | | | (_| | ___\ \  
\___/\____/\_| \____/\___/|_| |_|_| |_\__, | \____/  
__/ |  
|___/  
--------------------------------------------------------------------------------
  
>> Configuração inicial
Sistema Operacional: Ubuntu 18.04 LTS (Bionic Beaver)
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
Porta do servidor MySQL [3306]: <-- ENTER
Nome de usuário root do MySQL [root]: <-- ENTER
Senha root do MySQL []: <-- digite a senha root do MySQL aqui
Banco de dados MySQL a ser criado [dbispconfig]: <-- ENTER
Charset MySQL [utf8]: <-- ENTER
Configurando 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 vários 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, por exemplo DE no meu caso  
Nome do Estado ou Província (nome completo) [Some-State]: <-- Digite seu estado de origem  
Nome da Localidade (por exemplo, cidade) []:  <-- Digite sua cidade, no meu caso Lueneburg  
Nome da Organização (por exemplo, empresa) [Internet Widgits Pty Ltd]: <-- Digite o nome da sua empresa, no meu caso ISPConfig UG  
Nome da Unidade Organizacional (por exemplo, seção) []: <-- Digite o nome da sua unidade organizacional, eu uso TI aqui  
Nome Comum (por exemplo, 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, por exemplo, [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, por exemplo DE no meu caso
Nome da Localidade (por exemplo, cidade) [Nome da Cidade]: <-- Digite sua cidade, no meu caso Lueneburg
Nome da Organização (por exemplo, empresa) [Internet Widgits Pty Ltd]: <-- Digite o nome da sua empresa, no meu caso ISPConfig UG
Nome da Unidade Organizacional (por exemplo, seção) [Infraestrutura]: <-- Digite o nome da sua unidade organizacional, eu uso TI aqui
Nome Comum (por exemplo, FQDN do servidor ou SEU nome) [server1.example.com]: <-- Digite o nome do host do servidor, no meu caso server1.example.com
Endereço de E-mail [[email protected]]: <-- Digite um endereço de e-mail, por exemplo, [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 da 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]: <-- ENTER
Senha do admin [admin]: <-- Digite sua senha de admin desejada
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 ficará em branco.  
-----  
Nome do País (código de 2 letras) [AU]: <-- digite seu código de país de 2 letras, por exemplo DE no meu caso  
Nome do Estado ou Província (nome completo) [Some-State]: <-- Digite seu estado de origem  
Nome da Localidade (por exemplo, cidade) []:  <-- Digite sua cidade, no meu caso Lueneburg  
Nome da Organização (por exemplo, empresa) [Internet Widgits Pty Ltd]: <-- Digite o nome da sua empresa, no meu caso ISPConfig UG  
Nome da Unidade Organizacional (por exemplo, seção) []: <-- Digite o nome da sua unidade organizacional, eu uso TI aqui  
Nome Comum (por exemplo, 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, por exemplo, [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  
não há crontab para root  
não há 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):

Login do ISPConfig

Painel do ISPConfig

O sistema agora está pronto para uso.

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 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: administrator
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: root
Senha: howtoforge

O IP da VM é 192.168.1.100, pode ser alterado no arquivo /etc/netplan/01-netcfg.yaml. Por favor, mude todas as senhas acima para proteger a máquina virtual.

18. Links

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.