Esse vo fala! deu trabalho eim.
Mais funcionou, tudo bunitinhu na porta 80, webservices, com base Oracle, coisa linda!
Começando segue abaixo as configurações basicas que foram instaladas:
- Xampp: é um servidor web com varios recursos e módulos já pre-configurados, como PHP5, MySQL, SSL, Webalizer e mais uma porrada de coisa
- Tomcat 6: a versão mais nova do container Java
- Java 6 Update 7: Tem que ser o JDK que tenha o JRE dentro dele, pois o tomcat/catalina pede o dito cujo.
- Oracle Instant Client: Algumas bibliotecas que o SO precisa pra se comunicar com o banco Oracle.
- Sistema Operacional: para essa instalação foi usado o Debian 4 (pra variar, rs)
Então vamu começá a paiaçada!
1 – Instalando o Xampp (óia como é facil!):
1.a – Fazendo o download do Xampp para Linux (59 MB)
- wget http://ufpr.dl.sourceforge.net/sourceforge/xampp/xampp-linux-1.6.8a.tar.gz
1.b – Instalando o Xampp de Desenvolvimento (24 MB) (com alguns plugins a mais, tipo o apxs que a gente vai precisah mais tarde)
- wget http://ufpr.dl.sourceforge.net/sourceforge/xampp/xampp-linux-devel-1.6.8a.tar.gz
1.c – descompactando os pacotes:
- tar zfxv xampp-linux-1.6.8a.tar.gz -C /opt
- tar zfxv xampp-linux-devel-1.6.8a.tar.gz -C /opt
1.d – Iniciando o serviço (Isso mesmo, não precisa compilar)
- /opt/lampp/lampp start
OBS: esse comando starta por padrão serviços como MySQL, FTP e outros que no caso não iria utilizar então para para-los use.
- /opt/lampp/lampp stopmysql
- /opt/lampp/lampp stopftp
Para customizar sua inicialização, faça uma “gambeta” que nem eu fiz, jogue essas linhas em um script e inicie por ela =).
2 – Instalando o Java 6
2.a – fazendo o download do jdk/java6
>> DICAAA <<
- wget http://cds.sun.com/is-bin/INTERSHOP.enfinity/WFS/CDS-CDS_Developer-Site/en_US/-/USD/VerifyItem-Start/jdk-6u7-linux-i586.bin?BundledLineItemUUID=ZZ1IBe.lOOUAAAEc8M1tq_ep&OrderID=MpZIBe.lVcwAAAEc2M1tq_ep&ProductID=XzBIBe.oxM4AAAEaVJcGcbZW&FileName=/jdk-6u7-linux-i586.bin
Baixando para a X64:
- wget http://cds.sun.com/is-bin/INTERSHOP.enfinity/WFS/CDS-CDS_Developer-Site/en_US/-/USD/VerifyItem-Start/jdk-6u7-linux-x64.bin?BundledLineItemUUID=LHVIBe.l6iEAAAEcO45tq_eq&OrderID=zzVIBe.l4fcAAAEcLo5tq_eq&ProductID=zMlIBe.oXmEAAAEaTJcGcbZW&FileName=/jdk-6u7-linux-x64.bin
O foda é que vai salva esse arquivo baixado com um puta nome enorme no exemplo da X32 ficará assim:
- jdk-6u7-linux-i586.bin?BundledLineItemUUID=ZZ1IBe.lOOUAAAEc8M1tq_ep&OrderID=MpZIBe.lVcwAAAEc2M1tq_ep&ProductID=XzBIBe.oxM4AAAEaVJcGcbZW&FileName=/jdk-6u7-linux-i586.bin
Para resolver faça isso (não copie Oreia, de tab depois de escrever o começo do arquivo):
- mv jdk-6u7……… java6.bin
- chmod 777 java6.bin
2.c – Realize a instalação do java:
- ./java6.bin
2.d – Vai dando enter até aparecer o campo do i agree, de um yes e ele começa a descompactar e instalar o java, até criar um arquivo no local onde vc executou o comando de nome jdk1.6.0_07, e então faça!
- mv jdk1.6.0_07 /usr/local/java6
2.e – Após movermos o Java para esse local devemos setar as variaveis de ambiente para que o Sistema Operacional e as demais ferramentas façam uso do mesmo. Para isso editamos o arquivo “/etc/profile”.
- vi /etc/profile
2.f – Adicione as seguintes linhas no final do arquivo:
# Variaveis do Java
export JAVA_HOME=/usr/local/java6
export JRE_HOME=/usr/local/java6/jre
export CLASSPATH=$JAVA_HOME:$JAVA_HOME/lib:$JRE_HOME/lib
export MANPATH=$MANPATH:$JAVA_HOME/man
export JAVA_DOC=$JAVA_HOME/docs
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
2.g – Feito isso use esse comando para setar as Variaveis sem a necessidade de reiniciar o sistema:
- source /etc/profile
2.h – Para testarmos se as variaveis foram setadas use o comando:
- echo $JAVA_HOME
2.i – Tem que retornar a seguinte linha:
- /usr/local/java6
2.j – Se voltou isso as variaveis estão setadas, e outra, para termos certeza de qual java o SO está utilizando usamos o comando:
- java -version
Tem que retornar as seguintes linhas:
java version “1.6.0_07”
Java(TM) SE Runtime Environment (build 1.6.0_07-b06)
Java HotSpot(TM) Client VM (build 10.0-b23, mixed mode, sharing)
Talvez não exiba essa saida e sim essa (Caso vc esteja instalando em um Red Hat):
java version “1.4.2”
gcj (GCC) 3.4.6 20060404 (Red Hat 3.4.6-8)
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Porque??? eim????
Pq se vc digita o seguinte comando:
- which java
Vc vai ter a seguinte saida:
- /usr/bin/java
E por acaso esse é o caminho da pasta bin do Java Home??? Quer resolver??
- rm /usr/bin/java
- cd /usr/bin
- ln -s $JAVA_HOME/bin/java java
Já era!
3 – Instalação do Tomcat
3.a – Baixe o dito cujo:
- cd /root
- wget http://ftp.unicamp.br/pub/apache/tomcat/tomcat-6/v6.0.18/src/apache-tomcat-6.0.18-src.tar.gz
3.b – Descompacte o cara:
- tar zfxv apache-tomcat-6.0.18-src.tar.gz
3.c – Copie a pasta renomeando-a:
- mv apache-tomcat-6.0.18-src /usr/local/tomcat6
3.d – Dê privilégio de execução aos binários:
- chmod 777 /usr/local/tomcat6/bin/*
3.e – Crie as variáveis de Ambiente para o tomcat assim como foram criadas as do java. Edite o arquivo “/etc/profile” e acrescente no final dele:
## Variaveis do Tomcat6
export TOMCAT_HOME=/usr/local/tomcat6
export CATALINA_HOME=/usr/local/tomcat6
3.f – Sete as variáveis declaradas:
- source /etc/profile
DICA: Para testar digite echo $TOMCAT_HOME, se for exibido “/usr/local/tomcat6” ai tah tudo blza.
3.g – Crie um link simbólico para o binario catalina.sh que é o responsável pela inicialização do tomcat:
- cd /etc/init.d
- ln -s $TOMCAT_HOME/bin/catalina.sh tomcat6
3.h – Configure um usuário e senha para acesso ao manager do tomcat:
- vi $TOMCAT_HOME/conf/tomcat-users.xml
Ele vai exibir o seguinte:
Altere o campo password para a senha desejada no meu caso coloquei treinamento.
user username=”admin” password=”treinamento” roles=”admin,manager”
- /etc/init.d/tomcat6 start
3.j – Testando via Browser:
Digite no seu navegador http://ip_do_servidor:8080
Tem que aparecer essa tela
Apareceu?? Meus parabens!! Seu tomcat esta no ar!!
Num apareceu?? Cabaço!! rs ! Reveja todos os passos do capitulo 3.
4 – Instalando o oracle instant client:
4.a – Vai nesse site da Oracle:
4.b – Baixe esse 3 pacotes do Instant Client e salve todos no mesmo local.
- Basic
- SDK
- sqlplus
4.c – Descompacte os 3 em “/usr/lib/instantclient”:
- unzip nome.do.pacote.zip
4.d – Agora crie um link simbólico:
- cd /usr/lib/instantclient
- ln -s libclntsh.so.10.1 libclntsh.so
4.e – Ajustando o ldconfig para essa pasta
- sh -c “echo /usr/lib/instantclient >> /etc/ld.so.conf”
- ldconfig
4.f – Crie um link simbolico para o SQLPLUS:
- ln -s /usr/lib/instantclient/sqlplus /usr/bin/sqlplus
4.g – Setando as variáveis de ambiente no “/etc/profile”:
Cole o conteudo abaixo na ultima linha do /etc/profile.
##– Variaveis do Oracle Client –#
export LD_LIBRARY_PATH=/usr/lib/instantclient:/usr/lib:/usr/11r6/lib:$LD_LIBRARY_PATH
export ORACLE_HOME=/usr/lib/instantclient
export TNS_ADMIN=/usr/lib/instantclient
Dê após salvar o arquivo um source para validar as variaveis:
- source /etc/profile
OBS: O “tnsnames.ora” é o arquivo responsável pela resolução do alias pelo banco e ip desejado, e ele deve estar onde a variavel TNS_ADMIN está setada, por exemplo, quando vc digita:
- sqlplus usuário/[email protected]
O parametro banco deve estar criado no TNSADMIN.ora mais ou menos assim:
BANCO =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.31)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = NFSE)
)
)
Sendo:
- BANCO = O parametro setado para conexão (alias)
- HOST = O IP ou o hostname da maquina onde está o banco Oracle
- PORT = Porta onde está rodando a instancia do banco, a padrão do Oracle é essa aí mesmo a 1521.
- SERVICE_NAME = esse é o nome da instancia do banco que foi criado no servidor Oracle, não necessáriamente o Service_name é o mesmo nome do alias que vc cria, por isso é interessante consultar o administrador do banco e perguntar o nome da instancia.
Apos essa explicação, crie o arquivo tnsnames.ora
- vi $TNS_ADMIN/tnsnames.ora
E cole o conteudo acima citado e só mude para as suas configurações de banco Oracle.
5 – Habilitando o Módulo OCI no Apache (Xampp).
5.a – No Xampp é bem facil, tem um comandinho que já faz isso pra você, digite no shell:
- /opt/lampp/lampp oci8
5.b – Ele vai pedir onde está seu ORACLE_HOME, digite:
- /usr/lib/instantclient
5.c – Feito ele vai fazer a leitura e basta vc conferir na pagina do Xampp a habilitação do módulo, como citado na imagem abaixo:
6 – (E ultima etapa…. eeee) Integrando Xampp e Tomcat 6 na porta 80.
6.a – Crie uma pasta chamada “conf” dentro do Xampp e entre dentro dela:
- mkdir /opt/lampp/conf
- cd /opt/lampp/conf
6.b – Crie um arquivo chamado “tomcat.conf” ele será um complemento das informações do httpd.conf do apache, agregando as informações do Tomcat e a integração.
- vi tomcat.conf
Cole o seguinte conteudo dentro dele:
## — Arquivo de Integração do Tomcat/APACHE – Tomcat.conf –#
JkWorkersFile /opt/lampp/conf/workers.properties
JkLogFile /opt/lampp/logs/mod_jk.log
JkLogLevel info
JkLogStampFormat “[%a %b %d %H:%M:%S %Y] “
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
JkRequestLogFormat “%w %V %T”
JkMount /examples/servlet/* tomcat1
JkMount /examples/* tomcat1
JkMount /examples/jsp/* tomcat1
JkMount /*.jsp tomcat1
Salve o arquivo, e lembre-se desse parametro “tomcat1”, jajá voltaremos nele denovo e você entenderá o porque dele, e tambem do caminho “JkWorkersFile /opt/lampp/conf/workers.properties” que é nosso proximo passo.
6.b – Crie um arquivo chamado “workers.properties” ainda nessa mesma pasta:
- vi workers.properties
Cole o seguinte conteúdo dentro dele:
# — Workers.properties = Arquivo apontando o AJP
worker.tomcat1.type=ajp13
worker.tomcat1.host=localhost
worker.tomcat1.port=8009
worker.tomcat1.lbfactor=50
worker.tomcat1.cachesize=10
worker.tomcat1.cache_timeout=500
worker.tomcat1.socket_keepalive=1
worker.tomcat1.socket_timeout=300
# Specify the size of the open connection cache.
#worker.tomcat1.cachesize
#
# Specifies the load balance factor when used with
# a load balancing worker.
# Note:
# —-> lbfactor must be > 0
# —-> Low lbfactor means less work done by the worker.
worker.tomcat1.lbfactor=100
# END workers.properties
OBS: Note os campo em vermelho, lembra do que falei sobre o tomcat1?? tem mais ainda!!
6.c – Vá no arquivo de configuração do tomcat e verifique se já exite o parametro “tomcat1” nessa linha e se não tem acrescente-o:
- vi /usr/loca/tomcat6/conf/server.xml
- A Linha: Engine jvmRoute=”tomcat1″ name=”Catalina” defaultHost=”localhost”
Salve e saia do arquivo
6.d – Acrescente o redirecionamento do “httpd.conf” para o “tomcat.conf”.
- vi /opt/lampp/etc/httpd.conf
Cole as linha abaixo no final do arquivo:
## Redirecionamento para tomcat.conf
Include conf/tomcat.conf
Salve e saia do arquivo
6.e – Fazendo o download do tomcat connector (modulo jk)
- cd /root
- wget http://linorg.usp.br/apache/tomcat/tomcat-connectors/jk/source/jk-1.2.26/tomcat-connectors-1.2.26-src.tar.gz
6.f – Descompacte o arquivo e entre dentro dele e depois na pasta native
- tar zfxv tomcat-connectors-1.2.26-src.tar.gz
- cd tomcat-connectors-1.2.26-src/native
6.g – Começe a instalação do módulo:
Dê um find para achar onde está seu módulo apxs
- find / -name apxs
Provavelmente se você não tem nenhum apache instalado esse comando retornará:
- /opt/lampp/bin/apxs
Ai vc faz o seguinte:
- ./configure –with-apxs=/opt/lampp/bin/apxs
- make
- make install
Depois de rodar esses comando realize a copia do módulo:
- cp apache-2.0/mod_jk.so /opt/lamp/modules/
Edite o arquivo de configuração do apache (httpd.conf) acrescentando o módulo jk, acrescente a seguinte linha no arquivo:
- vi /opt/lampp/etc/httpd.conf
Acrescente a linha abaixo:
LoadModule jk_module modules/mod_jk.so
Salve e feche o arquivo
6.h – Reinicie o apache e o tomcat6:
- /etc/init.d/tomcat6 stop
- /etc/init.d/tomcat6 start
- /opt/lampp/lampp restart
Teste o endereço http://ip.do.servidor/examples/jsp/
Exibiu? Aeeee car…… hauhauhau
Seu servidor já está integrado pelo AJP (Apache Java Protocol) e pelo Módulo JK.
Conforme vc for colocando os Webservices no Tomcat e precisar do mesmo integrado, realize a edição no arquivo “tomcat.conf”
Vamos supor que vc coloca no ar um webservice que se chama “teste”, ai vc vai precisar editar o tomcat.conf acrescentando a seguinte linha no final do arquivo:
JkMount /teste/* tomcat1
Isso pode se feito mais facil pelo comando
- echo “JkMount /teste/* tomcat1” >> /opt/lampp/conf/tomcat.conf
Bom é isso!
Espero que ajude pq demorei 2 dias pra fazer esse manual…
hauhauhauhauha
__abraçonn