Servidor · 5 min read · Nov 17, 2025

O Servidor Perfeito - Fedora 15 x86_64 [ISPConfig 2] - Página 5

13 Apache2 Com PHP, Ruby, Python, WebDAV

Agora instalamos o Apache com PHP5 (este é o PHP 5.3.6):

yum install php php-devel php-gd php-imap php-ldap php-mysql php-odbc php-pear php-xml php-xmlrpc php-eaccelerator php-magickwand php-magpierss php-mapserver php-mbstring php-mcrypt php-mssql php-shout php-snmp php-soap php-tidy curl curl-devel perl-libwww-perl ImageMagick libxml2 libxml2-devel

Então 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

13.1 Desativar 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 desativado globalmente, porque caso contrário todos os sites poderiam executar scripts PHP, não importa o que você especifique no ISPConfig.

Para desativar 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 da web geradas dinamicamente. # LoadModule php5_module modules/libphp5.so LoadModule php5_module modules/libphp5-zts.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

13.2 Ruby

A partir da versão 2.2.20, o ISPConfig tem suporte embutido para Ruby. Em vez de usar CGI/FastCGI, o ISPConfig depende do mod_ruby estar disponível no Apache do servidor.

Para Fedora 15, não há pacote mod_ruby disponível, então devemos compilá-lo nós mesmos. Primeiro instalamos alguns pré-requisitos:

yum install httpd-devel ruby ruby-devel

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

cd /tmp
wget http://modruby.net/archive/mod_ruby-1.3.0.tar.gz
tar zxvf mod_ruby-1.3.0.tar.gz
cd mod_ruby-1.3.0/
./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 RubyAddPath /1.8 |

… e reiniciamos o Apache:

/etc/init.d/httpd restart

(Se você deixar de fora a diretiva RubyAddPath /1.8, você verá erros como os seguintes no log de erros do Apache quando chamar arquivos Ruby:

[Thu May 26 02:05:05 2011] [error] mod_ruby: ruby:0:in require': no such file to load -- apache/ruby-run (LoadError) [Thu May 26 02:05:05 2011] [error] mod_ruby: failed to require apache/ruby-run [Thu May 26 02:05:05 2011] [error] mod_ruby: error in ruby ) Você pode encontrar mais detalhes sobre mod_ruby neste artigo. #### 13.3 Instalando mod_python Para instalar mod_python, simplesmente executamos... ``` yum install mod_python ``` ... e reiniciamos o Apache em seguida: ``` /etc/init.d/httpd restart ``` #### 13.4 WebDAV O WebDAV já deve estar habilitado, mas para verificar isso, abra /etc/httpd/conf/httpd.conf e certifique-se de que os seguintes três módulos estão ativos: ``` vi /etc/httpd/conf/httpd.conf ``` | ``` [...] LoadModule auth_digest_module modules/mod_auth_digest.so [...] LoadModule dav_module modules/mod_dav.so [...] LoadModule dav_fs_module modules/mod_dav_fs.so [...]``` | Se você tiver que modificar /etc/httpd/conf/httpd.conf, não se esqueça de reiniciar o Apache em seguida: ``` /etc/init.d/httpd restart ``` ### 14 ProFTPd O ISPConfig tem melhor suporte para proftpd do que vsftpd, então vamos remover o vsftpd e instalar o proftpd: ``` yum remove vsftpd ``` ``` yum install proftpd ``` Agora podemos criar os links de inicialização do sistema para o Proftpd e iniciá-lo: chkconfig --levels 235 proftpd on /etc/init.d/proftpd start ### 15 Webalizer Para instalar o webalizer, basta executar ``` yum install webalizer ``` ### 16 Sincronizar O Relógio Do Sistema Se você deseja ter o relógio do sistema sincronizado com um servidor NTP, faça o seguinte: ``` yum install ntp ``` chkconfig --levels 235 ntpd on ntpdate 0.pool.ntp.org /etc/init.d/ntpd start ### 17 Instalar Alguns Módulos Perl O ISPConfig vem com o SpamAssassin que precisa de alguns módulos Perl para funcionar. Instalamos os módulos Perl necessários com um único comando: ``` yum install perl-HTML-Parser perl-DBI perl-Net-DNS perl-Digest-SHA1 perl-ExtUtils-AutoInstall perl-NetAddr-IP perl-Archive-Tar ``` ### 18 ISPConfig A configuração do servidor agora está concluída. Você pode agora instalar o ISPConfig nele, seguindo estas instruções: http://www.ispconfig.org/manual_installation.htm Antes de instalar o ISPConfig, há uma coisa importante que você deve fazer. Abra /usr/include/stdio.h e substitua getline por parseline na linha 673: ``` vim /usr/include/stdio.h ``` | ``` [...] /* Comogetdelim’, mas lê até uma nova linha.

Esta função não faz parte do POSIX e, portanto, não é um ponto de cancelamento oficial. Mas devido à semelhança com uma interface POSIX ou devido à implementação, é um ponto de cancelamento e, portanto, não é marcado com THROW. / extern _IO_ssize_t parseline (char *restrict __lineptr,

                        size_t *__restrict __n,
                        FILE *__restrict __stream) __wur;

#endif […]| Se você não fizer isso, a instalação falhará devido ao seguinte erro: htpasswd.c:101: error: conflicting types for âgetlineâ /usr/include/stdio.h:653: note: previous declaration of âgetlineâ was here make[2]: * [htpasswd.o] Error 1 make[2]: Leaving directory `/home/install_ispconfig/compile_aps/apache_1.3.41/src/support' make[1]: * [build-support] Error 1 make[1]: Leaving directory `/home/install_ispconfig/compile_aps/apache_1.3.41' make: *** [build] Error 2 ERROR: Could not make Apache Você pode desfazer a alteração em /usr/include/stdio.h após a instalação bem-sucedida do ISPConfig (mas não se esqueça de mudar de volta sempre que quiser atualizar o ISPConfig!). #### 18.1 Uma Nota Sobre SuExec Se você deseja executar scripts CGI sob suExec, deve especificar /var/www como o diretório raiz da web para sites criados pelo ISPConfig, pois o suExec do Fedora é compilado com /var/www como Doc_Root. Execute /usr/sbin/suexec -V

e a saída deve ser parecida com isto:

[root@server1 ~]# /usr/sbin/suexec -V  
-D AP_DOC_ROOT="/var/www"  
-D AP_GID_MIN=100  
-D AP_HTTPD_USER="apache"  
-D AP_LOG_EXEC="/var/log/httpd/suexec.log"  
-D AP_SAFE_PATH="/usr/local/bin:/usr/bin:/bin"  
-D AP_UID_MIN=500  
-D AP_USERDIR_SUFFIX="public_html"  
[root@server1 ~]#

Então, se você quiser usar suExec com ISPconfig, não mude o diretório raiz da web padrão (que é /var/www) se você usar o modo especialista durante a instalação do ISPConfig (no modo padrão você não pode mudar o diretório raiz da web de qualquer forma, então você poderá usar suExec em qualquer caso).

### 19 Links

- Fedora: http://fedoraproject.org/
- Nomeação de Dispositivos de Rede: http://fedoraproject.org/wiki/Features/ConsistentNetworkDeviceNaming
- ISPConfig: http://www.ispconfig.org/
Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.