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-develEm seguida, edite /etc/httpd/conf/httpd.conf:
vi /etc/httpd/conf/httpd.confe 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 onInicie o Apache:
/etc/init.d/httpd start12.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 restart12.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-develEm 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 installFinalmente, 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 restart13 ProFTPd
O ISPConfig tem melhor suporte para proftpd do que vsftpd, então vamos remover o vsftpd:
yum remove vsftpdComo 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/proftpdAgora 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/proftpdEm 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 onE finalmente iniciamos o Proftpd:
/etc/init.d/proftpd startReceba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.