Boletim ViaLinuxis

Jorge Kinoshita
Instalação do PHP em RedHat com MySQL

(un)subscribe
7-9-00

A dica de ontem funciona se você não estiver interessado em rodar o MySQL (ou bancos de dados) junto com o PHP.
Se você quiser ter o MySQL + PHP3 (está no 4) + apache rodando em seu Linux RedHat 6.1 a dificuldade é maior. Vamos para a receita de bolo de instalação (não vi isto de forma clara na internet):

1. Em primeiro lugar certifique-se de que o MySQL está bem instalado, faça testes rodando "mysql" e veja se o MySQL-devel está instalado (mesmo sem o devel, o comando MySQL vai funcionar). Eu tenho os seguintes pacotes rpm instalados:
MySQL-client-3.22.32-1
MySQL-3.22.32-1
MySQL-devel-3.22.32-1
MySQL-shared-3.22.32-1

2. O pacote php-3.0.12-6.i386.rpm que vem com o RedHat 6.1 NÃO ativa a conexão com o MySQL. Em http://www.udoj.org/php3/ você encontra rpms para corrigir o problema, mas eu pessoalmente não consegui usá-los porque foi compilada para gd >= 1.6.3 o que não é o caso de minha máquina (é uma mistura de redhat 6.0 e 6.1). Não testei em um RH6.1 puro mas se você tentar e conseguir me avise. Uma solução mais radical é esquecer RPMs e ir para as origens: http://www.php.net.

3. Faça o download de php-3.0.16.tar.gz em http://www.php.net

4. Expanda: tar -zxvf php-3.0.16.tar.gz

5. Vá para o diretório: cd php-3.0.16

6. Leia INSTALL e principalmente INSTALL.REDHAT. Cerfique-se /usr/sbin/apxs está de acordo.

7. Veja as instalações (ou update): (Já estão no CD do RH6.1). Trabalhar com apache acima de 1.3.9 é importante.

rpm -i apache-1.3.9-8.i386.rpm rpm -i apache-devel-1.3.9-8.i386.rpm rpm -i freetype-1.2-7.i386.rpm
8. De curiosidade, faça:
./configure --help

9. Faça a configuração:
./configure --with-apxs=/usr/sbin/apxs --with-mysql=/usr Veja que em INSTALL.REDHAT está escrito apenas "--with-mysql".

10. make
11. make install

12. Altere /etc/httpd/conf/httpd.conf descomentando as linhas
LoadModule php3_module modules/libphp3.so AddModule mod_php3.c AddType application/x-httpd-php3 .php3 AddType application/x-httpd-php3-source .phps
Em INSTALL.REDHAT está escrito:
LoadModule php3_module libexec/libphp3.so mas na verdade, no meu caso, era "modules" mesmo ao invés de "libexec" ("modules" é um link: modules -> ../../usr/lib/apache/). Isto causou várias mensagens de pedido de socorro na internet.

12. Reative o apache:
/etc/rc.d/init.d/httpd restart

Obs: Eu segui a receita do INSTALL.REDHAT e tive problemas. Um problema em particular era o seguinte: o apache reativava mas depois caia sem mensagens de erros nos logs. Após muito estudo cheguei à conclusão de que era devido à conexão mal feita com o mysql. O "/usr" em --with-mysql=/usr me fez diferença.

As perguntas mais recentes do fórum em: http://www.pcs.usp.br/cgi-bin/jkinoshi/ve.cgi são:
06-09-00 como configurar o apache parar fornecer paginas para certos IPs somente?
06-09-00 como converter codigo ASP em PHP?


^JC