JIRA en Tomcat7 con Java7, PostgreSQL 9.2 y Nginx — parte 2

En el post anterior completamos la preparación del archivo WAR para hacer el deploy en el servidor de aplicaciones Tomcat 7 ahora configuraremos Tomcat 7 y nginx siguiendo los siguientes pasos:

Creamos un script para iniciar Tomcat como servicio creamos el archivo “tomcat” con el siguiente contenido:

#!/bin/bash
# description: Tomcat Start - Stop - Restart
# processname: tomcat
# chkconfig: 234 20 80
JAVA_HOME=/opt/tcjira/jdk1.7.0_21
export JAVA_HOME
PATH=$JAVA_HOME/bin:$PATH
export PATH
CATALINA_HOME=/opt/tcjira/tomcat7
source $CATALINA_HOME/bin/setenv.sh

case $1 in
start)
echo "Starting Tomcat"
/bin/su jira $CATALINA_HOME/bin/startup.sh
;;
stop)
echo "Stopping Tomcat"
/bin/su jira  $CATALINA_HOME/bin/shutdown.sh
;;
restart)
echo "Restarting Tomcat"
/bin/su jira  $CATALINA_HOME/bin/shutdown.sh
/bin/su jira  $CATALINA_HOME/bin/startup.sh
;;
*)
echo $"Usage: $0 {start|stop}"
exit 1
;;
esac
exit 0

agregamos el servicio al sistema, copiamos el script a /etc/init.d

cp tomcat /etc/init.d
chkconfig --add tomcat
chkconfig --level 3 tomcat on

# activamos el servicio postgresql para que inicie automatico
chkconfig postgresql-9.2 on

# verificamos los servicios
chkconfig --list | grep -i '3:on'

# iniciamos los servicios
service tomcat start
service postgresql-9.2 start 

# creamos el usuario y base de datos para jira
su - postgres
createuser -P jira
psql -d postgres

postgres=# CREATE DATABASE jiradb OWNER jira ENCODING 'UNICODE';

Por seguridad configuraremos Nginx como reverse proxy y usaremos un subdominio con el fin de acceder a la aplicacion web jira usando el puerto tcp 80 pasando por Nginx, en lugar de ir directo a Tomcat en el puerto tcp 8080.

server {
        listen  80;
        server_name     dev.h4v0k.com;
        
        access_log      off;

        location / {
                proxy_pass http://localhost:8080;
                proxy_read_timeout  10800s;
                proxy_set_header    Host            $host;
                proxy_set_header    X-Real-IP       $remote_addr;
                proxy_set_header    X-Forwarded-for $remote_addr;
                port_in_redirect off;
                proxy_redirect   http://dev.h4vok.com:8080/jira/  /;
                proxy_connect_timeout 300;
                add_header  X-Frame-Options SAMEORIGIN; 
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
                root   /srv/www/htdocs;
        }

}

luego modificaremos la configuracion de tomcat en server.xml para definir el proxy.

<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" URIEncoding="UTF-8"
               proxyName="dev.h4v0k.com"
               proxyPort="80" 
/>

Para hacer el deploy de la aplicación se requiere una configuración mas en el Tomcat antes de iniciar. En el directorio “/opt/tcjira/tomcat7/conf/Catalina/localhost” creamos un archivo llamado “jira.xml” con lo siguiente:

<?xml version='1.0' encoding='utf-8'?>

<Context path="/jira" debug="0" useHttpOnly="true">
 
  <Resource name="UserTransaction" auth="Container" type="javax.transaction.UserTransaction"
      factory="org.objectweb.jotm.UserTransactionFactory" jotm.timeout="60"/>
        <Manager pathname=""/>
         
</Context>

En este archivo se define el contexto para el deploy de la aplicacion java, el path “/jira” sera el que utilizaremos para llegar a la aplicacion por lo deberemos renombrar el archivo WAR creado previamente y moverlo al folder de aplicaciones de Tomcat.

cd /opt/tcjira/atlassian-jira-6.0.1/dist-tomcat
mv atlassian-jira-6.0.1.war /opt/tcjira/tomcat7/webapps/jira.war 

con todo configurado correctamente, podremos ver en el log la inicialización de la aplicación y continuar la configuración con el wizard desde el navegador, donde se configurara la licencia y los parametros de la BD.

logs de apache tomcat:

Jira startup

postgresql 9.2

Postgresql 9.2 JDBC

Atlassian Jira funcionando

Jira running

Referencia:

JIRA Installation and Upgrade Guide

Running+the+Setup+Wizard

Installing JIRA on Tomcat 6.0 or 7.0

Author: rz0r

I’m computer programer, sysadmin, web developer, like video games, Linux and listen music.

One thought on “JIRA en Tomcat7 con Java7, PostgreSQL 9.2 y Nginx — parte 2”

Comments are closed.