Visite também: Br-Linux ·  VivaOLinux ·  LinuxSecurity ·  Dicas-L ·  NoticiasLinux ·  SoftwareLivre.org ·  [mais]
Voltar   Under-Linux.org Fóruns > UnderLinux Wiki
Wiki Classificados Galeria Reviews Jogos Comunidades RSS Feeds FAQ Termos de Uso Sobre
Cadastre-se FotosBlogs Lista de Membros Calendário Pesquisar Mensagens de Hoje Marcar Fóruns Como Lidos

Ferramentas pessoais
Publicidade

From UnderLinux Wiki

Tabela de conteúdo

Rodando PHP4 e PHP5 ao mesmo tempo

Autor: Falko Timme <ft [at] falkotimme [dot] com>

Tradutor: Rafael M. Capovilla - 1c3_m4n - <under [at] underlinux [dot] com [dot] br>

Este tutorial mostra como instalar e configurar o Apache2 com PHP5 e PHP4 habilitados ao mesmo tempo. Como não é possível rodar os dois como módulos do Apache, precisamos rodar um deles como um CGI, e o outro como módulo. Neste documento vou utilizar o PHP5 como módulo e o PHP4 como CGI, e também irei descrever a configuração para as distribuições Linux Debian Sarge (3.1) e Ubuntu 5.10 (Breezy Badger).

Primeiramente gostaria de dizer que este não é o único caminho de fazer tal aplicação. Existem muitas maneiras de se atingir o mesmo objetivo, mas este é o caminho que escolhi. Não dou nenhuma garantia de que vai funcionar com você!

Configuração para Debian Sarge (3.1)

Primeiro, você deve pelo menos ter uma instalação básica (e funcionando) do Debian, como descrito nas primeiras duas páginas do tutorial "Perfect Setup" para Debian Sarge na HowtoForge: http://www.howtoforge.com/perfect_setup_debian_sarge e http://www.howtoforge.com/perfect_setup_debian_sarge_p2

Já que o PHP5 não está disponível nos repositórios oficiais do Debian precisamos adicionar outro repositório (packages.dotdeb.org) em nossa source list /etc/apt/sources.list. Coloque essas duas linhas:

deb http://packages.dotdeb.org stable all
deb-src http://packages.dotdeb.org stable all

no /etc/apt/sources.list (o meu se parece com isto:

deb http://ftp2.de.debian.org/debian/ stable main
deb-src http://ftp2.de.debian.org/debian/ stable main
deb http://packages.dotdeb.org stable all
deb-src http://packages.dotdeb.org stable all
deb http://security.debian.org/ stable/updates main

) e execute

apt-get update

Instalação do Apache2 e seus módulos

Agora podemos instalar o Apache2 assim como o módulo Apache2-PHP5 e o PHP4-CGI:

apt-get install apache2 apache2-doc
apt-get install libapache2-mod-php5 php4-cgi

Agora podemos instalar todos os módulos que precisaremos em nosso servidor, como estes:

apt-get install php5-curl php5-dev php5-gd php5-gmp php5-imap php5-ldap php5-mcrypt php5-mhash php5-ming php5-mysql php5-mysqli php5-odbc \
php5-pdo-mysql php5-pdo-sqlite php5-pear php5-pspell php5-snmp php5-sybase php5-tidy php4-curl php4-domxml php4-gd php4-gmp php4-imap php4-ldap \
php4-mcal php4-mcrypt php4-mhash php4-ming php4-mysql php4-odbc php4-pspell php4-recode php4-snmp php4-xslt php4-xdebug curl libwww-perl \
imagemagick

Configuração do Apache

Edite o /etc/apache2/apache2.conf. e Altere

DirectoryIndex index.html index.cgi index.pl index.php index.xhtml

para:

DirectoryIndex index.html index.htm index.shtml index.cgi index.pl index.php index.php4 index.xhtml

e adicione essas duas linhas (na seção que você pode encontras as diretivas AddType e AddHandler):

AddHandler php-script .php4
Action php-script /cgi-bin/php4

Isto fará com que os arquivos com a extensão .php4 sejam executados como CGI. Arquivos PHP com a extensão .php serão executados pelo módulo Apache2-PHP5.

O próximo passo é habilitar alguns módulos do Apache, como por exemplo o módulo actions (caso contrário não podemos rodar o PHP4 como CGI):

a2enmod actions
a2enmod ssl
a2enmod rewrite
a2enmod suexec
a2enmod include

Reinicie o Apache, e pronto!

/etc/init.d/apache2 restart

Testando a configuração

Agora podemos testar nossa instalação: Coloque dois arquivos, info.php e info.php4, com o mesmo conteúdo:

<?php
phpinfo();
?>

dentre de /var/www (este é o DocumentRoot default para o Apache2 do Debian) e tente acessá-los no navegador (se o endereço IP do servidor for por exemplo,192.168.0.100, você deve digitar http://192.168.0.100/info.php e http://192.168.0.100/info.php4). Você deverá ver duas versões diferentes do PHP, uma roda como módulo (PHP5), e a outra como CGI (PHP4):

info.php:

image:debian_php5.png

info.php4:

image:debian_php4.png

Configuração para Ubuntu 5.10 (Breezy Badger)

Esta configuração não será muito diferente da do Debian Sarge.

Primeiro, você precisa ter uma instalação básica e funcionando do Ubuntu 5.10, como descritas nas primeiras duas páginas do tutorial "Perfect Setup" para Ubuntu 5.10 Breezy Badger na HowtoForge: http://www.howtoforge.com/perfect_setup_ubuntu_5.10 e http://www.howtoforge.com/perfect_setup_ubuntu_5.10_p2

Os repositórios oficiais do Ubuntu contém pacotes tanto para PHP5 quanto para PHP4, então não precisamos adicionar novos repositórios. Contudo certifique-se que seu /etc/apt/sources.list se parece com isto:

deb http://de.archive.ubuntu.com/ubuntu breezy main restricted
deb-src http://de.archive.ubuntu.com/ubuntu breezy main restricted

deb http://de.archive.ubuntu.com/ubuntu breezy-updates main restricted
deb-src http://de.archive.ubuntu.com/ubuntu breezy-updates main restricted

deb http://de.archive.ubuntu.com/ubuntu breezy universe
deb-src http://de.archive.ubuntu.com/ubuntu breezy universe

deb http://security.ubuntu.com/ubuntu breezy-security main restricted
deb-src http://security.ubuntu.com/ubuntu breezy-security main restricted

deb http://security.ubuntu.com/ubuntu breezy-security universe
deb-src http://security.ubuntu.com/ubuntu breezy-security universe

Execute

apt-get update

depois de ter alterado o /etc/apt/sources.list. (se você alterou o seu)

Instalação do Apache2 e seus módulos

Agora podemos instalar o Apache2 bem como os módulos Apache2-PHP5 e PHP4-CGI:

apt-get install apache2 apache2-common apache2-doc apache2-mpm-prefork apache2-utils libapr0 libexpat1 ssl-cert
apt-get install libapache2-mod-php5 php4-cgi

Agora podemos instalar todos os módulos necessários em nosso servidor, assim:

apt-get install php5-imap php5-syck php-pear php5-curl php5-dev php5-gd php5-ldap php5-mhash php5-mysql php5-odbc php5-recode php5-snmp \
php5-sqlite php5-xmlrpc php5-xsl php4-auth-pam php4-imagick php4-mcrypt php4-rrdtool php4-sqlite php4-curl php4-domxml php4-gd php4-imap \
php4-ldap php4-mcal php4-mhash php4-mysql php4-odbc php4-pear php4-xslt

Configuração do Apache

Edite o /etc/apache2/apache2.conf. E altere

DirectoryIndex index.html index.cgi index.pl index.php index.xhtml

para

DirectoryIndex index.html index.htm index.shtml index.cgi index.pl index.php index.php4 index.xhtml

adicione essas duas linhas (na seção que você pode encontrar as direticas AddType e AddHandler):

AddHandler php-script .php4
Action php-script /cgi-bin/php4

Isto fará com que os arquivos PHP com a extensão .php4 sejam executados como CGI e arquivos .php sejam executados pelo módulo Apache2-PHP5.

Agora precisamos habilitar alguns módulos, como por exemplo o módulo actions (caso contrário não poderemos rodar o PHP4 como CGI):

a2enmod actions
a2enmod ssl
a2enmod rewrite
a2enmod suexec
a2enmod include

Reinicie o Apache, e pronto!

/etc/init.d/apache2 restart

Testando a configuração

Agora podemos testar nossa instalação: Coloque dois arquivos, info.php e info.php4, com o mesmo conteúdo:

<?php
phpinfo();
?>

dentro de /var/www (este é o DocumentRoot default document do Apache2 do Ubuntu) e tente acessá-los pelo navegador (se o endereço IP de seu servidor é 192.168.0.100, você deve digitar http://192.168.0.100/info.php e http://192.168.0.100/info.php4). Agora você deve ver duas versões diferentes do PHP, uma roda como módulo (PHP5) e a outra como CGI (PHP4):

info.php:

image:ubuntu_php5.png

info.php4:

image:ubuntu_php4.png

Links

   * Apache Webserver: http://httpd.apache.org
   * PHP: http://www.php.net
   * Debian: http://www.debian.org
   * Ubuntu: http://www.ubuntu.com
   * Dotdeb: http://www.dotdeb.org

Artigo traduzido de: http://www.howtoforge.com/apache2_with_php5_and_php4

Horários baseados na GMT -3. Agora são 0:50.


Powered by vBulletin®
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd
SEO by vBSEO 3.2.0 ©2008, Crawlability, Inc.