Pular para o conteúdo

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.
Guilherme Schmidt schmidt
Hits: 276.453 Categoria: Linux Subcategoria: Configuração
  • Indicar
  • Impressora
  • Denunciar

Instalando o Apache2

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

Como este é meu primeiro artigo, pretendo manter meu foco nos usuários iniciantes e mostrar como criar uma configuração básica e fazer o PHP trabalhar com o Apache2 no Linux.

Antes de mais nada precisamos baixar os fontes do Apache2 e podemos fazer isto em:
Baixando a versão 'Unix Source'.

Descompactando:

# tar zxfv httpd-2.0.54.tar.gz
ou
# tar jxfv httpd-2.0.54.tar.bz2

# cd httpd-2.0.54

Esta linha é para configurá-lo na pasta /usr/local/apache2:

# ./configure --prefix =/usr/local/apache2
# make && make install


Com isso vamos ter nosso Apache instalado, agora vamos rodar e conferir o que fizemos:

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

Se tudo deu certo, acesse com seu navegador preferido o endereço:

http://localhost

Se o Apache mostrar uma página te dando os parabéns é sinal que fizemos corretamente.

   1. Instalando o Apache2
   2. Instalando o PHP
   3. Configurando o Apache para interpretar arquivos PHP
Nenhum artigo encontrado.

Instalando e configurando um servidor Jabber

coLinux - Linux dentro do Windows

Virtualização - Montando uma rede virtual para testes e estudos de serviços e servidores

Ajeitando o blackbox

Ativando o Modo Noturno via Linha de Comando no GNOME/Wayland

#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
#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

Entre na sua conta para comentar.