O público alvo aqui direcionado são aqueles que querem compilar uma versão estável do servidor Apache, com suporte a PHP + a biblioteca gráfica GD, acesso ao banco de dados MySQL com o módulo de SSL para maior segurança, o módulo Perl para executar scripts entre outros.
IMAP, libmcrypt e mhash, expat e Sablotron, freetype2 e GD
Configuração do Apache
Para a correta instalação do PHP ele precisa dos sources
do Apache, que já foram extraídos no início do guia, mas
estes sources precisam também estar previamente configurados
para o PHP. O script de configuração será alterado depois, quando
for a vez de instalar o Apache, por enquanto só uma configuração
básica é necessária.
# cd /usr/local/src
# cd apache_1.3.3
# ./configure --prefix=/www
Configuração do IMAP para o PHP
Para que as funções de IMAP do PHP funcionem corretamente,
ele precisa de alguns arquivos de cabeçalho do c-client, que é
gerado pelo IMAP que baixamos. Nós vamos precisar copiar alguns
arquivos após a compilação do IMAP para os diretórios padrão
/usr/include e /usr/lib para que o PHP possa encontrá-los e
instalar sem terminar o script de configuração, pois se algum
arquivo necessário não é encontrado, a compilação PHP para com o
erro "Cannot find rfc922.h. Please check your IMAP installation
[Impossível encontrar rfc822.h. Por favor cheque a sua
instalação do IMAP]".
# cd /usr/local/src
# cd imap-2004a
# make slx SPECIALS="SSLDIR=/usr SSLINCLUDE=/usr/include SLLIB=/usr/lib"
# cd c-client
# cp c-client.a /usr/lib
# cp rfc822.h mail.h linkage.h /usr/include
Se você tem diretórios diferentes na sua versão do OpenSSL,
mude o comando "make" acima de acordo.
Instalando libmcrypt e mhash
libmcrypt é uma biblioteca de encriptação que você
provavelmente vai achar muito útil no PHP. Ela suporta vários
algoritmos diferentes e é usada por toda a Internet. mhash
é uma biblioteca que provê uma interface com um grande número de
algoritmos de hash. Um exemplo comum de algoritmo hash é o
MD5, que cria um número a partir de um arquivo, para
posterior verificação de autenticidade das cópias deste arquivo.
Instale o libmcrypt antes do mhash:
# cd /usr/local/src
# cd libmcrypt-2.5.7
# ./configure --prefix=/usr
# make
# make install
Agora instale o mhash:
# cd /usr/local/src
# cd mhash-0.9.1
# ./configure --prefix=/usr
# make
# make install
Pronto, agora as duas bibliotecas estão instaladas e operacionais.
Instalando Expat e Sablotron
Sablotron é um rápido processador de XML, que
transforma estes documentos usando a biblioteca XSLT. Ele
provê este mecanismo de XSLT para o PHP. Você vai precisar do
Sablotron se você usa ou pretende usar XML. Ele faz uso do
Expat XML parser, que precisamos instalar primeiro.
# cd /usr/local/src
# cd expat-1.95.7
# ./configure --prefix=/usr
# make
# make install
Agora o Sablotron.
# cd /usr/local/src
# cd Sablot-1.0.1
# ./configure --prefix=/usr
# make
# make install
O Expat e o Sablotron estão agora devidamente instalados e
prontos para processar arquivos XML.
Instalando freetype2 e GD
As bibliotecas zlib, libjpeg e libpng provavelmente já devem estar
instaladas no seu sistema, se não estiverem procure no CD da sua
distribuição que com certeza estarão lá. O próximo passo é
instalar o freetype2, que é necessário para o GD.
# cd/usr/local/src
# cd freetype-2.0.4
# make setup
# make
# make install
# ln -s /usr/local/include/freetype2/freetype /usr/local/include/freetype
Agora o GD:
# cd/usr/local/src
# cd gd-2.0.1
# make clean
# make install
Mais um passo ainda é necessário para a criação da biblioteca do GD:
a libgd.a, que vai ser incorporada ao PHP. Entre no diretório
/usr/local/src/gd-2.0.1 e edite o arquivo Makefile. Você pode
usar qualquer editor de texto.
DICA: pra quem não está acostumado com o vi: dentro do vi
você deve teclar 'i' para poder editar o texto. Após feitas as
modificações, tecle 'ESC' para voltar ao modo de comando e digite
':wq', para salvar as alterações e sair. Se você quiser sair sem
salvar, digite ':q!' após o 'ESC'.
# cd/usr/local/src
# cd gd-2.0.1
# vi Makefile
Agora dentro do arquivo Makefile procure a linha que começa com
LIBS, modificando-a para esta linha:
LIBS=libgd.a -lpng -lz -ljpeg -lfreetype -lm
E em seguida digite os seguintes comandos, ainda dentro do diretório
do GD (gd-2.0.1), para compilar a biblioteca e copiá-la para o lugar
certo:
[2] Comentário enviado por y2h4ck em 12/01/2005 - 21:03h
Legal o artigo.
Só para reforçar, a questão de aumentar segurança usando SSL é altamente relativo, eu diria que se não for utilizar alguma aplicação séria com SSL é bem melhor desativalo devido ao grande numero de vulnerabilidades no mod_ssl e no openssl.
Não se deve utilizar versões inferiores a OpenSSL 0.9.7d.