Servidor · 8 min read · Jan 07, 2026
O Servidor Perfeito - CentOS 7 x86_64 (nginx, Dovecot, ISPConfig 3) - Página 2
15 Instalar phpMyAdmin
Em seguida, instalamos o phpMyAdmin:
yum -y install phpmyadmin
Em seguida, mudamos a autenticação no phpMyAdmin de cookie para http:
nano /etc/phpMyAdmin/config.inc.php
[...]
/* Tipo de autenticação */
$cfg['Servers'][$i]['auth_type'] = 'http';
[...]Agora você pode encontrar o phpMyAdmin no diretório /usr/share/phpMyAdmin/.
Depois de instalar o ISPConfig 3, você pode acessar o phpMyAdmin da seguinte forma:
O vhost de aplicativos do ISPConfig na porta 8081 para nginx vem com uma configuração do phpMyAdmin, então você pode usar http://server1.example.com:8081/phpmyadmin ou http://server1.example.com:8081/phpMyAdmin para acessar o phpMyAdmin.
Se você quiser usar um alias /phpmyadmin ou /phpMyAdmin que você 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 phpMyAdmin.
Para fazer isso, cole o seguinte no campo Diretrizes do nginx na aba Opções do site no ISPConfig:
location /phpmyadmin {
root /usr/share/;
index index.php index.html index.htm;
location ~ ^/phpmyadmin/(.+\.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 ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
root /usr/share/;
}
}
location /phpMyAdmin {
rewrite ^/* /phpmyadmin 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 phpMyAdmin assim:
location /phpmyadmin {
root /usr/share/;
index index.php index.html index.htm;
location ~ ^/phpmyadmin/(.+\.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 ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
root /usr/share/;
}
}
location /phpMyAdmin {
rewrite ^/* /phpmyadmin 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 phpMyAdmin para solicitações http e https:
location /phpmyadmin {
root /usr/share/;
index index.php index.html index.htm;
location ~ ^/phpmyadmin/(.+\.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 ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
root /usr/share/;
}
}
location /phpMyAdmin {
rewrite ^/* /phpmyadmin last;
}16 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:
yum -y install mailman
Antes de podermos iniciar o Mailman, uma primeira lista de discussão chamada mailman deve ser criada:
touch /var/lib/mailman/data/aliases
touch /etc/mailman/aliases
/usr/lib/mailman/bin/newlist mailman
[root@server1 tmp]# /usr/lib/mailman/bin/newlist mailman
Digite o email da pessoa que está gerenciando a lista: <– endereço de email do administrador, por exemplo, [email protected]
Senha inicial do mailman: <– senha do administrador para a lista do mailman
Para terminar de criar 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: “|/usr/lib/mailman/mail/mailman post mailman”
mailman-admin: “|/usr/lib/mailman/mail/mailman admin mailman”
mailman-bounces: “|/usr/lib/mailman/mail/mailman bounces mailman”
mailman-confirm: “|/usr/lib/mailman/mail/mailman confirm mailman”
mailman-join: “|/usr/lib/mailman/mail/mailman join mailman”
mailman-leave: “|/usr/lib/mailman/mail/mailman leave mailman”
mailman-owner: “|/usr/lib/mailman/mail/mailman owner mailman”
mailman-request: “|/usr/lib/mailman/mail/mailman request mailman”
mailman-subscribe: “|/usr/lib/mailman/mail/mailman subscribe mailman”
mailman-unsubscribe: “|/usr/lib/mailman/mail/mailman unsubscribe mailman”
Pressione enter para notificar o proprietário do mailman… <– ENTER
[root@server1 tmp]#
Abra /etc/aliases depois…
nano /etc/aliases
… e adicione as seguintes linhas:
[...]
mailman: "|/usr/lib/mailman/mail/mailman post mailman"
mailman-admin: "|/usr/lib/mailman/mail/mailman admin mailman"
mailman-bounces: "|/usr/lib/mailman/mail/mailman bounces mailman"
mailman-confirm: "|/usr/lib/mailman/mail/mailman confirm mailman"
mailman-join: "|/usr/lib/mailman/mail/mailman join mailman"
mailman-leave: "|/usr/lib/mailman/mail/mailman leave mailman"
mailman-owner: "|/usr/lib/mailman/mail/mailman owner mailman"
mailman-request: "|/usr/lib/mailman/mail/mailman request mailman"
mailman-subscribe: "|/usr/lib/mailman/mail/mailman subscribe mailman"
mailman-unsubscribe: "|/usr/lib/mailman/mail/mailman unsubscribe mailman"Execute
newaliases
e reinicie o Postfix:
systemctl restart postfix.service
Crie os links de inicialização do sistema para o Mailman e inicie-o:
systemctl enable mailman.service
systemctl start mailman.service
Agora precisamos criar este symlink para fazer o Mailman funcionar com o ISPConfig:
cd /usr/lib/mailman/cgi-bin/
ln -s ./ mailman
Se você quiser usar o Mailman a partir de seus sites criados através do ISPConfig, 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 Mailman.
Para fazer isso, cole o seguinte no campo Diretrizes do nginx na aba Opções do site no ISPConfig:
location /cgi-bin/mailman {
alias /usr/lib/mailman/cgi-bin;
fastcgi_split_path_info (^/cgi-bin/mailman/[^/]*)(.*)$;
include /etc/nginx/fastcgi_params;
fastcgi_param SCRIPT_FILENAME /usr/lib/mailman$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED /usr/lib/mailman$fastcgi_path_info;
fastcgi_intercept_errors on;
fastcgi_pass unix:/var/run/fcgiwrap.socket;
}
location /images/mailman {
alias /usr/lib/mailman/icons;
}
location /pipermail {
alias /var/lib/mailman/archives/public;
autoindex on;
}Isso define o alias /cgi-bin/mailman/ para seu vhost, o que significa que você pode acessar a interface de administração do Mailman para uma lista em http://
Em http://
17 Instalar PureFTPd
O PureFTPd pode ser instalado com o seguinte comando:
yum -y install pure-ftpd
Em seguida, crie os links de inicialização do sistema e inicie o PureFTPd:
systemctl enable pure-ftpd.service
systemctl start pure-ftpd.service
Agora configuramos o PureFTPd para permitir sessões FTP e TLS. FTP é um protocolo muito inseguro porque todas as senhas e todos os dados são transferidos em texto claro. Ao usar TLS, toda a comunicação pode ser criptografada, tornando o FTP muito mais seguro.
OpenSSL é necessário pelo TLS; para instalar o OpenSSL, simplesmente executamos:
yum -y install openssl
Abra /etc/pure-ftpd/pure-ftpd.conf…
nano /etc/pure-ftpd/pure-ftpd.conf
Se você quiser permitir sessões FTP e TLS, defina TLS como 1:
[...]
# Esta opção pode aceitar três valores :
# 0 : desabilitar a camada de criptografia SSL/TLS (padrão).
# 1 : aceitar tanto sessões tradicionais quanto criptografadas.
# 2 : recusar conexões que não utilizem mecanismos de segurança SSL/TLS,
# incluindo sessões anônimas.
# Não descomente isso cegamente. Certifique-se de que :
# 1) Seu servidor foi compilado com suporte a SSL/TLS (--with-tls),
# 2) Um certificado válido está em vigor,
# 3) Apenas clientes compatíveis farão login.
TLS 1
[...]Para usar TLS, devemos criar um certificado SSL. Eu o crio em /etc/ssl/private/, portanto, primeiro crio esse diretório:
mkdir -p /etc/ssl/private/
Depois, podemos gerar o certificado SSL da seguinte forma:
openssl req -x509 -nodes -days 7300 -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem
Nome do País (código de 2 letras) [XX]: <– Digite o Nome do seu País (por exemplo, “DE”).
Nome do Estado ou Província (nome completo) []: <– Digite o Nome do seu Estado ou Província.
Nome da Localidade (por exemplo, cidade) [Cidade Padrão]: <– Digite sua Cidade.
Nome da Organização (por exemplo, empresa) [Empresa Padrão Ltda]: <– Digite o Nome da sua Organização (por exemplo, o nome da sua empresa).
Nome da Unidade Organizacional (por exemplo, seção) []: <– Digite o Nome da sua Unidade Organizacional (por exemplo, “Departamento de TI”).
Nome Comum (por exemplo, seu nome ou o nome do host do seu servidor) []: <– Digite o Nome de Domínio Totalmente Qualificado do sistema (por exemplo, “server1.example.com”).
Endereço de Email []: <– Digite seu Endereço de Email.
Altere as permissões do certificado SSL:
chmod 600 /etc/ssl/private/pure-ftpd.pem
Finalmente, reinicie o PureFTPd:
systemctl restart pure-ftpd.service
É isso. Agora você pode tentar se conectar usando seu cliente FTP; no entanto, deve configurar seu cliente FTP para usar TLS.
18 Instalar BIND
Podemos instalar o BIND da seguinte forma:
yum -y install bind bind-utils
Em seguida, abra /etc/sysconfig/named…
nano /etc/sysconfig/named
… e certifique-se de que a linha ROOTDIR=/var/named/chroot esteja comentada:
# Opções do processo BIND named
# ~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# OPTIONS="whatever" -- Essas opções adicionais serão passadas para o named
# na inicialização. Não adicione -t aqui, habilite o arquivo de unidade -chroot.service apropriado.Faça um backup do arquivo existente /etc/named.conf e crie um novo da seguinte forma:
cp /etc/named.conf /etc/named.conf_bak
cat /dev/null > /etc/named.conf
nano /etc/named.conf
// named.conf\
//\
// Fornecido pelo pacote bind da Red Hat para configurar o servidor DNS ISC BIND named(8)\
// como um servidor de nomes apenas em cache (como um resolvedor DNS localhost apenas).\
//\
// Veja /usr/share/doc/bind*/sample/ para arquivos de configuração nomeados de exemplo.\
options {\
listen-on port 53 { any; };\
listen-on-v6 port 53 { any; };\
directory "/var/named";\
dump-file "/var/named/data/cache_dump.db";\
statistics-file "/var/named/data/named_stats.txt";\
memstatistics-file "/var/named/data/named_mem_stats.txt";\
allow-query { any; };\
recursion no;\
};\
logging {\
channel default_debug {\
file "data/named.run";\
severity dynamic;\
};\
};\
zone "." IN {\
type hint;\
file "named.ca";\
};\
include "/etc/named.conf.local";\Crie o arquivo /etc/named.conf.local que é incluído no final de /etc/named.conf (/etc/named.conf.local será posteriormente preenchido pelo ISPConfig se você criar zonas DNS no ISPConfig):
touch /etc/named.conf.local
Em seguida, criamos os links de inicialização e iniciamos o BIND:
systemctl enable named.service
systemctl start named.service
19 Instalar Webalizer e AWStats
Webalizer e AWStats podem ser instalados da seguinte forma:
yum -y install webalizer awstats perl-DateTime-Format-HTTP perl-DateTime-Format-Builder
20 Instalar Jailkit
O Jailkit é necessário apenas se você quiser chroot usuários SSH. Ele pode ser instalado da seguinte forma (importante: o Jailkit deve ser instalado antes do ISPConfig - não pode ser instalado depois!):
cd /tmp
wget http://olivier.sessink.nl/jailkit/jailkit-2.17.tar.gz
tar xvfz jailkit-2.17.tar.gz
cd jailkit-2.17
./configure
make
make install
cd ..
rm -rf jailkit-2.17*
21 Instalar fail2ban
Isso é opcional, mas recomendado, porque o monitor do ISPConfig tenta mostrar o log:
yum -y install fail2ban
Devemos configurar o fail2ban para registrar no arquivo de log /var/log/fail2ban.log porque este é o arquivo de log que é monitorado pelo módulo Monitor do ISPConfig. Abra /etc/fail2ban/fail2ban.conf…
nano /etc/fail2ban/fail2ban.conf
… e certifique-se de que logtarget = /var/log/fail2ban.log:
[...]
# Opção: logtarget
# Notas.: Defina o alvo do log. Isso pode ser um arquivo, SYSLOG, STDERR ou STDOUT.
# Apenas um alvo de log pode ser especificado.
# Se você alterar logtarget do valor padrão e estiver
# usando logrotate -- ajuste ou desative a rotação no
# arquivo de configuração correspondente
# (por exemplo, /etc/logrotate.d/fail2ban em sistemas Debian)
# Valores: [ STDOUT | STDERR | SYSLOG | FILE ] Padrão: STDERR
#
logtarget = /var/log/fail2ban.log
[...]Em seguida, crie os links de inicialização do sistema para o fail2ban e inicie-o:
systemctl enable fail2ban.service
systemctl start fail2ban.service
22 Instalar rkhunter
rkhunter pode ser instalado da seguinte forma:
yum -y install rkhunter
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.