quarta-feira, 5 de maio de 2010

Instalando Tomcat 6 como serviço no CentOS 5.X

Esse rápido guia tem por objetivo explanar a instalação do Apache Tomcat 6.0.20 no CentOS5.X for installing Apache Tomcat 6.0.18 on CentOS5. Tomamos por referência, as instruções disponíveis no site do próprio SO, clique aqui.

Pre-requisitos de instalação
Iremos considerar que já estão devidamente instalados e configurados o java JDK 6 Update 10 e Java Runtime Environment (JRE) 6 Update 10 binário.

Criando as variáveis de ambinete do java
# mkdir /usr/java
# cd /usr/java

instalando os binários baixados, antes porém não esqueça das permissões de execução.

# chmod +x /root/jre-6u10-linux-i586.bin
# chmod +x /root/jdk-6u10-linux-i586.bin
# ./root/jre-6u10-linux-i586.bin
# ./root/jdk-6u10-linux-i586.bin

verifique a instalação

# ls
verifique se os diretórios em /usr/java foram criados : jdk1.6.0_10 e jre1.6.0_10.

Instalação

1.Faça o Download e extração do Apache Ant (apache-ant-1.7.1-bin.tar.gz) para /usr/share

# cd /usr/share
# tar -xzf apache-ant-1.7.1-bin.tar.gz

2.Faça o Download e extração do Apache Tomcat (apache-tomcat-6.0.20.tar.gz) para /usr/share

# tar -xzf apache-tomcat-6.0.20.tar.gz

3.Crie um link simbólico para o ant

# ln -s /usr/share/apache-ant-1.7.1/bin/ant /usr/bin

4.Configura a variavel JAVA_HOME $env no arquivo catalina.sh
5.
# cd /usr/share/apache-tomcat-6.0.20/bin
# vi catalina.sh

5.Após a primeira linha, adicione o seguinte

JAVA_HOME=/usr/java/jdk1.6.0_10

6.Teste a configuração com o Tomcat

# cd /usr/share/apache-tomcat-6.0.20/bin
# ./startup.sh

7.Verifique os log de erro

# less /usr/share/apache-tomcat-6.0.20/logs/catalina.out



8.Corriga os erros, se houverem, do contrário acesse : http://localhost:8080

Inicialização automáticao do tomcat
1. Crie o seguinte script em /etc/init.d/tomcat para iniciar / parar o tomcat.
# cd /etc/init.d
# vi tomcat

2. Adicione as linhas abaixo no arquivo acima criado.
#!/bin/bash
# Nome do Serviço: tomcat

JAVA_HOME=/usr/java/jdk1.6.0_10
export JAVA_HOME

TOMCAT_HOME=/usr/share/apache-tomcat-6.0.18/bin
START_TOMCAT=/usr/share/apache-tomcat-6.0.18/bin/startup.sh
STOP_TOMCAT=/usr/share/apache-tomcat-6.0.18/bin/shutdown.sh

start() {
echo -n "Starting tomcat: "
cd $TOMCAT_HOME
${START_TOMCAT}
echo "done."
}

stop() {
echo -n "Shutting down tomcat: "
cd $TOMCAT_HOME
${STOP_TOMCAT}
echo "done."
}

case "$1" in
start)
start
;;

stop)
stop
;;

restart)
stop
sleep 10
start
;;
*)
echo "Modo de uso: $0 {start|stop|restart}"
esac
exit 0

2.Modifique as permissões

# chmod 755 tomcat

3.Adicione o script para ser um serviço do sistema

# chkconfig --add tomcat

4.Verifique as modificações

# chkconfig --level 2345 tomcat on
# chkconfig --list tomcat

A saída deverá ser algo do tipo:
you should see that service using levels 2, 3 and 4:
tomcat 0:off 1:off 2:on 3:on 4:on 5:on 6:off

5.Teste o script start up/shutdown

# service tomcat start
# service tomcat stop

Por enquanto É isso ai. Boa sorte.

quarta-feira, 2 de dezembro de 2009

Recuperando senha do usuario postgres

Os passos os seguintes:

1) Altera o pg_hba.conf para autenticar como trust, reinicie o postgresql

2) Altere a senha da seguinte forma:

- sudo su postgres -c psql postgres (Abre o psql com usuário ‘postgres’ no banco ‘postgres’)

- ALTER USER postgres WITH PASSWORD ‘password’; (altera a senha do usuário ‘postgres’ para o que estiver entre aspas)

- \q (finaliza o psql)

3) Depois volta a configuração original.

terça-feira, 11 de agosto de 2009

Integração APACHE2 + TOMCAT através do mod_jk connector

1.Introdução


Apache é um programa (software) que permite tornar um computador acessível via o protocolo HTTP, da Internet. É o servidor web mais utilizado atualmente no mundo e funciona em qualquer sistema operacional. Permite que linguagens de programação sejam agregadas a ele como módulos, o que gera mais segurança, estabilidade e performance.

TomCat é um servidor de aplicações Java para web, é um Contêiner Web. O Tomcat tem a capacidade de atuar também como servidor web/HTTP autônomo, ou pode funcionar integrado a um servidor web dedicado, como Apache httpd ou Microsoft IIS, ou ainda como parte integrante de um servidor de aplicações mais amplo, como JBoss AS, provendo os recursos de Java Servlet e JSP.

A integração do Apache com o TOMCAT é feita para que as páginas estáticas sejam executadas pelo Apache e as em JSP pelo contêiner TOMCAT, além do direcionamento das aplicações via APACHE, sendo o WebServer de acesso para as aplicações que estão no TOMCAT.

As páginas ESTÁTICAS serão executadas pelo APACHE (ganho de performance) e as páginas dinâmicas (JSP) executadas pelo contêiner TOMCAT.

A integração permite "esconder" as portas do TOMCAT, já que sua aplicação será chamada por uma URL na porta 80 e o APACHE sim, irá pegar sua aplicação no TOMCAT e mostrar.

Possibilidade de se realizar LOADBALANCER entre dois ou mais TOMCATs usando o APACHE como o WebServer que irá gerenciar essa carga e dividirá ela.

Quando o servidor é instalado, a configuração inicial do Tomcat contém um conector que recebe pedidos de HTTP utilizando AJP (Apache Jserv Protocol). Embora o Tomcat seja capaz de recebe pedidos de HTTP diretamente da rede, esse conector permite que o Tomcat receba pedidos de software em uma camada inferior. Por exemplo, o Tomcat pode receber pedidos de servidores da Web (como o Apache HTTP Server), servidores proxy e sistemas de balanceamento de carga que suportem os protocolos AJP.

O objetivo deste artigo é integrar os Servidores Apache e Tomcat, a validação deste tutorial foi feito na máquina virtual Ubuntu 8.0.Lembrando que esse tutorial pode ser utilizado para qualquer sistema operacional Linux/Unix.


2.Pré-Requisitos


Para o funcionamento da integração do TomCat com Apache que foi instalado no Ubuntu 8.0, serão necessários ter os seguintes serviços instalados:


· UBUNTU 8.0

· APACHE

· TOMCAT

· TOMCAT CONECTOR(MOD_JK)

· JDK+JRE(JAVA)


3.Instalação do Apache

Baixar o último SOURCE em www.apache.org.

Consideremos que estamos usando a versão 2.2.6 do APACHE, que está em um diretório de instalação de nosso servidor, vamos descompactar e instalar o mesmo:

# tar -xvf httpd-2.2.6.tar.gz
# cd httpd-2.2.6
# ./configure --prefix=/usr/local/apache2 --enable-ssl=/usr/local/ssl
# make
# make install
# /usr/local/apache2/bin/apachectl start

Pronto, o Apache está instalado com suporte a SSL no diretório padrão que definimos: /usr/local/apache2.


4.Instalação do TomCat e Java Baixar o último SOURCE em tomcat.apache.org/. Usar como padrão o diretório /usr/local para instalação do TOMCAT

# cd /usr/local
# tar -xvf apache-tomcat-6.0.14.tar.gz
# ln -s apache-tomcat apache-tomcat-6.0.14/
# vi /etc/profile
Adicionar as seguintes linhas no final do arquivo:

CATALINA_HOME=/usr/local/apache-tomcat
TOMCAT_HOME=/usr/local/apache-tomcat
export CATALINA_HOME TOMCAT_HOME CLASSPATH

Agora iremos instalar o JAVA, baixe a última versão do BIN JDK no site da SUN e coloque do diretório que iremos instalar ele, no caso /usr/local. Como ele será instalado com o "nome-versão", também iremos criar um LINK com o nome JAVA apontando para ele, o que também nos permite trocar de versão sem maiores problemas.

# chmod +x jdk-1_5_0_12-linux-i586.bin
# ./ jdk-1_5_0_12-linux-i586.bin
(seguir orientações da instalação - padrão, só YES e ENTER)

# ln -s java jdk1.5.0_12/
# vi /etc/profile

Adicionar as seguintes linhas no final do arquivo:


JAVA_HOME="/usr/local/java"
JRE_HOME="/usr/local/java/jre"
CLASSPATH="$JAVA_HOME:$JAVA_HOME/lib:$JRE_HOME/lib:."
MANPATH="$MANPATH:$JAVA_HOME/man"
JAVA_DOC="$JAVA_HOME/docs"
PATH="$PATH:$JAVA_HOME/bin:$JRE_HOME/bin"
export JAVA_HOME JRE_HOME CLASSPATH MANPATH JAVA_DOC PATH
Startando o Tomcat:

# /usr/local/apache-tomcat/bin/catalina.sh start

5.Integração Apache com TomCat

1º Baixar o Tomcat Connector para instalar o MOD_JK


http://archive.apache.org/dist/jakarta/tomcat-connectors/jk2/source/jakarta-tomcat-connectors-jk2-2.0.4-src.tar.gz
2º Descompactar e instalar# tar -xzvf tomcat-connectors-1.2.25-src.tar.gz
# cd tomcat-connectors-1.2.25-src
# cd native/
# ./configure --with-apxs=/usr/local/apache2/bin/apxs
# make
# make install

3º Configurar o MOD_JK


# vim /usr/local/apache2/conf/httpd.conf

Acrescentar a linha abaixo:

LoadModule jk_module modules/mod_jk.so


4º Inicializar o Apache


# /usr/sbin/apachectl start


6.Configuração do TOMCAT

1º Mudar o arquivo server.xml dentro de /usr/local/apache-tomcat/conf/


# vim /usr/local/apache-tomcat/conf/server.xml

Procurar por:




Adicionar a propriedade "jvmRoute="tomcat1"" e ficará assim:



2º Reiniciar o TOMCAT:

# /usr/local/apache-tomcat/bin/catalina.sh


7.Configuração do Apache

1º Criar dois arquivos, um para configurarmos a comunicação com o TOMCAT e outro para configurações básicas do MOD_JK.
# vim /usr/local/etc/apache2/conf/workers.properties

Adicionar o conteúdo abaixo:


#
# workers.properties
#

# In Unix, we use forward slashes:
ps=/

# list the workers by name

worker.list=tomcat1(nome configurado no arquivo server.xml do TOMCAT)

# ------------------------
# First tomcat server
# ------------------------
worker.tomcat1.type=ajp13
worker.tomcat1.host=localhost(nome do servidor onde temos o tomcat)
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 //Definindo que toda a carga será usada apenas para um TOMCAT, é o nosso caso.

#
# END workers.properties


8.Configurar o arquivo tomcat.conf

# vim /usr/local/apache2/conf/tomcat.conf



--> Adicionar o seguinte conteúdo ao arquivo criado:


JkWorkersFile /usr/local/apache2/conf/workers.properties

JkLogFile /usr/local/apache2/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


9.Adicionar o arquivo "tomcat.conf" no "httpd.conf" do Apache.

# vim /usr/local/apache2/conf/httpd.conf


Adicionar a seguinte linha no arquivo:

Include conf/tomcat.conf


10.Reiniciar o APACHE # /usr/local/apache2/bin/apachectl start 11.Testando a integração

Agora ao invés de acessarmos o endereço do TOMCAT


http://localhost:8080/

Iremos acessar:

http://localhost/examples/



IMPORTANTE: Arquivo: /etc/hosts

# Do not remove the following line, or various programs
# that require network functionality will fail.

127.0.0.1 sl02.xxxx.br sl02 localhost.localdomain localhost intranet
172.18.0.29 sl09.xxxx.br sl09



Referências a:
http://www.vivaolinux.com.br/artigo/Integracao-Apache-=%3E-Tomcat/?pagina=5
http://www.vivaolinux.com.br/dica/Integracao-simples-do-Apache-2-com-Tomcat-5

domingo, 4 de maio de 2008

O uso de metodologias ágeis traz vantagens competitivas ?

Diversas metodologias aliadas ao desenvolvimento estruturado de software estabelecem e impõem um conjunto de procedimentos disciplinados, e bem definidos, com o objetivo de tornar esse processo mais eficiente e previsível. Estas metodologias, também conhecidas por metodologias de engenharia, exigem um planejamento rigoroso e detalhado de todo o processo de desenvolvimento, sendo muitas vezes criticadas por tornarem o processo lento e burocrático.

No entanto, surgiram recentemente as denominadas metodologias ágeis como resposta à insatisfação crescente em relação aos métodos tradicionais. Estes novos métodos pretendem estabelecer um compromisso viável entre extremos, onde a preocupação reside na utilização de um conjunto mínimo de processos, os suficientes para se obterem resultados satisfatórios no mais curto espaço de tempo.

Através de um processo, com ciclos constantes de inspeção e adaptação, a equipe trabalha sempre em um ambiente de melhoria continua dos processos e pessoas.

Scrum é uma metodologia ágil que busca uma forma empírica de lidar com o caos, em detrimento a um processo bem definido [Schwaber2004].

Em ambientes complexos, um processo bem definido tem sua probabilidade de sucesso drasticamente reduzida quando aplicado ao desenvolvimento de um produto. Uma das principais idéias do scrum para atacar esse problema é a implantação de um controle descentralizado que é capaz de lidar mais efetivamente com contextos pouco previsíveis [Schwaber2004].

É neste contexto que se inserem os métodos ágeis e conceitos a ele associados, os quais serão alvos de discussão nos próximos blogs.