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.
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.
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
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
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.
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');"
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:
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.
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)
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