|
|||||||
| Wiki | Classificados | Galeria | Reviews | Jogos | Comunidades | RSS Feeds | FAQ | Termos de Uso | Sobre |
| Cadastre-se | Fotos | Blogs | Lista de Membros | Calendário | Pesquisar | Mensagens de Hoje | Marcar Fóruns Como Lidos |
FerramentasPublicidade |
From UnderLinux Wiki
[editar] Rodando PHP4 e PHP5 ao mesmo tempoAutor: 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ê! [editar] 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 [editar] Instalação do Apache2 e seus módulosAgora 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 [editar] Configuração do ApacheEdite 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 [editar] Testando a configuraçãoAgora 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: info.php4: [editar] 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) [editar] Instalação do Apache2 e seus módulosAgora 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 [editar] Configuração do ApacheEdite 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 [editar] Testando a configuraçãoAgora 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: info.php4: 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 |