Configurando PHP com Apache2 no Linux

Neste artigo veremos como criar uma configuração básica para fazer o Apache2 trabalhar junto com o PHP no Linux. Um artigo de um iniciante para iniciantes.

[ Hits: 273.786 ]

Por: Guilherme Schmidt em 09/10/2005


Configurando o Apache para interpretar arquivos PHP



Após a instalação, precisamos configurar e ativar o PHP no arquivo de configuração do Apache.

Abra o arquivo abaixo com seu editor preferido, eu prefiro o VI:

# vi /usr/local/apache2/conf/httpd.conf

Vamos verificar se esta linha abaixo foi incluída corretamente:

    LoadModule php5_module        modules/libphp5.so

Esta linha carrega o módulo do PHP no Apache, geralmente ela é adicionada sozinha.

Vamos achar esta outra linha, esta linha serve para identificar as páginas iniciais. É daí quem vem os famosos "index.html":

    DirectoryIndex index.html index.html.var

Como eu gosto de configurar o meu Apache para abrir os meus index.php sozinho, configuro da seguinte forma:

    DirectoryIndex index.php index.html index.html.var

Agora vamos ver onde o Apache procura os arquivos para mostrar.

Esta linha diz onde o Apache busca nossos HTML e futuramente nossos PHP:

    DocumentRoot "/usr/local/apache/htdocs"

Eu costumo modificar esta linha para um outro diretório, acredito que muitos vão querer fazer isso, então está mostrada a opção.

Ufa, agora finalmente vamos fazer o Apache interpretar os arquivos com extensão .php.

Então vamos adicionar a seguinte linha, pode ser no final do arquivo:

    AddType application/x-httpd-php .php

Pronto, terminamos. Agora é só reiniciar o Apache:

# /usr/local/apache/bin/apachectl stop
# /usr/local/apache/bin/apachectl start


Poderíamos fazer algumas configurações no php.ini, mas como este artigo é para iniciantes, vamos deixar isto para outro artigo. Caso alguém queira, é claro. Fico no aguardo de manifestações.

Utilizei este processo para instalar no meu computador, então sei que funciona, mas caso alguém tenha algum problema, mande um email.

Espero realmente que tenha sido útil.

Um grande abraço,
Guilherme Schmidt.
gschmidtrj@yahoo.com.br

Página anterior    

Páginas do artigo
   1. Instalando o Apache2
   2. Instalando o PHP
   3. Configurando o Apache para interpretar arquivos PHP
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Instalando e configurando o Nagios com e sem MySQL

Quota - Criando e administrando no CentOS

Criando rotas via iptables para acesso remoto com VNC

Adicionando suporte ao Layer7 no Debian Lenny

Dhcp3-server e Bind9 no Debian 4 Etch Linux

  
Comentários
[1] Comentário enviado por cvs em 09/10/2005 - 20:32h

Vc realmente testou esse artigo? Realmente o fez?

Porque pelo que já passei com apache, acho que não funcionaria não... Porque na configuração do apache é necessario vc colocar a opção --enable-so pra habilitar a "DSO capability" dele que é a inserção de libs dinamicas sem precisar recompilar ele todas as vezes.

Ou já vem habilitado "de fabrica"?

[2] Comentário enviado por removido em 09/10/2005 - 23:29h

Mais um artigo escrito sem base nenhuma...

[3] Comentário enviado por schmidt em 09/10/2005 - 23:39h

CVS, eu não cheguei a estudar este parâmetro na instalação do apache, como coloquei é meu primeiro artigo e queria manter o foco nos iniciantes, até mesmo porque não conheço muito de linux mas sou programador PHP e preciso saber o mínimo pra colocar pra rodar.

Articulador, peço desculpas se não o agradei.
Sua crítica bem argumentada vai servir de base para os próximos.

Abraços!

[4] Comentário enviado por zilli em 10/10/2005 - 00:29h

FUNCIONA SIM!

O artigo esta correto. O que existe são pequenos erros encontrados normalmente nos artigos técnicos. EX:
Está:
# ./make && make install
o correto seria:
# make && make install

O artigo está bem escrito e é uma leitura válida.

Guillerme, agora quanto aos comentários não esquenta. Infelizmente algumas pessoas não pensam por elas mesmas e dizem sem "base nenhuma" o que os outros falam, mesmo se o que foi falado está errado ou não foi averigado.

Parabéns pelo artigo!


[5] Comentário enviado por cvs em 10/10/2005 - 07:36h

a opção que eu disse "--enable-so" é pra fazer com o que apache aceite libs dinamicas, por exemplo, ele ta instalado, eu vou la e compilo o php e não preciso recompilar o apache pra poder usar, depois de um mes eu quero usar o mod_perl, é só compilar ele com os parametros pro apache e ai nem vou precisar compilar o apache, entendeu?
É que eu não compilo ele sem essa opção, mas se tão dizendo que funciona , então tá beleza.

[6] Comentário enviado por schmidt em 10/10/2005 - 09:58h

Zilli,
na verdade este artigo foi re-publicado, provavelmente por causa dos problemas com o vol... sinceramente, não lembro de ter colocado './' na frente do make, mas tudo bem.
E valeu pelo apoio quantos aos comentários.
Abraços!

[7] Comentário enviado por Herr_Filip em 11/10/2005 - 08:40h

parabens! muito bom o artigo.

o fato de tu colocar como instalar via fonte (logo, qualquer distro) é muito importante.
também escrevi um artigo parecido, só que incluia o PostgreSQL, e claro, recebi várias criticas.

Agora eu nao publico mais coisa nenhuma!

Prefiro deixar os "para instalar use o apt-get" publicarem seus maravilhosos artigos "esse artigo só funciona no conectiva, ou no redhat, ou no debian, etc"

mais uma vez, parabens!!

[8] Comentário enviado por Herr_Filip em 11/10/2005 - 08:46h

apenas complementando, o tal de articulador nao tem artigo nenhum ,dica nenhuma, conf nenhuma, ele somente le o site

entao vamos ignorar comentarios imbecis como o dele, vamos pegar os artigos dos amigos que se prestam a fazer isso, conversar, trocar ideias, e publicar novos artigos, mais completos, mais seguros!! nao é esse o espirito?

e nao ficar só lendo, e criticando (assim como ele fez no meu ultimo artigo).

[9] Comentário enviado por kohl em 12/10/2005 - 17:14h

Muito bom o tutorial. Consegui instalar o Apache, mas o PHP nao, ele da o seguinte msg de erro:

[root@kohl php-5.0.5]# ./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-config-file-path=/etc/
creating cache ./config.cache
checking host system type... i686-pc-linux-gnu
checking for gcc... gcc
checking whether the C compiler (gcc ) works... yes
checking whether the C compiler (gcc ) is a cross-compiler... no
checking whether we are using GNU C... yes
checking whether gcc accepts -g... yes
checking whether gcc and cc understand -c and -o together... yes
checking how to run the C preprocessor... gcc -E
checking for AIX... no
checking if compiler supports -R... no
checking if compiler supports -Wl,-rpath,... yes
checking for re2c... exit 0;
checking whether ln -s works... yes
checking for gawk... gawk
checking for bison... no
checking for byacc... yes
checking for flex... lex
checking for yywrap in -ll... no
checking lex output file root... ./configure: line 2428: lex: command not found
configure: error: cannot find output from lex; giving up
[root@kohl php-5.0.5]#

oque poderia ser?

grato

[10] Comentário enviado por removido em 13/10/2005 - 17:11h

eu li o artigo e os comentários que só reclamaram, e não mostraram soluções...então corrigindo alguns detalhes...
Na instalação do apache:
#mkdir /usr/local/apache2 (o diretório tem que ser criado)
#./configure --prefix=/usr/local/apache2(no artigo havia um espaço entre prefix e o sinal de igual,isso da erro de sintaxe)
#make
#make install
==============================================
A parte da instalação do php está correta,esse poucos detalhes as vezes podem deixar o usuario frustrado,por causa de um erro simples de ser corrigido....
O artigo está muito bem feito e com certeza vai ajudar muitas pessoas,é isso ae Schmidt,quero ver mais artigos seus aqui no VOL e não se deixe levar pelos comentários ofensivos.
--slack-angel--

[11] Comentário enviado por thiago7 em 03/11/2005 - 14:55h

Guilherme, muito bom e didático seu tutorial. consegui instalar o PHP e o Apache, mas quando tento abrir um arquivo .php pelo browser, ele dá o erro 404, como se não tivesse encontrado no servidor. O que pode ser isso?
O arquivo é test.php
<?
phpinfo();
?>
e está dentro de htdocs.

[12] Comentário enviado por lemes-vilarinho em 28/03/2006 - 16:59h

Guilherme, muito bom seu tutorial. Mas quando eu abro o browser para verificar se o Apache foi instalado corretamente ele mostra um erro de conecão. Como eu faço pra corrigir esse erro. Vlw

[13] Comentário enviado por henrique.lcoelho em 09/05/2006 - 23:11h

Eu não estou conseguindo :(

root@linux01:/home/hlcoelho/Desktop/httpd-2.0.58# ./configure --prefix =/usr/local/apache2
configure: error: expected an absolute directory name for --prefix: =/usr/local/apache2
root@linux01:/home/hlcoelho/Desktop/httpd-2.0.58#

Abraços

[14] Comentário enviado por campos em 16/08/2006 - 00:34h

Consegui instalar perfeitamente seguindo o tutorial.

Parabéns.

[15] Comentário enviado por titasilveira em 06/12/2006 - 15:51h

Pessoal, estou iniciando em linux, e tenho o Kurumin 5.1 no PC. Estou interessao em me aventurar em PHP em Linux. Baixei estes arquivos que o Ximiti falou, passei um calvário pra poder pôr eles na pasta certa e na hora de descompactar não rola...Acontece que os arquivos que baixei não são httpd-2.0.54.tar.gz, como no tutorial, e sim httpd-2.2.3.tar.tar...aí dá um erro dizendo que não é um arquivo tz válido...como faço pra descompactar isso?

[16] Comentário enviado por titasilveira em 07/12/2006 - 13:52h

bom...chutei e renomeei o arquivo tirando a terminação .tar e pondo .gz. Funcionou! Nem acreditei! Mas na hora de comparar, a minha árvore de diretórios ficou assim: /usr/local/apache2/httpd-2.2.3

E na hora de rodar o apache, o caminho que vc passou foi
/usr/local/apache/bin/apachectl start , mas no meu sistema o arquivo apachectl ficou no caminho
/usr/local/apache2/httpd-2.2.3/support

Na linha /usr/local/apache/bin/apachectl start, está correta? Eu tenho que criar outra pasta apache? com a bin?
O que eu fiz de errado??? Por favor, me digam...

[17] Comentário enviado por greifell em 14/12/2006 - 20:52h

Cara parabéns pelo artigo... deu quase tudo certo, mas estou tendo problema ao startar o apache com o seguinte erro: Syntax error on line 233 of /usr/local/apache2/conf/httpd.conf:
Cannot load /usr/local/apache2/modules/libphp5.so into server: /usr/local/apache2/modules/libphp5.so: cannot open shared object file: No such file or directory

O meu httpd.conf nao tinha essa linha e eu adicionei ela...
LoadModule php5_module modules/libphp5.so

Alguem saberia como resolver esse problema???

[18] Comentário enviado por lazarodm em 20/05/2007 - 17:05h

bom artigo, suficiente para fazer a instalação na primeira tentativa...vlw

[19] Comentário enviado por fgorrese em 31/07/2007 - 17:53h

Caso apresente erro de Compilação
ex. nao pode criar executavel bla bla bla ...

instale glibc-devel
se for kubunto / Debian / etc ...
usem esse nome libc6-dev

[20] Comentário enviado por daniel.capua em 08/02/2010 - 15:45h

tentei e aparentemente funciona bem, só faltou rodar.
Depois de

# /usr/local/apache/bin/apachectl start

me retorna um erro como a seguir:

/usr/local/apache2/bin$ ./apachectl start
httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
(13)Permission denied: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
Unable to open logs

[21] Comentário enviado por josyrangel em 02/09/2010 - 21:17h

Oi,
O artigo me ajudou muito no processo de instalação, por tanto creio que é válido, porém encontrei dificuldades já mencionadas nas correções, parabéns...

[22] Comentário enviado por fhellery em 15/12/2010 - 15:05h

Oi sou novato no linux.
Depois de apanhar um pouco deu quase tudo certo,
mas quando rodo a linha
# ./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-config-file-path=/etc/
ocorre o seguinte erro
configure: error: xml2-config not found. Please check your libxml2 installation.

Agradeço a ajuda

ubuntu 10.04
apache httpd-2.2.17
php 5.2.15

[23] Comentário enviado por akamaru em 09/03/2011 - 22:24h

Oi fhellery...
Para resolver o seu problema você precisa instalar as bibliotecas libxml2 e libxml2-devel.
Se continuar com dúvida estou a disposição

[24] Comentário enviado por RenatoSantoss em 13/06/2011 - 19:58h

muito mais facil. ;)

http://www.apachefriends.org/pt_br/xampp-linux.html

[25] Comentário enviado por fmj1988 em 22/07/2011 - 12:54h

Durante a instalacao nao concegui copiar o arquivo php.ini com :
# cp php.ini-dist /etc/php.ini

pois nao existe o arquivo em questao somente os:
php.ini-development e php.ini-production
como eu faço???


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts