Servidor Perfeito · 12 min read · Jan 07, 2026
O Servidor Perfeito - CentOS 7 x86_64 (nginx, Dovecot, ISPConfig 3) - Página 3
23 Instalar RoundcubeMail
Para instalar o cliente de webmail Roundcube, execute…
yum -y install roundcubemail
O ISPConfig contém um alias de webmail padrão para squirremail dentro de seu vhost de aplicativos. Usaremos esse alias para o roundcube mais moderno, então criamos um symlink com o nome squirrelmail em /usr/share
ln -s /usr/share/roundcubemail /usr/share/squirrelmail
Depois de instalar o ISPConfig 3, você pode acessar o RoundcubeMail da seguinte forma:
O vhost de aplicativos do ISPConfig na porta 8081 para nginx vem com uma configuração de alias /webmail, então você pode usar http://server1.example.com:8081/webmail para acessar o RoundcubeMail.
Se você quiser usar um alias /webmail ou /roundcubemail que você 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 SquirrelMail.
Para fazer isso, cole o seguinte no campo Diretrizes do nginx na aba Opções do site no ISPConfig:
Para fazer isso, cole o seguinte no campo Diretrizes do nginx na aba Opções do site no ISPConfig:
location /roundcubemail {
root /usr/share/;
index index.php index.html index.htm;
location ~ ^/roundcubemail/(.+\.php)$ {
try_files $uri =404;
root /usr/share/;
fastcgi_pass 127.0.0.1:9000;
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 ~* ^/roundcubemail/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
root /usr/share/;
}
}
location /webmail {
rewrite ^/* /roundcubemail 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 RoundcubeMail assim:
location /roundcubemail {
root /usr/share/;
index index.php index.html index.htm;
location ~ ^/roundcubemail/(.+\.php)$ {
try_files $uri =404;
root /usr/share/;
fastcgi_pass 127.0.0.1:9000;
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 ~* ^/roundcubemail/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
root /usr/share/;
}
}
location /webmail {
rewrite ^/* /roundcubemail last;
}Se você usar tanto http quanto https para seu vhost, pode usar a variável $https - vá novamente para o campo Diretrizes do nginx e, em vez de fastcgi_param HTTPS on;, adicione a linha fastcgi_param HTTPS $https; para que você possa usar o RoundcubeMail para solicitações http e https:
location /roundcubemail {
root /usr/share/;
index index.php index.html index.htm;
location ~ ^/roundcubemail/(.+\.php)$ {
try_files $uri =404;
root /usr/share/;
fastcgi_pass 127.0.0.1:9000;
fastcgi_param HTTPS $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 ~* ^/roundcubemail/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
root /usr/share/;
}
}
location /webmail {
rewrite ^/* /squirrelmail last;
}Agora precisamos de um banco de dados para o roundcube mail, vamos inicializá-lo da seguinte forma:
mysql -u root -p
No prompt do mariadb, use:
CREATE DATABASE roundcubedb;
CREATE USER roundcubeuser@localhost IDENTIFIED BY ‘roundcubepassword’;
GRANT ALL PRIVILEGES on roundcubedb.* to roundcubeuser@localhost ;
FLUSH PRIVILEGES;
exit
Estou usando detalhes para o banco de dados roundcube como um teste, por favor, substitua os valores conforme sua escolha por razões de segurança. Vamos terminar a instalação do roundcube após instalarmos o ISPConfig.
24 Instalar ISPConfig 3
Antes de começar 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 você saber). Se o Apache2 já estiver instalado no sistema, pare-o agora…
systemctl stop httpd.service
… e remova os links de inicialização do sistema do Apache:
systemctl disable httpd.service
Certifique-se de que o nginx esteja em execução:
systemctl restart nginx.service
(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 o Apache ou o nginx estiverem instalados, isso é detectado automaticamente pelo instalador, e nenhuma pergunta é feita.)
Baixe a versão atual do ISPConfig 3 e instale-a. O instalador do ISPConfig configurará todos os serviços como Postfix, Dovecot, etc. para você. Uma configuração manual, como era necessária para o ISPConfig 2, não é mais necessária.
Agora você 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) com a interface da web do ISPConfig (y,n) [y]:.
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:
[root@server1 install]# php -q install.php
——————————————————————————–
_ _ _ _
| / | \ / \ / () / \
| | | | --.| |_/ / | / \/ ___ _ __ | |_ _ __ _ _/ / | | |–. \ / | | / \| ‘ \| | |/ ` | | | |
| || |\/ / | | _/\ () | | | | | | | (| | __\ \
_/__/_| _/\/|| ||| ||_, | __/ / |
|__/
——————————————————————————–
>> Configuração inicial
Sistema Operacional: Redhat ou compatível, versão desconhecida.
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 de host totalmente qualificado (FQDN) do servidor, ex: 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
Apache e nginx detectados. Selecione o servidor a ser usado para o ISPConfig: (apache,nginx) [apache]: <– nginx
Gerando uma chave privada RSA de 2048 bits
…………………………………………………………….+++
………………………………………..+++
escrevendo nova chave privada em ‘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 será deixado em branco.
—–
Nome do País (código de 2 letras) [XX]: <– ENTER
Nome do Estado ou Província (nome completo) []: <– ENTER
Nome da Localidade (ex: cidade) [Cidade Padrão]: <– ENTER
Nome da Organização (ex: empresa) [Empresa Padrão Ltd]: <– ENTER
Nome da Unidade Organizacional (ex: seção) []: <– ENTER
Nome Comum (ex: seu nome ou o nome do host do seu servidor) []: <– ENTER
Endereço de E-mail []: <– ENTER
Configurando Jailkit
Configurando Dovecot
Configurando Spamassassin
Configurando Amavisd
Configurando Getmail
Configurando Pureftpd
Configurando BIND
Configurando nginx
Configurando Vlogger
Configurando vhost de Aplicativos
Configurando Bastille Firewall
Configurando Fail2ban
Instalando ISPConfig
Porta do ISPConfig [8080]: <– ENTER
Você deseja uma conexão segura (SSL) com a interface da 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
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 será deixado em branco.
—–
Nome do País (código de 2 letras) [XX]: <– ENTER
Nome do Estado ou Província (nome completo) []: <– ENTER
Nome da Localidade (ex: cidade) [Cidade Padrão]: <– ENTER
Nome da Organização (ex: empresa) [Empresa Padrão Ltd]: <– ENTER
Nome da Unidade Organizacional (ex: seção) []: <– ENTER
Nome Comum (ex: seu nome ou o nome do host do seu servidor) []: <– ENTER
Endereço de E-mail []: <– 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 …
Parando mysqld: [ OK ]
Iniciando mysqld: [ OK ]
Desligando postfix: [ OK ]
Iniciando postfix: [ OK ]
Parando saslauthd: [FAILED]
Iniciando saslauthd: [ OK ]
Desligando amavisd: Daemon [1554] terminado por SIGTERM
[ OK ]
amavisd parado
Iniciando amavisd: [ OK ]
Parando clamd.amavisd: [ OK ]
Iniciando clamd.amavisd: [ OK ]
Parando Dovecot Imap: [ OK ]
Iniciando Dovecot Imap: [ OK ]
Recarregando php-fpm: [ OK ]
Recarregando nginx: [ OK ]
Parando pure-ftpd: [ OK ]
Iniciando pure-ftpd: [ OK ]
Instalação concluída.
[root@server1 install]# Para corrigir os erros do Mailman que você pode obter durante a instalação do ISPConfig, abra /usr/lib/mailman/Mailman/mm_cfg.py… vi /usr/lib/mailman/Mailman/mm_cfg.py … e defina DEFAULT_SERVER_LANGUAGE = ‘en’: [...] #------------------------------------------------------------- # O idioma padrão para este servidor. DEFAULT_SERVER_LANGUAGE = 'en' [...] Reinicie o Mailman: systemctl restart mailman.service Agora vou terminar a instalação do RoundcubeMail. Abra a seguinte URL em seu navegador: http://192.168.0.100:8081/roundcubemail/installer você será recebido pelo instalador web do RoundcubeMail, role para baixo na página e clique em próximo:
Em seguida, insira os detalhes do banco de dados do banco de dados roundcubedb que criamos no capítulo 23 aqui:
E defina o servidor SMTP como localhost e defina seu idioma preferido
e clique em “Criar configuração” para ir para a próxima página. Abra o arquivo /etc/roundcubemail/config.inc.php no shell: nano /etc/roundcubemail/config.inc.php E cole a configuração que é mostrada no instalador web nesse arquivo e salve o arquivo. Então volte para o instalador web e clique no botão continuar. Nesta página, clique em “inicializar banco de dados”:
A página deve parecer assim após a inicialização bem-sucedida do banco de dados:
Para proteger a configuração do RoundcubeMail contra modificações não autorizadas, vou remover a pasta do instalador executando este comando no shell: rm -rf /usr/share/roundcubemail/installer ### 25 Primeiro Login no ISPConfig Depois disso, você pode acessar o ISPConfig 3 em http(s)://server1.example.com:8080/ ou http(s)://192.168.0.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):
Em seguida, precisamos ajustar os caminhos de configuração do BIND no ISPConfig. Clique em “Sistema” no menu superior, depois em “Configuração do servidor” no menu à direita. Na lista que aparece, clique no nome do servidor no lado esquerdo.
Vá para a aba “DNS” do formulário:
E insira os caminhos DNS da seguinte forma: Diretório de arquivos de zona BIND: /var/named
Caminho named.conf do BIND: /etc/named.conf
Caminho named.conf.local do BIND: /etc/named.conf.local O sistema agora está pronto para ser usado. Se você deseja usar endereços IPv6 com seus vhosts nginx, faça o seguinte antes de criar vhosts IPv6 no ISPConfig: Abra /etc/sysctl.conf… vi /etc/sysctl.conf … e adicione a linha net.ipv6.bindv6only = 1: [...] net.ipv6.bindv6only = 1 Execute… sysctl -p … depois para que a alteração tenha efeito. #### 25.1 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 (administradores, 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. ### 25 Links - CentOS: http://www.centos.org/ - ISPConfig: http://www.ispconfig.org/
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.