Apache 2 com php5 e php4 juntos

Publicado por albert guedes em 29/06/2007

[ Hits: 17.157 ]

Blog: https://teko.net.br

 


Apache 2 com php5 e php4 juntos



Instalando e configurando:

A primeira coisa do tutorial que segui era instalar um mundão de pacotes:

# apt-get install apache2 apache2-common apache2-doc apache2-mpm-prefork apache2-utils libapr0 libexpat1 ssl-cert libapache2-mod-php5 php4-cgi 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

Boa parte deles não é necessário, mas instalei por tabela assim mesmo.

O tutorial agora me diz para editar o arquivo /etc/apache2/apache2.conf. Mudar a linha de:

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

No meu caso a bendita linha não existia no conf, logo acrescentei esta última, mas com o adicional de indicar que é um módulo, coisa que o artigo não dizia:

<IfModule mod_dir.c>
    DirectoryIndex index.html index.htm index.shtml index.cgi index.pl index.php index.php4 index.xhtml
</IfModule>

A próxima etapa é acrescentar o trecho no apache2.conf:

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

Coloque-o logo abaixo de qualquer outro trecho do "apache2.conf" que tenha a palavra 'AddHandler', se colocar em outro lugar vai dar erro na certa.

Agora teremos que criar uns links, o tutorial dizia para usar o programa "a2enmod", mas eu não encontrei em repositório 'deb' nenhum, logo criei na mão os links, para isso, devemos ir para o diretório /etc/apache2 e fazer:

# ln -s mods-available/actions.load mods-enabled/actions.load
# ln -s mods-available/ssl.load mods-enabled/ssl.load
# ln -s mods-available/ssl.conf.load mods-enabled/ssl.conf
# ln -s mods-available/ssl.load mods-enabled/rewrite.load
# ln -s mods-available/ssl.load mods-enabled/suexec.load
# ln -s mods-available/ssl.load mods-enabled/include.load


Ok, nesta parte o Apache deve estar funcionando, então, escreva um script em PHP chamado "info.php" e um outro igualzinho chamado "info.php4" com o conteúdo:

<?
phpinfo();
?>

E salve-os em "/var/www" e recomece o apache como root ou com "sudo".

$ sudo /etc/init.d/apache2 restart

Digite no seu browser "http://<seu ip>/info.php" e em outra janela digite "http://<seu ip>/info.php4".

E se estiver tudo bem, você verá na primeira tela o script sendo executado diretamente pelo apache2 e na segunda o script em php4 sendo executado como cgi.

O diretório de usuário:

Com a alegria de ter o php funcionando no apache, o balde de água fria agora é que o diretório "public_html" de usuário que não é reconhecido. Mas este problema se resolve com apenas uma linha:

$ ln -s mods-available/userdir.load mods-enabled/userdir.load

Não esquecer, este comando deve ser executado como root ou com o "sudo" no diretório "/etc/apache2". Reinicie o apache e verifique no seu browser digitando:

http://<seu ip>/~<usuário>/index.php

Onde obviamente deve ter um diretório "public_html" no diretório do "<usuário>" e um script em php "index.php" dentro do mesmo.

Conclusão:

Esta instalação eu fiz para uso próprio, quer dizer, desenvolver minhas próprias páginas em php, portanto não sei o quanto ela é boa se você quiser montar um servidor de verdade, mas se já ajudou a esclarecer alguma coisa, meu trabalho está feito.

Agradeço se me enviarem críticas (construtivas) e sugestões.

Referências:
Outras dicas deste autor

Dando permissão a outros usuários para usarem os devices

Configurando o X em sistemas Debian ou similares na linha de comando

Programa exemplo em Assembler para Linux

Como pegar mapas para UrbanTerror facilmente

Usando repositórios do Yum no Zypper do SuSE

Leitura recomendada

APT-GET.org - Encontre novos repositórios não-oficiais para o Debian

Instalando XMMS no Ubuntu 9.04

Backup com TAR

Slackware em modo texto - Apagão na tela durante inicialização

O que é a certificação LPIC-1

  

Comentários
[1] Comentário enviado por canaman em 29/06/2007 - 09:56h

Olá amigo! O programa a2enmod e o a2ensite vem com o apache2 no debian, não precisa instalar nenhum pacote adicional, basta executá-lo como root. Na verdade eles são só um shell script que faz a criação dos links de forma automática.
Abraços,

[2] Comentário enviado por albertguedes em 29/06/2007 - 11:58h

Valeu canaman, e que eu procurei e nao achei o "a2enmod" no Debian e ainda por cima cometi um erro de revisao ai em cima, entao, para quem estiver lendo a dica tem uma errata:
Na parte de criacao dos links, o correto e

# ln -s mods-available/actions.load mods-enabled/actions.load
# ln -s mods-available/ssl.load mods-enabled/ssl.load
# ln -s mods-available/ssl.conf mods-enabled/ssl.conf
# ln -s mods-available/rewrite.load mods-enabled/rewrite.load
# ln -s mods-available/suexec.load mods-enabled/suexec.load
# ln -s mods-available/include.load mods-enabled/include.load

Desculpa pelo engano pessoal.

[3] Comentário enviado por Pilantra em 10/03/2008 - 09:59h

Olá amigo!!

Você sabe me dizer como eu faço o esquema com o RedHat pra carregar o PHP 4 e 5 juntos? Infelizmente os servidores aqui no trampo são RedHat e o yum é um esquema diferente do apt-get, não tem como instalar duas versões juntas assim!

Valeu.

[4] Comentário enviado por albertguedes em 10/03/2008 - 10:23h

Bom Pilantra, tirando a parte de instalação dos pacotes, todo o resto da dica você pode fazer no RH igualzinho.
Os pacotes você pode baixar as versões deb e converter em rpm usando o comando 'alien', se tiver instalado ai, ok ?
Se precisar, tenho este link que dá uma luz na instalação do apache2+php5 que server para todas as distros

http://dan.drydog.com/apache2php.html



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts