Manual do PHP
Anterior | Capítulo 4. Instalação em sistemas Unix | Próxima

# Apache 2.0 em sistemas Unix

Essa seção contem notas e dicas específicas para a instalação do Apache 2.0 com o PHP em sistemas Unix.

Atenção
Nós não recomendamos a utilização de um threaded MPM em produção com o Apache2. Use ao invés prefork MPM, ou use Apache1. para informações sobre o motivo, leia este faq sobre usando Apache2 com um threaded MPM

Você é fortemente encorajado a ler a Documentação do Apache para obter um entendimento básico do servidor Apache 2.0.

> Notas de compatibilidade do PHP e Apache 2.0.x: As seguintes versões do PHP são compatíveis com a versão mais recente do Apache 2.0.x:

> - PHP 4.3.0 ou superior, disponível em http://www.php.net/downloads.php.
> - A última versão estável de desenvolvimento. Pegue o código fonte http://snaps.php.net/php5-latest.tar.gz ou baixe os binários para o Windows http://snaps.php.net/win32/php5-win32-latest.zip.
> - Uma versão pre-release disponível para download em http://qa.php.net/.
> - Você sempre tem a opção de obter o PHP através da conta anônima do CVS.
> Essas versões do PHP são compatíveis com Apache 2.0.40 ou superior.

> Suporte a SAPI do Apache 2.0 começou no PHP 4.2.0. PHP 4.2.3 funciona com Apache 2.0.39, não use qualquer outra versão de Apache com PHP 4.2.3. No entando, a configuração recomendada é usar o 4.3.0 ou superior com a versão mais recente do Apache2.

> Todas as versões mencionadas do PHP ainda funcionarão com Apache 1.3.x.

Baixe a versão mais recente do Apache 2.0 e uma versão adequada do PHP dos lugares mencionados acima. Esse guia rápido cobre apenas o básico para para começar a usar o Apache 2.0 e o PHP. Para mais informação, leia a Documentação do Apache Os número de versão foram omitidos para assegurar que as instruções não estejam incorretas. Você precisará substituir o 'NN' com os valores corretos dos seus arquivos.

Exemplo 4-4. Instruções de Instalação (Versão de Módulo Compartilhado do Apache 2)

    1.  gzip -d httpd-2_0_NN.tar.gz
    2.  tar xvf httpd-2_0_NN.tar
    3.  gunzip php-NN.tar.gz
    4.  tar -xvf php-NN.tar
    5.  cd httpd-2_0_NN
    6.  ./configure --enable-so
    7.  make
    8.  make install

        Agora você tem o Apache 2.0.NN disponível no diretório /usr/local/apache2,
        configurado com suporte a módulo compartilhado e o prefork MPM padrão.
        Para testar a instalação use o procedimento normal para iniciar
        o servidor Apache, ex.:
        /usr/local/apache2/bin/apachectl start
        e pare o servidor para ir para a configuração do PHP:
        /usr/local/apache2/bin/apachectl stop.

    9.  cd ../php-NN

    10. Agora, configure o seu PHP. É aqui que você personaliza seu PHP
        com várias opções, como quais extensões serão habilitadas. Execute o
        comando ./configure --help para uma lista das opções disponíveis. No nosso exemplo
        nós faremos uma simples configuração com Apache 2 e suporte ao MySQL. Seu caminho
        para o arquivo apxs pode ser diferente do exemplo. De fato, o binário pode até ser
        chamado de apxs2 no seu sistema.

          ./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql

    11. make
    12. make install

        Se você decidir mudar as opções de seu configure depois da instalação
        você precisará somente repetir os últimos 3 passos. Você somente precisará
        reiniciar o Apache para o novo módulo funcionar. Não será necessário recompilar
        o Apache.

        Note que, por padrão, 'make install' também instalará PEAR, além
        de várias ferramentas do PHP como phpize, instalar o CLI do PHP e mais.

    13. Configurando seu arquivo php.ini:

        cp php.ini-dist /usr/local/lib/php.ini

        Você pode editar o seu arquivo .ini para configurar as opções do PHP.  Se
        você preferir que este arquivo fique em outro lugar, use a opção
        --with-config-file-path=/caminho no passo 10.

        Se ao invés de escolher o arquivo php.ini-dist, você escolher o arquivo php.ini-recommended,
        leia a lista de mudanças dentro do mesmo, uma vez que elas afetam a maneira como o PHP se comporta.

    14. Edite o seu arquivo httpd.conf para carregar o módulo do PHP. O caminho no lado direito
        do comando LoadModule deve apontar para para o caminho do módulo PHP no seu sistema.
        O comando make install acima já deve ter adicionado estas linhas, mas tenha certeza
        de que as linhas abaixo foram adicionadas ao arquivo.

        Para o PHP 4:

          LoadModule php4_module libexec/libphp4.so

        Para o PHP 5:

          LoadModule php5_module libexec/libphp5.so

    15. Diga ao Apache para avaliar certas extensões como PHP. Por exemplo,
        vamos fazer o Apache interpretar a extensão .php como um script PHP. Você poderia
        ter qualquer extensão(ões) avaliadas como PHP simplesmente adicionando-as, com
        cada uma separada por um espaço. Vamos adicionar .phtml para demonstrar.

          AddType application/x-httpd-php .php .phtml

        Também é comum configurar a extensão .phps para mostrar o código-fonte
        do script PHP com highlight, isso pode ser feito com:

          AddType application/x-httpd-php-source .phps

    16. Use seu procedimento normal para iniciar o servidor Apache ex.:

          /usr/local/apache2/bin/apachectl start

Seguindo os passos acima você terá rodando o Apache 2.0 com suporte para o PHP como um módulo `SAPI`. Claro que existem muitas outras opções de configuração disponível para ambos, Apache e o PHP. Para mais informações use o comando ./configure --help na árvore de arquivos fontes correspondente. Caso você desejar compilar uma versão multithreaded do Apache 2.0, você deve sobrescrever o Módulo-MPM padrão `prefork` ou com o módulo `worker` ou com o `perchild`. Para fazer isso, acrescente ao comando configure no passo 6 acima a opção `--with-mpm=worker` ou `--with-mpm=perchild`. Tome cuidado com as consequências e entenda o que está fazendo. Para mais informações, leia a documentação do Apache sobre os Módulos-MPM.

> Nota: Se você quiser usar negociação de conteúdo, leia o FAQ relacionado à MultiViews.

> Nota: Para compilar uma versão multithreaded do Apache, seu sistema deve suportar threads. Isso também implica compilar o PHP com o Zend Thread Safety (ZTS) experimental. Portanto, nem todas as extensões podem estar disponíveis. A configuração recomendada para compilar o Apache é com o Módulo-MPM `prefork` padrão.

Anterior | Principal | Próxima
Instalação em sistemas Unix | Acima | Caudium