Instalacion Oxp Fedora Core 6
De openXpertya Wiki
Tabla de contenidos |
Guía para instalar openXpertya (B.D. PostgreSQL) en Linux (Fedora Core 6)
- Software utilizado
- S.O. Fedora Core 6 (http://fedoraproject.org/wiki/
- Java de Sun (JDK 1.5.0_10) (Por si no funciona el enlace - JDK 5.0 Update 12)
- Sistema gestor de bases de datos PostgreSQL 8.1.4 (Incluida en la distribución Fedora Core 6)
- Pl/Java para PostgreSQL (PL/Java)
- Binarios de openXpertya
Instalando Java
Realizada la descarga del JDK, procedemos a ejecutar el archivo binario desde la shell (yo lo hice como root):
[root@proliant Java_1.5_12]# ./jdk-1_5_0_12-linux-i586-rpm.bin
Se mostrará el contrato de licencia oportuno para que le digamos si lo aceptamos o no. El propio ejecutable lanza la instalación del rpm de modo que el manejador de paquetes se encargará del resto. El java queda instalado en /usr/java/jdk1.5.0_12. Podemos comprobar que está activo mediante el menú del panel: Sistema > Preferencias > Java Imagen:Java jlnp.png
Preparación de la Base de Datos
Es necesario crear una nueva base de datos en PostgreSQL (teniendo en cuenta la arquitectura de esta base de datos, se trata en realidad de un Cluster de bases de datos / esquemas). Este se llamará openxp. También necesitaremos un usuario propietario de dicha base de datos, que también denominaremos openxp. En mi caso he creido conveniente la creación de un nuevo usuario en el sistema operativo (también podemos llamarlo openxp), de modo que podamos colocar la aplicación en una ubicación lógica y separada de otros directorios/usuarios del sistema. Esto lo logramos fácilmente a través del menú: Sistema > Administración > Usuarios y grupos.
Para crear la estructura previa a la importación de la base de datos del programa, usaremos el cliente gráfico pgAdmin III. Para conectar sin problemas desde este programa necesitaremos modificar el fichero de configuración de acceso de PostgreSQL (pg_hba.conf) que estará ubicado en /var/lib/pgsql/data. Al final del fichero añadiremos tantas lineas como equipos pensemos conectar a la base de datos; es decir, una con cada ip.
host all all 192.168.1.100/32 trust host all all 192.168.1.101/32 trust ...
Se trata de una configuración bastante permisiva, pero por otra parte no nos dará problemas iniciales de conexión, que sin duda aparecerían por ejemplo al intentar conectar desde pgAdmin III.
Reiniciamos el servicio PostgreSQL desde una ventana de la shell, preferiblemente con el usuario “postgres” con el comando:
pg_ctl restart
Lanzamos pgAdmin III (la instalación del rpm deja un acceso directo en el menú: Aplicaciones > Programación > pgAdmin III
Realizada con éxito la conexión, en el arbol desplegado a la izquierda elegimos roles de login y creamos uno para openxp (esto creará un usuario con los permisos que aquí le otorguemos; marcamos todos.
Instalando PL/Java
Para el funcionamiento de openXpertya se necesita que el motor de la base de datos soporte la ejecución de procedimientos escritos en java. Para esto, vamos a añadir el soporte para el lenguaje PL/Java.
La pagina oficial del proyecto PL/Java es http://wiki.tada.se/display/pljava/Home. Todo lo explicado a continuación se ha extraido de sus contenidos y debe ser el sitio de referencia para mantenerse actualizado sobre las novedades con dicha herramienta.
La explicación se refiere a la instalación a partir de los binarios que se pueden descargar del sitio indicado, en la ruta que aparece al principio de esta guía. Podemos descomprimir la descarga en el directorio home del usuario postgres (/var/lib/pgsql) en una carpeta que llamaremos “pljava”. La configuración la realizaremos desde la shell con el usuario openxp, con lo que debemos revisar su entorno para completar lo que falte a nivel de variables. Este el el contenido del fichero .bash_profile del usuario openxp en mi máquina:
[ -f /etc/profile ] && source /etc/profile PATH=$PATH:/usr/lib/pgsql:/usr/java/jdk1.5.0_12 JAVA_HOME=/usr/java/jdk1.5.0_12 JRE_HOME=$JAVA_HOME/jre OXP_HOME=/home/oxp/ServidorOXP PGDATA=/var/lib/pgsql/data export PATH JAVA_HOME JRE_HOME OXP_HOME PGDATA
- Cambios en el fichero /var/lib/pgsql/data/postgresql.conf:
dynamic_library_path = '$libdir:/var/lib/pgsql/pljava' custom_variable_classes = 'pljava' # list of custom variable class names pljava.classpath='/var/lib/pgsql/pljava.jar'
- Establecer LD_LIBRARY_PATH:
Creamos el fichero /etc/sysconfig/pgsql/postgresql con el siguiente contenido:
export LD_LIBRARY_PATH=$JRE_HOME/lib/i386:$JRE_HOME/lib/i386/client:$JRE_HOME/lib/i386/native_threads
- Creamos el fichero /etc/ld.so.conf.d/postgresql.conf con el siguiente contenido:
/usr/java/jdk1.5.0_12/lib/i386 /usr/java/jdk1.5.0_12/lib/i386/client
- Aplicamos configuraciones:
# /sbin/ldconfig
- No siempre funciona bien esto de configurar LD_LIBRARY_PATH, y el modo que he encontrado para solucionarlo es crear también el fichero /etc/ld.so.conf.d/jvm.conf con el siguiente contenido:
/usr/java/jdk1.5.0_12/jre/lib/i386/server
- Reiniciamos el servidor postgres.
- Carga del lenguaje
Por último debemos ejecutar el el servidor de postgres el código necesario para implementar el lenguaje. El código necesario se encuentra el el fichero “install.sql” incluido el el paquete. Nos vamos por tanto a la carpeta donde descomprimimos el PL/Java y ejecutamos el script:
- no está demás comprobar que el usuario openxp puede conectarse correctamente a la base de datos:
-bash-3.1$ psql -dopenxp -Uopenxp
Bienvenido a psql 8.1.4, la terminal interactiva de PostgreSQL.
Digite: \copyright para ver los términos de distribución
\h para ayuda de comandos SQL
\? para ayuda de comandos psql
\g o or termine con punto y coma para ejecutar una consulta
\q para salir
openxp=#
- si no obtenemos una shell como esta, debemos revisar la configuración del archivo pg_hba.conf; de lo contrario, continuamos :
cd /var/lib/pgsql/pljava psql -d openxp -U openxp -f install.sql 1>ok.log 2>ko.log
- He redireccionado la salida standard para ver mejor los posibles errores (fichero ko.log)
Instalación de openXpertya
Es el momento de descomprimir los binarios de openXpertya. En este ejemplo en: /home/openxp/ServidorOXP. (bastará con elegir el directorio home de nuestro usuario openxp en la herramienta de descompresión).
Carga de la Base de Datos
En el subdirectorio “data” de esta nueva carpeta se encuentra el script de creación de la base de datos. (en el ejemplo: /home/openxp/ServidorOXP/data/openxp_db.sql). Lo cargamos igual que en el caso anterior:
- habiéndonos colocado en dicho subdirectorio:
psql -d openxp -U openxp -f openxp_db.sql 1>ok.log 2>ko.log
También como en el caso anterior, veremos que el fichero ko.log (el de errores) tiene datos: tranquilidad; sólo son “warnings” :)
Ajustando la configuración
En el directorio de instalación tenemos un script de shell, Configurar.sh, que debemos ejecutar para comprobar y almacenar el entorno de ejecución del programa.
-bash-3.1$ pwd /home/openxp/ServidorOXP -bash-3.1$ ./Configurar.sh
- Comprobamos lo directorios de instalación de Java y openXpertya.
- 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: por algún motivo relacionado con la seguridad (creo), no podemos acceder a puertos tcp por debajo del 1024. Yo he utilizado estos: puerto web 8088, puerto ssl 4443.
- Servidor de base de datos: lo mismo.
- Usuario de la base de datos: openxp. Contraseña: openxp.
- Tipo de base de datos: PostgreSQL
- Puerto BD por defecto.
- Servidor de correo: por lo que he podido experimentar es mejor poner uno válido; que puede ser la propia máquina si ejecutas sendmail, por ejemplo. También vale con el servidor de correo de tu isp.
Comprobaremos la configuración y si todo va bien (todo en verde), la podremos salvar. El programa nos debe notificar que los cambios se han guardado y que ya podemos arrancar el servidor de aplicaciones. (si no lo hace, algo ha ido mal: revisar el log en el mismo directorio).
Iniciando el Servidor de Aplicaciones
El script que se encarga de iniciar el servidor de aplicaciones se encuentra el el subdirectorio "utils" de la instalación.
cd /home/openxp/ServidorOXP/utils ./IniciarServidor.sh
Transcurrido 1 minuto más o menos, tendremos el servidor escuchando peticiones. Lo comprobaremos desde el navegador, escribiendo, según el ejemplo, la siguiente url: http://proliant:1099
- Firefox no sabe muy bien lo que hacer un un fichero JNLP, de modo que debemos decírselo. Cuando nos pregunte con qué aplicación lo abrimos, debemos buscar el programa "javaws" del subdirectorio "bin" de nuestra instalación de java.
