Dicho procedimiento contempla que el sistema operativo se encuentre instalado y la configuración de la interfaz de red realizada.
Los componentes a instalar / configurar son:
- Java Virtual Machine 6 (JVM)
- Apache Tomcat Server 6.0.25
- MySQL 5.1
- Bonita Open Solution 5.10
El procedimiento se realizará con el usuario 'root' o con un usuario que tenga permisos para realizar acciones en su nombre (sudoer).
Java Virtual Machine (JVM)
Instalación
Abrir una ventana de terminal y ejecutar el siguiente comando:
# yum -y install java
Apache Tomcat Server 6
Instalación
Abrir una ventana de terminal y ejecutar el siguiente comando:
# yum -y install tomcat6 tomcat6-webapps tomcat6-admin-webapps
A continuación iniciar el servidor con el comando:
# service tomcat6 start
Y luego ejecutar los comandos para verificar la instalación:
# service tomcat6 status tomcat6 (pid xxxxx) is running... [ OK ] # netstat -nlp|grep 800 tcp 0 0 0.0.0.0:8009 0.0.0.0:* LISTEN xxxxx/java tcp 0 0 127.0.0.1:8005 0.0.0.0:* LISTEN xxxxx/java # netstat -nlp|grep 8080 tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN xxxxx/java
Nos será de utilidad conocer la ubicación de los siguientes directorios para tareas de configuración posteriores:
/etc/tomcat6 (this
is where the main tomcat config files reside)
/usr/share/tomcat6/conf
/usr/share/tomcat6/lib
/usr/share/tomcat6/logs
/usr/share/tomcat6/webapps
Configuración
Inicio como servicio
Para configurar el inicio automático del servicio se debe ejecutar los siguientes comandos:
# /sbin/chkconfig tomcat6 on
Firewall
Se debe habilitar el acceso al servidor a través del puerto 8080. Para ello, será necesario modificar el archivo “/etc/sysconfig/iptables” y agregar la línea resaltada:
# Generated by iptables-save v1.4.7 on Wed Apr 17 13:09:46 2013
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 8080 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
# Completed on Wed Apr 17 13:09:46 2013
Nota: la línea agregada debe quedar por encima de la regla que tiene la acción “REJECT”.
Luego, ejecutar el siguiente comando para recargar la configuración:
# service iptables restart
En este punto se debe poder verificar el acceso al servidor Tomcat a través de la siguiente URL:
http://[HOSTNAME o IP_ADDRESS]:8080/
MySQL 5.1
Instalación
Abrir una ventana de terminal y ejecutar el siguiente comando:
# yum -y install mysql mysql-server
A continuación iniciar el servidor con el comando:
# service mysqld start
Y luego ejecutar el siguiente comando para verificar la instalación:
# service mysqld status
mysqld (pid xxxxx) is running... [ OK ]
Configuración
Inicio como servicio
Para configurar el inicio automático del servicio se debe ejecutar el siguiente comando:
# /sbin/chkconfig mysqld on
Seguridad
A continuación se realizará la configuración de seguridad del servidor de base de datos. Para ello, se debe ejecutar el siguiente comando:
# mysql_secure_installation
Luego se solicitará una serie de confirmaciones y la nueva contraseña:
Enter current password for root (enter for none): ENTER
Set root password? [Y/n] y
New password: nueva_contraseña
Re_enter new password: nueva_contraseña
Password updated sucessfully!
Reloading privilege tables..
... Success!
Remove anonymous users? [Y/n] y
... Success!
Disallow root login remotely? [Y/n] (dependerá de la forma en que se desee administrar)
Remove test database and access to it? [Y/n] y
- Dropping test database...
... Success!
- Removing privileges on test database...
... Success!
Reload privilege tables now? [Y/n] y
... Success!
Cleaning up...
Bonita Open Solution 5.10
Antes de comenzar el procedimiento de instalación y configuración de Bonita Open Solution se debe bajar el servidor Tomcat ejecutando el siguiente comando:
# service tomcat6 stop
Instalación
Descarga
Descargar el archivo “BOS-5.10-deploy.zip” del sitio de BonitaSoft, sección “Bundles”, opción “Bonita BPM Deployment” (http://www.bonitasoft.com/products/download-bpm-software-and-documentation).
Descomprimir el contenido en una carpeta temporal.
En las próximas secciones del documento esta nueva carpeta será referenciada como <BOS-5.10-deploy>.
Despliegue en servidor Tomcat
1.- Copiar las librerías del motor de ejecución de Bonita
Crear una carpeta llamada:
<TOMCAT_HOME>/lib/bonita
Copiar todos los archivos *.jar de las siguientes carpeta a la recién creada.
<BOS-5.10-deploy>/bonita_execution_engine/engine/libs
<BOS-5.10-deploy>/bonita_execution_engine/bonita_client/libs
Nota: Sobre-escribir cualquier archivo duplicado.
Modificar el archivo
<TOMCAT_HOME>/conf/catalina.properties
para agregar:
${catalina.home}/lib/bonita/*.jar
a la propiedad
common.loader
Deberá quedar del siguiente modo:
common.loader=${catalina.base}/lib,${catalina.base}/lib/*.jar,${catalina.home}/lib,${catalina.home}/lib/*.jar,${catalina.home}/lib/bonita/*.jar
2.- Desplegar la aplicación web User Experience (archivo .war)
Copiar
<BOS-5.10-DEPLOY>/bonita_user_experience/without_execution_engine_without_client/bonita.war
a
<TOMCAT_HOME>/webapps
Configuración
Configuración de base de datos
Se deberán crear las siguientes bases de datos:
- bonita_journal
- bonita_history
Para ello, se deberán ejecutar los siguientes comandos:
# mysql -u root -p (se solicitará la contraseña)
mysql> create database bonita_history;
mysql> create database bonita_journal;
mysql> GRANT ALL PRIVILEGES ON bonita_history.* TO 'root'@'localhost' WITH GRANT OPTION;
mysql> GRANT ALL PRIVILEGES ON bonita_journal.* TO 'root'@'localhost' WITH GRANT OPTION;
Nota: En el procedimiento se realiza la configuración utilizando el usuario de base de datos 'root', es posible crear un nuevo usuario, sólo será necesario modificar los parámetros de conexión en los pasos posteriores.
Configuración de Bonita
1.- Copiar configuraciones al servidor Tomcat
Copiar las carpetas “bonita” y “external” de
<BOS-5.10-DEPLOY>/conf
a
<TOMCAT_HOME> (/etc/tomcat6) o /usr/share/tomcat6/conf/
Luego, modificar el grupo y los permisos sobre estas carpetas con los siguientes comandos:
# chgrp -R tomcat bonita/
# chgrp -R tomcat external/
# chmod -R 775 bonita/
# chmod -R 775 external/
2.- Configuración de bases de datos
Será necesario modificar los siguientes archivos de configuración:
<TOMCAT_HOME>/bonita/server/default/conf/bonita-journal.properties
<TOMCAT_HOME>/bonita/server/default/conf/bonita-history.properties
A continuación se detallan los cambios a realizar paso a paso.
En ambos archivos se debe desactivar la base de datos H2 configurada por defecto, para ello se debe comentar las siguientes propiedades:
hibernate.connection.driver_class ...
hibernate.connection.url ...
hibernate.connection.username ...
hibernate.connection.password ...
hibernate.dialect org.hibernate.dialect.H2Dialect
bonita.hibernate.interceptor
org.ow2.bonita.env.interceptor.H2DescNullFirstInterceptor
En ambos archivos se debe activar y completar la configuración de la base de datos MySQL. Para ello, se deben realizar dos pasos. Primero se debe des-comentar y completar las siguientes líneas:
hibernate.connection.datasource java:/comp/env/bonita/default/...
##
# MYSQL
hibernate.dialect org.hibernate.dialect.MySQL5InnoDBDialect
bonita.hibernate.interceptor org.ow2.bonita.env.interceptor.MySQLDescNullFirstInterceptor
Nota: Durante la edición del los archivos de configuración, utilizar sólo espacios como separador.
Luego, se debe agregar las líneas resaltadas al archivo:
<TOMCAT_HOME>/conf/context.xml
<Context>
<!-- Default set of monitored resources -->
<WatchedResource>WEB-INF/web.xml</WatchedResource>
...
<Resource name='bonita/default/journal'
auth='Container'
type='javax.sql.DataSource'
username='[USUARIO]'
password='[CONTRASEÑA]'
driverClassName='com.mysql.jdbc.Driver'
url='jdbc:mysql://localhost:3306/bonita_journal?dontTrackOpenResources=true'
initialSize='5'
maxActive='30'
maxIdle='10'
maxWait='120000'
removeAbandoned='true' removeAbandonedTimeout='60' logAbandoned='true'>
<ResourceLink
global="bonita/default/journal"
name="bonita/default/journal"
type="javax.sql.DataSource" />
</Resource>
<Resource name='bonita/default/history'
auth='Container'
type='javax.sql.DataSource'
username='[USUARIO]'
password='[CONTRASEÑA]'
driverClassName='com.mysql.jdbc.Driver'
url='jdbc:mysql://localhost:3306/bonita_history?dontTrackOpenResources=true'
initialSize="5"
maxActive='30'
maxIdle='10'
maxWait='120000'
removeAbandoned="true" removeAbandonedTimeout="60" logAbandoned="true"
<ResourceLink
global="bonita/default/history"
name="bonita/default/history"
type="javax.sql.DataSource" /
</Resource>
</Context>
Se debe reemplazar los siguientes valores:
- [USUARIO]: usuario de conexión a la base de datos.
- [CONTRASEÑA]: contraseña del usuario de conexión a la base de datos.
3.- Copiar librerías de MySQL
Descargar el archivo “mysql-connector-java-5.1.24.zip” del sitio de MySQL (http://dev.mysql.com/downloads/connector/j/).
Descomprimir y copiar la librería “mysql-connector-java-5.1.24-bin.jar” a la carpeta:
<TOMCAT_HOME>/server/default/lib
4.- Configuración de variables de entorno
Modificar el archivo:
<TOMCAT_HOME>/conf/tomcat6.conf
Debajo de la definición de las variables “CATALINA_BASE”, “CATALINA_HOME”, “JASPER_HOME” y “CATALINA_TMPDIR”, se debe agregar las siguientes líneas:
BONITA_HOME="-DBONITA_HOME=$CATALINA_HOME/conf/bonita"
LOG_OPTS="-Djava.util.logging.config.file=$CATALINA_HOME/conf/external/logging/logging.properties"
SECURITY_OPTS="-Djava.security.auth.login.config=$CATALINA_HOME/conf/external/security/jaas-standard.cfg -Djava.security.auth.admins=$CATALINA_HOME/conf/external/security/security-auth-admins.properties"
Y modificar la otra, agregando la línea restaltada:
JAVA_OPTS="${JAVA_OPTS} -Djavax.sql.DataSource.Factory=org.apache.commons.dbcp.BasicDataSourceFactory ${BONITA_HOME} ${LOG_OPTS} ${SECURITY_OPTS}"
5.- Iniciar el servidor y aplicar el schema a la base de datos
Al acceder por primera vez a la aplicación se producirá la generación de las tablas necesarias para el funcionamiento de la plataforma en forma automática. Para ello, se deberá iniciar el servidor Tomcat:
# service tomcat6 start
Y luego, se deberá iniciar sesión, accediendo a la siguiente URL:
http://[SERVER HOSTNAME OR IP]:8080/bonita
Utilizar como usuario y contraseña: admin / bpm.
La operación demorará unos minutos y al finalizar se podrá observar el inbox del usuario.
6.- Deshabilitar creación de tablas automática
Finalmente, para evitar inconvenientes se debe deshabilitar la opción de creación de tablas automática. Para ello, se debe comentar (“#”) la línea detallada a continuación en los siguientes archivos:
<TOMCAT_HOME>/bonita/server/default/conf/bonita-journal.properties
<TOMCAT_HOME>/bonita/server/default/conf/bonita-history.properties
# Table are automatically create in database
#hibernate.hbm2ddl.auto update
Notas Finales
En este artículo hemos detallado el procedimiento paso a paso para llevar a cabo la instalación Bonita BPM 5.10 utilizando Tomcat y MySQL. A excepción del sistema operativo, en el mismo, se cubre la instalación de todos los componentes necesarios para lograr un entorno de ejecución robusto que pueda cumplir las necesidades de un ambiente productivo. Como próximo paso en tal dirección se podría plantear la configuración de un mecanismo de autenticación de usuarios basado en un directorio LDAP.