Servidor Web · 4 min read · Jan 19, 2026

O Servidor Perfeito - CentOS 5.2 - Página 6

12 Apache2 Com PHP & Ruby

Agora instalamos o Apache com PHP (este é o PHP 5.1.6):

yum install php php-devel php-gd php-imap php-ldap php-mysql php-odbc php-pear php-xml php-xmlrpc curl curl-devel perl-libwww-perl ImageMagick libxml2 libxml2-devel

Em seguida, edite /etc/httpd/conf/httpd.conf:

vi /etc/httpd/conf/httpd.conf

e mude DirectoryIndex para

| [...] DirectoryIndex index.html index.htm index.shtml index.cgi index.php index.php3 index.pl [...] |

Agora configure seu sistema para iniciar o Apache na inicialização:

chkconfig --levels 235 httpd on

Inicie o Apache:

/etc/init.d/httpd start

12.1 Desabilitar PHP Globalmente

(Se você não planeja instalar o ISPConfig neste servidor, por favor, pule esta seção!)

No ISPConfig você configurará o PHP por site, ou seja, você pode especificar qual site pode executar scripts PHP e qual não pode. Isso só pode funcionar se o PHP estiver desabilitado globalmente, pois caso contrário, todos os sites poderiam executar scripts PHP, não importando o que você especificar no ISPConfig.

Para desabilitar o PHP globalmente, editamos /etc/httpd/conf.d/php.conf e comentamos as linhas AddHandler e AddType:

vi /etc/httpd/conf.d/php.conf

| # # PHP é uma linguagem de script embutida em HTML que tenta facilitar para os desenvolvedores escreverem páginas web geradas dinamicamente. # LoadModule php5_module modules/libphp5.so # # Faz com que o interpretador PHP trate arquivos com a extensão .php. # #AddHandler php5-script .php #AddType text/html .php # # Adiciona index.php à lista de arquivos que serão servidos como índices de diretório. # DirectoryIndex index.php # # Descomente a linha a seguir para permitir que o PHP imprima arquivos .phps como código fonte PHP: # #AddType application/x-httpd-php-source .phps |

Depois reiniciamos o Apache:

/etc/init.d/httpd restart

12.2 Instalando mod_ruby

Para CentOS 5.2, não há pacote mod_ruby disponível, então devemos compilá-lo nós mesmos. Primeiro, instalamos algumas dependências:

yum install httpd-devel ruby ruby-devel

Em seguida, baixamos e instalamos o mod_ruby da seguinte forma:

cd /tmp  
wget http://www.modruby.net/archive/mod_ruby-1.2.6.tar.gz  
tar zxvf mod_ruby-1.2.6.tar.gz  
cd mod_ruby-1.2.6/  
./configure.rb --with-apr-includes=/usr/include/apr-1  
make  
make install

Finalmente, devemos adicionar o módulo mod_ruby à configuração do Apache, então criamos o arquivo /etc/httpd/conf.d/ruby.conf…

vi /etc/httpd/conf.d/ruby.conf

| LoadModule ruby_module modules/mod_ruby.so |

… e reiniciamos o Apache:

/etc/init.d/httpd restart

13 ProFTPd

O ISPConfig tem melhor suporte para proftpd do que vsftpd, então vamos remover o vsftpd:

yum remove vsftpd

Como o CentOS não tem pacote proftpd, temos que compilar o Proftpd manualmente:

cd /tmp/  
wget --passive-ftp ftp://ftp.proftpd.org/distrib/source/proftpd-1.3.1.tar.gz  
tar xvfz proftpd-1.3.1.tar.gz  
cd proftpd-1.3.1/  
./configure --sysconfdir=/etc  
make  
make install  
cd ..  
rm -fr proftpd-1.3.1*

O binário do proftpd é instalado em /usr/local/sbin, mas precisamos dele em /usr/sbin, então criamos um link simbólico:

ln -s /usr/local/sbin/proftpd /usr/sbin/proftpd

Agora crie o script de inicialização /etc/init.d/proftpd:

vi /etc/init.d/proftpd

| #!/bin/sh # $Id: proftpd.init,v 1.1 2004/02/26 17:54:30 thias Exp $ # # proftpd Este script shell cuida de iniciar e parar # proftpd. # # chkconfig: - 80 30 # description: ProFTPD é um servidor FTP aprimorado com foco em \ # simplicidade, segurança e facilidade de configuração. \ # Ele apresenta uma sintaxe de configuração muito semelhante ao Apache, \ # e uma infraestrutura de servidor altamente personalizável, \ # incluindo suporte para múltiplos servidores FTP 'virtuais', \ # FTP anônimo e visibilidade de diretório baseada em permissões. # processname: proftpd # config: /etc/proftp.conf # pidfile: /var/run/proftpd.pid # Fonte da biblioteca de funções. . /etc/rc.d/init.d/functions # Fonte da configuração de rede. . /etc/sysconfig/network # Verifica se a rede está ativa. [ ${NETWORKING} = "no" ] && exit 0 [ -x /usr/sbin/proftpd ] || exit 0 RETVAL=0 prog="proftpd" start() { echo -n "$"Iniciando $prog: " daemon proftpd RETVAL=$? echo [ $RETVAL -eq 0 ] && touch /var/lock/subsys/proftpd } stop() { echo -n "$"Desligando $prog: " killproc proftpd RETVAL=$? echo [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/proftpd } # Veja como fomos chamados. case "$1" in start) start ;; stop) stop ;; status) status proftpd RETVAL=$? ;; restart) stop start ;; condrestart) if [ -f /var/lock/subsys/proftpd ]; then stop start fi ;; reload) echo -n "$"Relendo a configuração do $prog: " killproc proftpd -HUP RETVAL=$? echo ;; *) echo "Uso: $prog {start|stop|restart|reload|condrestart|status}" exit 1 esac exit $RETVAL |

Então tornamos o script de inicialização executável:

chmod 755 /etc/init.d/proftpd

Em seguida, abrimos /etc/proftpd.conf e mudamos o Grupo para nobody:

vi /etc/proftpd.conf

| [...] Group nobody [...] |

Por razões de segurança, você também pode adicionar as seguintes linhas ao /etc/proftpd.conf (obrigado a Reinaldo Carvalho; mais informações podem ser encontradas aqui: http://proftpd.org/localsite/Userguide/linked/userguide.html):

vi /etc/proftpd.conf

| [...] DefaultRoot ~ IdentLookups off ServerIdent on "Servidor FTP pronto." [...] |

Agora podemos criar os links de inicialização do sistema para o Proftpd:

chkconfig --levels 235 proftpd on

E finalmente iniciamos o Proftpd:

/etc/init.d/proftpd start
Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.