Servidor Web · 9 min read · Oct 07, 2025
O Servidor Perfeito - CentOS 6.3 x86_64 (nginx, Dovecot, ISPConfig 3) - Página 5
16 Instalar phpMyAdmin
Em seguida, instalamos o phpMyAdmin:
yum install phpmyadminEm seguida, mudamos a autenticação no phpMyAdmin de cookie para http:
vi /usr/share/phpmyadmin/config.inc.php| [...] /* Tipo de autenticação */ $cfg['Servers'][$i]['auth_type'] = 'http'; [...] |
Você agora 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 do aplicativo 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, 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 phpMyAdmin) de acordo:
vi /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:
/etc/init.d/nginx reload Então 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 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 $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 ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ { root /usr/share/; } } location /phpMyAdmin { rewrite ^/* /phpmyadmin last; } |
17 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 install mailmanAntes de podermos iniciar o Mailman, uma primeira lista de discussão chamada mailman deve ser criada:
/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…
vi /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
newaliasesdepois e reinicie o Postfix:
/etc/init.d/postfix restartCrie os links de inicialização do sistema para o Mailman e inicie-o:
chkconfig –levels 235 mailman on
/etc/init.d/mailman start
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://
18 Instalar PureFTPd
O PureFTPd pode ser instalado com o seguinte comando:
yum install pure-ftpdEm seguida, crie os links de inicialização do sistema e inicie o PureFTPd:
chkconfig –levels 235 pure-ftpd on
/etc/init.d/pure-ftpd start
Agora configuramos o PureFTPd para permitir sessões FTP e TLS. O 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 install opensslAbra /etc/pure-ftpd/pure-ftpd.conf…
vi /etc/pure-ftpd/pure-ftpd.confSe 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 utilizam 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 o 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.
Mude as permissões do certificado SSL:
chmod 600 /etc/ssl/private/pure-ftpd.pemFinalmente, reinicie o PureFTPd:
/etc/init.d/pure-ftpd restartÉ isso. Agora você pode tentar se conectar usando seu cliente FTP; no entanto, você deve configurar seu cliente FTP para usar TLS.
19 Instalar BIND
Podemos instalar o BIND da seguinte forma:
yum install bind bind-utilsEm seguida, abra /etc/sysconfig/named…
vi /etc/sysconfig/named… e certifique-se de que a linha ROOTDIR=/var/named/chroot esteja comentada:
| # Opções do processo BIND named # ~~~~~~~~~~~~~~~~~~~~~~~~~~ # Atualmente, você pode usar as seguintes opções: # # ROOTDIR="/var/named/chroot" -- executará o named em um ambiente chroot. # você deve configurar o ambiente chroot # (instalar o pacote bind-chroot) antes # de fazer isso. # NOTA: # Esses diretórios são montados automaticamente no chroot se estiverem # vazios no diretório ROOTDIR. Isso simplificará a manutenção do seu # ambiente chroot. # - /var/named # - /etc/pki/dnssec-keys # - /etc/named # - /usr/lib64/bind ou /usr/lib/bind (dependente da arquitetura) # # Esses arquivos também são montados se o arquivo de destino não existir # no chroot. # - /etc/named.conf # - /etc/rndc.conf # - /etc/rndc.key # - /etc/named.rfc1912.zones # - /etc/named.dnssec.keys # - /etc/named.iscdlv.key # # Não se esqueça de adicionar "$AddUnixListenSocket /var/named/chroot/dev/log" # linha ao seu arquivo /etc/rsyslog.conf. Caso contrário, seu registro se tornará # quebrado quando o daemon rsyslogd for reiniciado (devido a uma atualização, por exemplo). # # OPTIONS="whatever" -- Essas opções adicionais serão passadas para o named # na inicialização. Não adicione -t aqui, use ROOTDIR em vez disso. # # KEYTAB_FILE="/dir/file" -- Especifique o arquivo de chave do serviço named (para GSS-TSIG) # # DISABLE_ZONE_CHECKING -- Por padrão, o script de inicialização chama a # utilidade named-checkzone para cada zona para garantir que todas as zonas sejam # válidas antes do named iniciar. Se você definir esta opção # como 'sim', então o script de inicialização não realizará essas # verificações. |
Faça um backup do arquivo /etc/named.conf existente e crie um novo da seguinte forma:
cp /etc/named.conf /etc/named.conf_bak
cat /dev/null > /etc/named.conf
vi /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 (apenas como um resolvedor DNS localhost). // // Veja /usr/share/doc/bind*/sample/ para arquivos de configuração named 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; allow-recursion { none; }; }; 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.localEm seguida, criamos os links de inicialização e iniciamos o BIND:
chkconfig –levels 235 named on
/etc/init.d/named start
20 Instalar Webalizer e AWStats
Webalizer e AWStats podem ser instalados da seguinte forma:
yum install webalizer awstats perl-DateTime-Format-HTTP perl-DateTime-Format-BuilderReceba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.