Para instalação e testes do
Apache com suporte a
SSL e balanceamento de carga com o
mod_jk foi utilizado o SO
SunOS 5.10 Generic_142910-17 i86pc i386 i86pc e as ferramentas de build GCC 3.4.6 e MAKE 3.81.
O artigo foi desenvolvido baseado em várias outras contribuições do próprio fórum ou de outras páginas da internet. O intuito era simplificar a busca dos colegas pela instalação destas ferramentas no Solaris, uma vez que há diversos artigos de instalação das mesmas em diversas distros, como Ubuntu, Debian, Centos...
Preparação do ambiente
Para que ambiente de trabalho se torne mais 'amigável' (lembrando que a instalação será executada no Solaris, cujo shell padrão é diferente da maioria das distros
Linux), precisamos configurar o PATH e as variáveis de ambiente do sistema. Assim, ao iniciar o SO execute os seguintes comandos:
# bash
bash-3.00#
bash-3.00#
export PATH=/usr/local/bin:/usr/xpg6/bin:/usr/xpg4/bin:/usr/ccs/bin:/usr/ucb:/usr/bin:/usr/sbin:/sbin:/usr/sfw/bin:/opt/sfw/bin
bash-3.00#
export SHELL=/usr/bin/bash
Download e instalação dos pacotes
Com o PATH e as variáveis de ambiente devidamente configurados, vamos ao download e instalação dos pacotes necessários à nossa configuração. Todos os pacotes foram obtidos pelo download direto (wget) e a instalação configurada de acordo com a nossa necessidade.
Ferramentas de compilação e build:
Binutils (GNU Binary Utilities): coleção de ferramentas binárias usadas para facilitar a compilação e link de programas.
bash-3.00#
wget ftp://ftp.sunfreeware.com/pub/freeware/intel/10/binutils-2.20.1-sol10-x86-local.gz
bash-3.00#
gunzip binutils-2.20.1-sol10-x86-local.gz
bash-3.00#
pkgadd -d binutils-2.20.1-sol10-x86-local
GCC (GNU Compiler Collections): compilador das linguagens C, C++, dentre outras.
bash-3.00#
wget ftp://ftp.sunfreeware.com/pub/freeware/SOURCES/gcc-3.4.6.tar.gz
bash-3.00#
gunzip gcc-3.4.6.tar.gz
bash-3.00#
tar xvf gcc-3.4.6.tar.gz
bash-3.00#
cd /usr/local/src/gcc-3.4.6
bash-3.00#
./configure --with-gnu-as --with-as=/usr/sfw/bin/gas --without-gnu-ld --with-ld=/usr/ccs/bin/ld --enable-shared --enable-languages=c,c++
bash-3.00#
make
bash-3.00#
make install
MAKE: utilitário de compilação de programas e bibliotecas através de arquivos denominados MakeFiles.
bash-3.00#
wget http://ftp.gnu.org/pub/gnu/make/make-3.81.tar.gz
bash-3.00#
gunzip make-3.81.tar.gz
bash-3.00#
tar xvf make-3.81.tar.gz
bash-3.00#
cd /usr/local/src/make-3.81
bash-3.00#
./configure
bash-3.00#
make
bash-3.00#
make install
Pacotes utilizados na solução:
OpenSSL: implementação dos protocolos SSL e TSL com funções de criptografia.
bash-3.00#
cd /usr/local/src
bash-3.00#
wget ftp://ftp.sunfreeware.com/pub/freeware/sparc/10/openssl-1.0.0d-sol10-sparc-local.gz
bash-3.00#
gunzip openssl-1.0.0d-sol10-sparc-local.gz
bash-3.00#
pkgadd -d openssl-1.0.0d-sol10-sparc-local
APR e
APR-Utils: bibliotecas do Apache utilizadas por diversas aplicações, como interface consistente e previsível para plataformas específicas de desenvolvimento.
No nosso caso estas bibliotecas foram utilizadas para permitir a compilação do Apache com suporte a SSL.
bash-3.00#
wget http://mirror.pop-sc.rnp.br/apache/apr/apr-1.4.5.tar.gz
bash-3.00#
gunzip apr-1.4.5.tar.gz
bash-3.00#
tar xvf apr-1.4.5.tar
bash-3.00#
cd apr-1.4.5
bash-3.00#
./configure --prefix=/usr/local/apr-http/
bash-3.00#
make
bash-3.00#
make install
bash-3.00#
wget http://mirror.pop-sc.rnp.br/apache//apr/apr-util-1.3.12.tar.gz
bash-3.00#
gunzip apr-util-1.3.12.tar.gz
bash-3.00#
tar xvf apr-util-1.3.12.tar
bash-3.00#
cd apr-util-1.3.12
bash-3.00#
./configure --prefix=/usr/local/apr-util-httpd/ --with-apr=/usr/local/apr-http/
bash-3.00#
make
bash-3.00#
make install
Apache: esse dispensa apresentações. O mais bem sucedido servidor web livre!
Na compilação foi habilitado o suporte a ssl e o uso das bibliotecas citadas acima. O uso do proxy também foi habilitado, mas isso não interfere na configuração do SSL, foco deste artigo.
bash-3.00#
wget http://linorg.usp.br/apache//httpd/httpd-2.2.20.tar.gz
bash-3.00#
gunzip httpd-2.2.20.tar.gz
bash-3.00#
tar xvf httpd-2.2.20.tar.gz
bash-3.00#
cd httpd-2.2.20
bash-3.00#
./configure --prefix=/usr/local/apache2 --enable-mods-shared=all --enable-ssl=shared --enable-ssl --with-ssl=/usr/local/ssl --enable-proxy --enable-proxy-connect --enable-proxy-ftp --enable-proxy-http --with-apr=/usr/local/apr-http/ --with-apr-util=/usr/local/apr-util-httpd/
bash-3.00#
make
bash-3.00#
make install
Tomcat Connectors: utilizado juntamente com o Apache para prover balanceamento de carga entre os servidores.
O tutorial contempla somente a instalação e configuração do suporte ao balanceamento, a configuração do balanceamento não será abordada.
bash-3.00#
wget http://archive.apache.org/dist/tomcat/tomcat-connectors/jk/source/tomcat-connectors-1.2.31-src.tar.gz
bash-3.00#
gunzip tomcat-connectors-1.2.31-src.tar.gz
bash-3.00#
tar xvf tomcat-connectors-1.2.31-src.tar
bash-3.00#
cd tomcat-connectors-1.2.31-src/native
bash-3.00#
./configure --with-apxs=/usr/local/apache2/bin/apxs
bash-3.00#
make
bash-3.00#
make install
bash-3.00#
cd ../conf
bash-3.00#
cp httpd-jk.conf /usr/local/apache2/conf/extra
bash-3.00#
cp workers.properties /usr/local/apache2/conf