Slackware 11 com Apache 1.3.37 + PHP 5 + SSL + Oracle

Started by insanity, 01 de November , 2006, 05:22:19 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

insanity

Tenho a distribuição Slackware como número 2 em minha preferência, mas ontem ela ganhou 1 ponto em meu conceito. Tive a necessidade de subir um servidor Apache com PHP e suporte a banco de dados Oracle. Não precisava do servidor Oracle, apenas permitir que o PHP seja capaz de nele conectar.

Fiz toda a instalação do sistema operacional utilizando os pacotes padrão da distribuição, exceto o PHP que fiz a compilação pois necessitava da versão 5. Qual não foi minha surpresa quando, após tudo compilado e instalado o Apache morria silenciosamente após o start com um belo "Segmentation Fault". Acontece que para o módulo oci8 do PHP funcionar no Apache, este precisa ser compilado utilizando a libpthread (http://us3.php.net/oci8), que não vem no pacote padrão.

Para quem já compilou Apache + SSL + PHP sabe que é um pouco mais do que ./configure && make && make install....

Então, mãos à obra! Primeiro fiz o download dos fontes oficiais do Apache para a distribuição Slackware em:

ftp://ftp.slackware.com/pub/slackware/s ... /n/apache/

Este diretório possui 8 arquivos, baixe-os todos em um diretório dedicado para esta compilação e edite o arquivo apache.SlackBuild com o seu editor de textos preferido. Adicione a seguinte linha em qualquer parte do início do arquivo:
export LIBS=-lpthread
Uma sugestão de como ficaria o arquivo:

Quote#!/bin/sh
  #
  # Build and package an EAPI-enabled Apache on Slackware.
  # by:  David Cantrell
  # Maintained by:  Patrick Volkerding
  #
 
  APACHE_VER=1.3.37
  MODSSL_VER=2.8.28-1.3.37
  ARCH=${ARCH:-i486}
  BUILD=2
  CWD=$(pwd)
  # O Oracle é o culpado pela linha abaixo:
  export LIBS=-lpthread
  if [ "$TMP" = "" ]; then
   TMP=/tmp
   fi
   PKG=$TMP/package-apache
   (...)

Em seguida faça o arquivo ser executável com chmod +x apache.SlackBuild e execute-o. Se o ambiente de desenvolvimento de seu sistema estiver OK, em alguns segundos você terá um arquivo /tmp/apache-1.3.37-i486-2.tgz que é um pacote do Apache para Slackware capaz de rodar o módulo PHP com suporte a Oracle. Para confirmar, nada melhor que o bom e velho phpinfo()...

O que me deixou impressionado foi a facilidade para compilar e gerar o pacote com a opção necessária de forma tão facil e rápida. Após pouco mais de 15 minutos a partir do desespero de ter que recompilar o Apache, SSL, PHP, já estava tudo pronto e rodando.


Autor:  Marcio Merlone

Fonte: Dicas-L


// insanity