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 (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/ (ftp://ftp.slackware.com/pub/slackware/slackware-11.0/source/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