Herramientas de usuario

Herramientas del sitio


libertya:guia_de_instalacion_libertya_en_linux_ubuntu

Guia de instalación libertya en Linux Ubuntu

Guía de instalación Libertya en Ubuntu.

Esta es una recopilación de los threads del foro: |Instalacion de Libertya 9.10 en Ubuntu Server 9.10 y |Actualizacion del script libertyad.

Los mismos son una colaboración de |Hermann Schimpf.

Instalar Ubuntu Server 9.10

Instalamos el sistema base. OBS: Para este ejemplo se utilizo la version de 32 bits. Si se desea utilizar una version de 64 bits se debera modificar las rutas a los ficheros JDK y otros. No seleccionar Postgresql desde la instalacion ya que instalara la version 8.4 y aqui utilizaremos la version 8.3.

Instalacion de Postgres 8.3, pgAdmin III y JDK 1.6

Si hemos instalado el synaptic podemos ingresar a este y seleccionar los paquetes. O podemos ejecutar el siguiente comando el cual instalara estos paquetes desde consola:

sudo apt-get install postgresql-8.3 pgadmin3 sun-java6-jdk

Los directorios de estos paquetes quedaran de la siguiente manera:

Postgres: /usr/lib/postgressql/8.3/

JDK: Directorio Home de la instalacion de java /usr/lib/jvm/java-6-sun-1.6.0.16/

Enlace simbolico a /usr/lib/jvm/java-6-sun-1.6.0.16 (no lo utilizaremos): /usr/lib/jvm/java-6-sun

Descargar Libertya 9.10

Descomprimirlo en /ServidorOXP. Ubicarse en el directorio /ServidorOXP y ejecutar el siguiente comando para asignar permisos de ejecucion a todos los ficheros bash:

sudo chmod 777 -R *.sh

Configuramos Postgres y pljava

Editamos el fichero enviroment de postgres:

sudo vi /etc/postgresql/8.3/main/environment

Le agregamos una linea con el directorio de java:

JAVA_HOME='/usr/lib/jvm/java-6-sun-1.6.0.16'

Editamos el fichero pg_hba.conf de postgres:

sudo vi /etc/postgresql/8.3/main/pg_hba.conf

Lo dejamos de la siguiente manera asignando trust para que permita el acceso desde cualquier lugar:

# "local" is for Unix domain socket connections only
local all all trust
# IPv4 local connections:
host all all 127.0.0.1/32 trust
host all all 0/0 trust
# IPv6 local connections:
host all all ::1/128 trust

Editamos el archivo postgresql.conf ubicado en el mismo directorio

sudo vi /etc/postgresql/8.3/main/postgresql.conf

Buscamos siguiente linea:

#listen_addresses = 'localhost'

La descomentamos y le asignamos '*' al valor quedando de la siguiente manera:

listen_addresses = '*'

Buscamos la siguiente linea

#dynamic_library_path = '$libdir'

La descomentamos y le asignamos como valor el directorio de librerias del postgres quedando de la siguiente manera:

dynamic_library_path = '$libdir:/usr/lib/jvm/java-6-sun-1.6.0.16/jre/lib/i386:/usr/lib/jvm/java-6-sun-1.6.0.16/jre/lib/i386/client:/usr/lib/postgresql/8.3/lib:/ServidorOXP/lib'

Buscamos la siguiente linea:

#custom_variable_classes = //

La descomentamos y le asignamos pljava:

custom_variable_classes = 'pljava'

Agregamos luego de la linea anterior la siguiente linea con la ruta al fichero pljava.jar (mas adelante copiaremos el fichero en esta ubicacion):

pljava.classpath = '/usr/lib/postgresql/8.3/lib/pljava.jar'

Editamos el fichero de configuracion de pljava (si no existe lo creamos)

sudo vi /etc/ld.so.conf.d/pljava.conf

Le agregamos las siguientes lineas:

/usr/lib/jvm/java-6-sun-1.6.0.16/jre/lib/i386
/usr/lib/jvm/java-6-sun-1.6.0.16/jre/lib/i386/client
/usr/lib/jvm/java-6-sun-1.6.0.16/jre/lib/i386/server
/usr/lib/jvm/java-6-sun-1.6.0.16/jre/lib/i386/native_threads

Descargamos el paquete de instalacion pljava-i686-pc-linux-gnu-pg8.3-1.4.0.tar.gz. Pueden descargarlo de este enlace: http://pgfoundry.org/frs/download.php/1598/pljava-i686-pc-linux-gnu-pg8.3-1.4.0.tar.gz. Creamos un directorio pljava:

mkdir pljava

Mover el fichero descargado a la carpeta:

mv pljava-i686-pc-linux-gnu-pg8.2-1.4.0.tar.gz pljava/

Nos situamos en la carpeta pljava y descomprimimos el fichero:

cd pljava
tar xvf pljava-i686-pc-linux-gnu-pg8.2-1.4.0.tar.gz

Copiamos los archivos pljava.jar y pljava.so al directorio de librerias del postgresql:

sudo cp pljava.* /usr/lib/postgresql/8.3/lib/

Asignamos permisos de ejecucion sobre estos ficheros. (me ha sucedido de que en un paso mas adelante me daba errores y el problema era ese):

sudo chmod 777 /usr/lib/postgresql/8.3/lib/pljava.*

Ejecutamos el comando ldconfig para cargar las configuraciones realizadas

sudo ldconfig

Reiniciamos el servidor postgresql

sudo /etc/init.d/postgresql-8.3 restart

Ahora debemos instalar el pljava. Nos vamos a la carpeta donde descomprimos el pljava y ejecutamos el siguiente comando:

psql -U postgres -f install.sql

Verifiquen que este comando no retorne errores. Este paso no tiene que fallar.

Creacion de Usuarios y DB

Ingresamos al pgAdmin para crear el usuario y DB libertya. Si no se tiene entorno grafico se puede ejecutar el siguiente comando desde consola para crear el ROL de LOGIN:

psql -U postgres -c "CREATE ROLE libertya LOGIN ENCRYPTED PASSWORD 'md52b2861c4d594f29f9ce9107c4560f3ae' SUPERUSER CREATEDB CREATEROLE VALID UNTIL 'infinity' IN ROLE postgres; UPDATE pg_authid SET rolcatupdate=true WHERE rolname='libertya';"

Y este creara la DB:

psql -U postgres -c "CREATE DATABASE libertya WITH ENCODING='UTF8' OWNER=libertya;"

Ahora debemos instalar el pljava en la DB libertya. Ejecutamos el siguiente comando desde el directorio donde este el fichero install de pljava:

psql -d libertya -U libertya -f install.sql

Luego corremos el dump de la base de datos libertya:

psql -d libertya -U libertya -f libertya_final_0910i.sql

Despues de instalar el dump hay que actualizar el sqlj. Lo realizamos mediante el siguiente comando:

psql -d libertya -U libertya -c "select
sqlj.install_jar('file:/<nowiki>//</nowiki>ServidorOXP/lib/sqlj.jar', 'libertya', true); select sqlj.set_classpath('libertya', 'libertya');"

Configuracion Inicial de Libertya

En este paso ya hemos configurado todo lo necesario para iniciar Libertya. Lo que debemos realizar ahora es ejecutar el script de configuracion inicial de libertya. Nos vamos a la carpeta /ServidorOXP y ejecutamos el siguiente comando (este paso requiere de entorno grafico):

cd /ServidorOXP
sudo ./Configurar.sh

Comprobamos los directorios de instalación de Java y Libertya:

  • *Servidor de Aplicaciones: para utilizar nombres en lugar de direcciones ip, debemos poner a punto el fichero /etc/hosts, incluyendo en él los pares nombre/dirección_ip necesarios. Puerto web: 80 (si nos dice que esta en uso podemos utilizar algun otro como 8080 o 8088) Servidor de base de datos: igual que el servidor de aplicaciones. Usuario de la base de datos: libertya. Contraseña: libertya. Tipo de base de datos: PostgreSQL Puerto BD: dejar el que viene por defecto. Servidor de correo**: Puede ser la propia máquina si ejecutas sendmail. También vale con el servidor de correo de tu isp. El sistema lo utilizará para enviar los mails salientes desde la aplicación.

Luego de verificar estos datos comprobamos que las configuraciones esten bien mediante el boton comprobar. Si todo fue bien guardamos los cambios. Nos mostrara un mensaje de que los datos han sido guardados. No cerremos la ventana luego de este mensaje puesto que luego del mensaje ejecuta algunas configuraciones. Al finalizar las configuraciones la ventana se cerrara sola.

Iniciar Libertya

Ya hemos configurado completamente libertya. Ahora solo nos queda iniciar el servidor. Yo realize un script para iniciarlo puesto que debemos setear algunas variables de entorno antes de iniciar el servidor. El contenido es el siguiente:

#! /bin/bash
export JAVA_HOME=/usr/lib/jvm/java-6-sun-1.6.0.16
export OXP_HOME=/ServidorOXP
cd /ServidorOXP/utils/
./IniciarServidor.sh

Le asignamos permisos de ejecucion y lo corremos como root:

sudo chmod 777 iniciarLibertya.sh
sudo ./iniciarLibertya.sh

Este proceso durara aproximadamente un minuto dependiendo de la configuracion de hardware del servidor. Este script mostrara una linea parecida a la siguiente con la que sabremos que el servidor Libertya ya ha iniciado correctamtente:

12:51:09,350 INFO [[Server]] JBoss (MX MicroKernel) [[4.0.2|(build: CVSTag=JBoss_4_0_2 date=200505022023)]] Started in 32s:964ms

Ahora podemos acceder al navegador web y ejecutar el cliente libertya. localhost:8080 (u 8088, dependiendo del que se especifico en la configuracion)

Registrar Libertya como servicio

En mi caso yo destine un servidor para libertya. Asi que realize un script para que inicie automaticamente el servidor Libertya cuando inicia Ubuntu. Creamos el fichero /etc/init.d/libertyad con el siguiente contenido:

#!/bin/bash

## Libertyad v0.3
## path: /etc/init.d/libertyad
## author: Hermann D. Schimpf

# verificamos si el usuario es root
if [[|$EUID -ne 0 ]] ;then
# mostramos un mensaje
echo "Se requiere ejecutar como root" 2>&1
# salimos de la ejecucion
exit 1
fi

# creamos una funcion
function findLogs() {
# esta funcion retorna la cantidad de ficheros log del directorio de Libertya
(( $1 = `find /ServidorOXP/log/ServidorOXP_\`date +%Y-%m-%d\`_* -type f -exec ls -l {} \; | wc -l` ))
}

# almacenamos el nombre del fichero PID para el demonio Libertya
PID=/var/run/libertya.pid
# almacenamos la ruta al script a ejecutar para iniciar el demonio Libertya
STARTLIBERTYA=/ServidorOXP/utils/IniciarServidor.sh
# almacenamos la ruta al script para detener el demonio Libertya
STOPLIBERTYA=/ServidorOXP/utils/./DetenerServidor.sh

# ingresamos a un case para verificar que accion tomamos
case "$1" in
# si especifico 'start'
start)
# mostramos un mensaje
echo -n "Iniciando servidor Libertya... "
# verificamos si el demonio esta corriendo
if test -f $PID ;then
# mostramos un mensaje
echo "El servidor ya se encuentra iniciado"
else
# exportamos la variable con la ruta a java
export JAVA_HOME=/usr/lib/jvm/java-6-sun-1.6.0.15
# exportamos la variable con la ruta al servidor de aplicaciones
export OXP_HOME=/ServidorOXP
# iniciamos el servidor de aplicaciones como demonio
start-stop-daemon --start --background -m --pidfile $PID --exec $STARTLIBERTYA
# obtenemos la cantidad actual de ficheros
findLogs cantLogs
# obtenemos la cantidad actual de ficheros
findLogs cantLogsNew
# ingresamos a un bucle, mientras exista la misma cantidad de ficheros
while [[|$cantLogs = $cantLogsNew ]]; do
# esperamos 500 milisegundos
sleep 0.5
# volvemos a obtener la cantidad de ficheros
findLogs cantLogsNew
done
# mostramos ok al mensaje
echo "OK"
fi
;;
# si especifico stop
stop)
# mostramos un mensaje
echo -n "Deteniendo servidor Libertya... "
# verificamos si el demonio esta corriendo
if test -f $PID ;then
# detenemos el demonio
$STOPLIBERTYA -S > /dev/null 2>&1
# esperamos 10 segundos
sleep 10;
# eliminamos el fichero PID del demonio
rm -f $PID
# mostramos ok al mensaje
echo "OK"
else
# mostramos un mensaje
echo "El servidor no esta iniciado"
fi
;;
# si especifico restart
restart)
# nos reejecutamos con el comando stop
$0 stop
# esperamos un segundo
sleep 1
# nos reejecutamos con el comando start
$0 start
;;
# en cualquier otro caso
*)
# mostramos un mensaje
echo "Utilizacion: /etc/init.d/$0 {start|stop|restart}"
# salimos de la ejecucion
exit 1
;;
esac
exit 0

Le asignamos permisos de ejecucion:

sudo chmod 777 /etc/init.d/libertyad

Registramos el script como servicio del sistema mediante el siguiente comando

sudo update-rc.d libertyad defaults

Ahora al iniciar Ubuntu el servidor Libertya iniciara automaticamente. Podemos manejar el servidor Libertya mediante los siguientes comandos:

sudo /etc/init.d/libertyad start
sudo /etc/init.d/libertyad stop
sudo /etc/init.d/libertyad restart
libertya/guia_de_instalacion_libertya_en_linux_ubuntu.txt · Última modificación: 2021/04/30 19:19 (editor externo)