Como instalar e configurar
Apache Server e PHP como módulos dinâmicos no
linuxIntroduçãoEste artigo se destina aqueles
que desejam aprender ou aumentar ainda mais seus conhecimentos sobre a
instalação e configuração do, Apache Server e PHP.
Existem várias
maneiras para compilar essas duas ferramentas, mas neste artigo irei abordar
apenas uma delas, a
compilação como modulo dinâmico.
Porque
compilar o PHP como módulo dinâmico?Uma vantagem de usar este método
é que você pode recompilar o PHP sem precisar recompilar o Apache. Ainda,
algumas extensões para o PHP (como o suporte a Java) requerem que o PHP seja
compilado como um objeto dinâmico para que sejam executadas
devidamente.
O Apache Server precisará ser compilado e/ou recompilado
para que este suporte módulos dinâmicos.
A compilação como módulo
dinâmico é provavelmente melhor para a maioria das aplicações. Se for ligado de
maneira estática com o Apache, mais trabalho será requerido sempre que você
precisar alterar sua configuração PHP. Compilado como um executável CGI, há
preocupações com a segurança.
Verificando se existe um servidor
web instalado em seu sistemaAntes de tudo, entre em seu sistema em
modo de super usuário, pois iremos modificar configurações.
Para verificar se
já existe um servidor web rodando em seu sistema, abra um terminal e digite o
seguinte comando:
# ps -A | grep httpd
(ps seguido do prefixo -A pede uma listagem de todos os processos ativos no sistema,
seguido por | grep http, é feita uma filtragem onde só será exibido os processos httpd).
Se
nada acontecer significa que você não possui um servidor web rodando em seu
sistema.
Se você já possuir o Apache Server, passe para o carte de
configuração, agora se você possuir um servidor web ativo em seu sistema e não
for o Apache Server, você precisará desinstalá-lo para não entrar em conflito
com o Apache Server.
Para isto, verifique a documentação do servidor web
instalado em sua máquina.
O restante do artigo baseia-se em um sistema sem
nenhum servidor web instalado.
Adquirindo o Apache
ServerO Apache Server pode ser adquirido em seu site oficial,
http://apache.org/.
Baixe o código
fonte da última versão estável, neste caso, baixei o arquivo
"httpd-2.0.48.tar.gz". Como pode ver, iremos trabalhar com a geração
"2.0.x" do Servidor Apache, e a partir de agora irei me referir a versão
do Apache Server apenas desta maneira, cabendo a você substituir o
"x"
pelo número de sua versão do Apache.
Compilando o Apache
ServerComo já dito anteriormente, iremos compilar o apache para
suportar módulos dinâmicos.
Descompacte o arquivo para um diretório de sua
escolha, eu gosto de deixar tudo em
"/home". Será criado um diretório com
o mesmo nome do arquivo, mas é claro, sem a extensão
".tar.gz". Entre no
diretório criado para podermos executar os comandos necessários a sua
instalação.
# tar xvfz httpd-2.0.x.tar.gz
# cd httpd-2.0.x
Agora
que descompactamos o código fonte e estamos dentro diretório do Apache vamos
prosseguir compilando o Apache de modo que ele suporte módulos dinâmicos.
# make clean
* Caso você esteja recompilando seu apache.
# ./configure --enable-module=so --enable-rule=SHARED_CORE -prefix=/www
* Você pode escolher o diretório para a instalação do apache, neste caso, escolhi "/www".
# make
# make install
* Estas duas últimas operações podem demorar alguns minutos para se completarem.
Pronto,
agora você possui o Apache Server instalado em sua máquina.
Se desejar
configurar o apache para executar
"SHTML" e
"CGI" leia o tutorial
"Guia Rápido de Instalação e Configuração do Apache",
clicando aqui.
Vamos prosseguir instalando agora o
PHP.
Adquirindo o PHPO PHP pode ser adquirido em seu
site oficial,
http://php.net/.
Baixe o código fonte da última versão
estável, neste caso, baixei o arquivo
"php-4.3.4.tar.gz". Como pode
perceber, iremos trabalhar aqui com a geração
"4.3.x" do PHP, mas este
tutorial se aplica praticamente em toda a geração
"4.x", e a partir de
agora irei me referir a versão do PHP apenas desta maneira, cabendo a você
substituir o
"x" pelos números de sua versão do
PHP.
Compilando o PHPComo já dito anteriormente,
iremos compilar o PHP como um módulo dinâmico.
Descompacte o arquivo para um
diretório de sua escolha, eu gosto de deixar tudo em
"/home". Será criado
um diretório com o mesmo nome do arquivo, mas é claro, sem a extensão
".tar.gz". Entre no diretório criado para podermos executar os comandos
necessários a sua instalação.
# tar xvfz php-4.x.x.tar.gz
# cd php-4.x.x
Agora
que descompactamos o código fonte e estamos dentro diretório do PHP vamos
prosseguir compilando o PHP como um modulo dinâmico.
# make clean
# rm configure.cache
* Caso você esteja recompilando seu PHP.
# ./configure --with-apxs2=/www/bin/apxs
* Se você está compilando o PHP para trabalhar com o Apache Server 1.x, você deve
usar "--with-apxs" ao invés de "--with-apxs2". Neste comando é indicado também o caminho completo para o script
apxs dentro do diretório do Apache.
# make
# make install
* Estas duas últimas operações podem demorar alguns minutos para se completarem.
Pronto,
agora que compilamos o PHP como um módulo dinâmico, o próximo passo é configurar
o PHP e Apache Server.
Configurando o PHP e Apache
ServerA primeira etapa é copiar e renomear o arquivo
"php.ini-dist". Ao menos que você esteja familiarizado com as opções
avançadas de configuração irá querer o arquivo
"php.ini-optimized".
Renomeie o arquivo para
"php.ini" e copie para o diretório
"/usr/local/lib" (no meu caso foi este), este diretório pode variar
conforme a distribuição de seu sisetam, mas este diretório pode ser determinado
utilizando a função
"phpinfo()". Você também pode editar o
"php.ini" para configurar seu PHP conforme suas
necessidades.
Agora edite o arquivo dentro do seu diretório do apache
"/www/conf/httpd.conf" e faça as seguintes
modificações:
Modifique e-mail do administradorLocalize o
seguinte trecho:
#
# ServerAdmin: Your address, where problems with the server should be
# e-mailed. This address appears on some server-generated pages, such
# as error documents. e.g. admin@your-domain.com
#
ServerAdmin you@your.address
Altere inserindo seu endereço
de e-mail, exemplo:
ServerAdmin mauricio@phpnuke.org.br
Se
desejar ter seus scripts em outro lugar que não seja o diretório padrão do
Apache, altere a raiz do siteLocalize o seguinte trecho:
#
# DocumentRoot: The directory out of which you will serve your
# documents. By default, all requests are taken from this directory, but
# symbolic links and aliases may be used to point to other locations.
#
DocumentRoot "/www/htdocs"
Altere para:
DocumentRoot "/home/www"
No meu caso, gosto de deixar dentro do diretório home.
Para
o apache interpretar seus arquivos PHP
Insira as seguintes linhas no
arquivo:
AddType aplication/x-httpd .php .phtml .inc
Assim seu servidor web estará configurado para interpretar os arquivos de extensão PHP, PHTML
e a extensão genérica INC.
Configurando nome
dos ficheiros de índice
Localize o seguinte trecho:
# The index.html.var file (a type-map) is used to deliver content-
# negotiated documents. The MultiViews Option can be used for the
# same purpose, but it is much slower.
#
DirectoryIndex index.html index.html.var
Altere para:
DirectoryIndex index.html index.html.var index.php index.phtml index.inc
O servidor irá considerar a mesma ordem de disposição das extensões no arquivo httpd.conf
como ordem de preferência no momento de selecionar o índice.
Pronto,
você ja pode começar a escrever seus scripts.
Iniciando o Apache
Server
Para trabalhar com seu Apache Server, você precisa usar o
arquivo "apachectl" dentro do diretório de instalação do seu Apache, se
você seguiu exatamente os passos deste tutorial, seu arquivo estará em
"/www/bin".
Iniciando Apache server:
# /www/bin/apachectl start
Parando
seu Apache server:
# /www/bin/apachectl stop
Reiniciando
seu Apache server:
# /www/bin/apachectl restart
Testando a configuração
Vamos testar a configuração do
Apache Server com um script php:
-- arquivo: index.php --
<?
phpinfo();
?>
Salve este arquivo também, com as extensões
".phtml" e
".inc", para certificar-se de que eles estão sendo
interpretados.
Com o apache iniciado, abra um navegador e digite:
"http://localhost/", pode ser que
"http://localhost/" não esteja
disponível, neste caso utilize
"http://127.0.0.1/".
Deverá abrir
uma página repleta de informações sobre o PHP instalado em sua máquina.
Caso
isto não aconteça, reveja com cuidado todos os tópicos deste
artigo.
Iniciando o Apache Server durante a inicialização do
sistemaPara adicionar seu Apache Server na inicialização do sistema,
basta editar o arquivo de inicialização, normalmente encontrado em
"/etc/rc.d/rc.local" e inserir as seguintes linhas:
# Iniciar o Apache
# echo "Iniciando o Apache Server!"
/www/bin/apachectl start
AutorMaurício J. Fávaro - WebDeveloper
E-mail:
mauricio@phpnuke.org.br
Escrito em: 23/11/2003
Distribuição utilizada: Slackware 9
Versão do kernel: 2.4.20
Versão do PHP: 4.3.4
Versão do Apache Server: 2.0.48
Caso encontre erros de qualquer natureza, não exite em entrar em
contato.