Servidor Perfeito · 5 min read · Jan 16, 2026

O Servidor Perfeito - Fedora 10 [ISPConfig 3] - Página 5

14 Definir Senhas MySQL E Configurar phpMyAdmin

Inicie o MySQL:

chkconfig –levels 235 mysqld on
/etc/init.d/mysqld start

Em seguida, defina senhas para a conta root do MySQL:

mysqladmin -u root password yourrootsqlpassword
mysqladmin -h server1.example.com -u root password yourrootsqlpassword

Se o último comando gerar um erro…

[root@server1 i386]# mysqladmin -h server1.example.com -u root password howtoforge
mysqladmin: connect to server at ‘server1.example.com’ failed
error: ‘Access denied for user ‘root’@’localhost’ (using password: NO)’
[root@server1 i386]#

… podemos definir a senha da seguinte forma: conecte-se ao MySQL:

mysql -u root -p

Digite a senha para o usuário root do MySQL. Em seguida, no shell do MySQL, faça o seguinte:

mysql> USE mysql;
mysql> UPDATE user SET Password = password('yourrootsqlpassword') WHERE Host = 'server1.example.com' AND User = 'root';
mysql> UPDATE user SET Password = password('yourrootsqlpassword') WHERE Host = '127.0.0.1' AND User = 'root';

Execute

mysql> SELECT * FROM user;

para ter certeza de que todas as linhas onde o usuário é root têm uma senha.

Se tudo estiver ok, execute

mysql> FLUSH PRIVILEGES;

… e saia do shell do MySQL:

mysql> quit;

Agora configuramos o phpMyAdmin. Mudamos a configuração do Apache para que o phpMyAdmin permita conexões não apenas de localhost (comentando a seção ):

vi /etc/httpd/conf.d/phpMyAdmin.conf

| # phpMyAdmin - Navegador MySQL baseado na web escrito em php # # Permite apenas localhost por padrão # # Mas permitir phpMyAdmin a qualquer um além de localhost deve ser considerado # perigoso, a menos que devidamente protegido por SSL Alias /phpMyAdmin /usr/share/phpMyAdmin Alias /phpmyadmin /usr/share/phpMyAdmin # # order deny,allow # deny from all # allow from 127.0.0.1 # # Este diretório não requer acesso via HTTP - retirado do tarball original # phpMyAdmin upstream # Order Deny,Allow Deny from All Allow from None # Esta configuração impede que o mod_security nos diretórios do phpMyAdmin # filtre SQL etc. Isso pode quebrar sua implementação do mod_security. # # # # SecRuleInheritance Off # # |

Em seguida, criamos os links de inicialização do sistema para o Apache e o iniciamos:

chkconfig –levels 235 httpd on
/etc/init.d/httpd start

Agora você pode direcionar seu navegador para http://server1.example.com/phpmyadmin/ ou http://192.168.0.100/phpmyadmin/ e fazer login com o nome de usuário root e sua nova senha root do MySQL.

15 Instalar Amavisd-new, SpamAssassin E ClamAV

Para instalar amavisd-new, spamassassin e clamav, execute o seguinte comando:

yum install amavisd-new spamassassin clamav clamav-data clamav-server clamav-update unzip bzip2 perl-DBD-mysql

Quando instalamos o ClamAV, um cron job foi instalado que tenta atualizar o banco de dados de vírus do ClamAV a cada três horas. Mas isso funciona apenas se o ativarmos em /etc/sysconfig/freshclam e /etc/freshclam.conf:

vi /etc/sysconfig/freshclam

Comente a linha FRESHCLAM_DELAY no final:

| ## Ao alterar a periodicidade das execuções do freshclam no crontab, ## este valor deve ser ajustado também. Seu valor é o intervalo entre ## duas execuções subsequentes do freshclam em minutos. Ex. para o padrão ## ## | 0 */3 * * * ... ## ## linha do crontab, o valor é 180 (minutos). # FRESHCLAM_MOD= ## Um valor pré-definido para o atraso em segundos. Por padrão, o valor é ## calculado pelo programa 'hostid'. Este valor pré-definido garante ## intervalos constantes de 3 horas entre duas execuções subsequentes do freshclam. ## ## Esta opção aceita dois valores especiais: ## 'disabled-warn' ... desabilita a atualização automática do freshclam e ## emite um aviso ## 'disabled' ... desabilita a atualização automática do freshclam silenciosamente # FRESHCLAM_DELAY= ### !!!!! REMOVA-ME !!!!! ### REMOVA-ME: Por padrão, a atualização do freshclam está desabilitada para evitar ### REMOVA-ME: acesso à rede sem ativação prévia #FRESHCLAM_DELAY=disabled-warn # REMOVA-ME |

vi /etc/freshclam.conf

Comente a linha Exemplo:

| [...] # Comente ou remova a linha abaixo. #Example [...] |

Em seguida, iniciamos freshclam, amavisd e clamd…

chkconfig –levels 235 amavisd on
chkconfig –levels 235 clamd.amavisd on
/usr/bin/freshclam
/etc/init.d/amavisd start
/etc/init.d/clamd.amavisd start

… e mudamos a propriedade de alguns diretórios:

chown amavis /var/run/amavisd /var/spool/amavisd /var/spool/amavisd/tmp /var/spool/amavisd/db

16 Instalando Apache2 Com mod_php, mod_fcgi/PHP5, E suPHP

O ISPConfig 3 permite que você use mod_php, mod_fcgi/PHP5, cgi/PHP5 e suPHP com base em cada site.

Podemos instalar o Apache2 com mod_php5, mod_fcgid e PHP5 da seguinte forma:

yum install php php-devel php-gd php-imap php-ldap php-mysql php-odbc php-pear php-xml php-xmlrpc php-eaccelerator php-mbstring php-mcrypt php-mhash php-mssql php-snmp php-soap php-tidy curl curl-devel perl-libwww-perl ImageMagick libxml2 libxml2-devel mod_fcgid php-cli httpd-devel 

Em seguida, abrimos /etc/php.ini…

vi /etc/php.ini

… e mudamos o relatório de erros (para que os avisos não sejam mais exibidos) e adicionamos cgi.fix_pathinfo = 1 no final do arquivo:

| [...] ;error_reporting = E_ALL error_reporting = E_ALL & ~E_NOTICE [...] cgi.fix_pathinfo = 1 |

Em seguida, instalamos o suPHP:

cd /tmp
wget http://www.suphp.org/download/suphp-0.7.0.tar.gz
tar xvfz suphp-0.7.0.tar.gz
cd suphp-0.7.0/
./configure –prefix=/usr –sysconfdir=/etc –with-apr=/usr/bin/apr-1-config –with-apxs=/usr/sbin/apxs –with-apache-user=apache –with-setid-mode=owner –with-php=/usr/bin/php-cgi –with-logfile=/var/log/httpd/suphp_log –enable-SUPHP_USE_USERGROUP=yes
make
make install

Em seguida, adicionamos o módulo suPHP à nossa configuração do Apache…

vi /etc/httpd/conf.d/suphp.conf

| LoadModule suphp_module modules/mod_suphp.so |

… e criamos o arquivo /etc/suphp.conf da seguinte forma:

vi /etc/suphp.conf

| [global] ;Caminho para o logfile logfile=/var/log/httpd/suphp.log ;Nível de log loglevel=info ;Usuário que o Apache está executando webserver_user=apache ;Caminho que todos os scripts devem estar docroot=/ ;Caminho para chroot() antes de executar o script ;chroot=/mychroot ; Opções de segurança allow_file_group_writeable=true allow_file_others_writeable=false allow_directory_group_writeable=true allow_directory_others_writeable=false ;Verifique se o script está dentro do DOCUMENT_ROOT check_vhost_docroot=true ;Enviar mensagens de erro menores para o navegador errors_to_browser=false ;Variável de ambiente PATH env_path=/bin:/usr/bin ;Umask a ser definida, especifique em notação octal umask=0077 ; UID mínimo min_uid=100 ; GID mínimo min_gid=100 [handlers] ;Manipulador para scripts php x-httpd-suphp="php:/usr/bin/php-cgi" ;Manipulador para scripts CGI x-suphp-cgi="execute:!self" |

Finalmente, reiniciamos o Apache:

/etc/init.d/httpd restart

17 Instalar PureFTPd

O PureFTPd pode ser instalado com o seguinte comando:

yum install pure-ftpd

Em 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

18 Instalar MyDNS

Podemos instalar o MyDNS da seguinte forma:

wget http://mydns.bboy.net/download/mydns-mysql-1.1.0-1.i386.rpm
rpm -ivh mydns-mysql-1.1.0-1.i386.rpm

Quando o sistema inicializa, o MyDNS deve ser iniciado após o MySQL. O link de inicialização do MySQL tem a prioridade 64 no Fedora 10, então o link de inicialização do MyDNS deve ter uma prioridade entre 65 e 99. Portanto, abrimos o script de inicialização do MyDNS…

vi /etc/init.d/mydns

… e mudamos

| [...] # chkconfig: 345 52 50 [...] |

para

| [...] # chkconfig: 345 65 50 [...] |

Em seguida, criamos os links de inicialização:

chkconfig --levels 235 mydns on

Não iniciamos o MyDNS agora porque ele deve ser configurado primeiro - isso será feito automaticamente pelo instalador do ISPConfig 3 mais tarde.

19 Instalar Vlogger E Webalizer

Vlogger e webalizer podem ser instalados da seguinte forma:

yum install webalizer perl-DateTime-Format-HTTP perl-DateTime-Format-Builder

cd /tmp
wget http://n0rp.chemlab.org/vlogger/vlogger-1.3.tar.gz
tar xvfz vlogger-1.3.tar.gz
mv vlogger-1.3/vlogger /usr/sbin/
rm -rf vlogger*

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.