Instalacion Oxp Centos 5

De openXpertya Wiki

Instalación de OpenXpertya en Centos 5 desde una sesión SSH.
Documentación bajo licencia GPL 3.0
aportado por Maxosystem, S.L.


Tabla de contenidos

Instalación de OpenXpertya

JDK 5.0

Necesitamos jpackage-utils lo instalamos desde el repositorio.

  • Instalamos jpackage-utils
$ yum install jpackage-utils

Para ejecutar OpenXpertia en linux necesitamos la versión 5 del JDK de java. En windows se puede ejecutar con la versión 6.

seleccionamos el fichero jdk-1_5_0_16-linux-i586-rpm.bin

$ chmod +x jdk-1_5_0_16-linux-i586-rpm.bin
$ ./jdk-1_5_0_16-linux-i586-rpm.bin
  • Aceptamos la Licencia.
Do you agree to the above license terms? [yes or no]
yes

Esperamos a que descomprima y realice los RPMS

  • Instalamos los RPMS
$ rpm -Uvh jdk-1_5_0_16-linux-i586.rpm
  • Si tenemos varias maquinas virtuales configuradas seleccionamos la que nos interesa
$ alternatives --config java

There are 2 programs which provide 'java'.

  Selection    Command
-----------------------------------------------
   1           /usr/lib/jvm/jre-1.4.2-gcj/bin/java
*+ 2           /usr/lib/jvm/jre-1.5.0-sun/bin/java

Enter to keep the current selection[+], or type selection number: 2
  • Añadimos las variables de Entorno para OpenXpertya.
$ echo 'export JAVA_HOME=/usr/java/jdk1.5.0_16' >> /etc/profile.d/jdk.sh
$ echo 'export JRE_HOME=$JAVA_HOME/jre' >> /etc/profile.d/jdk.sh
$ echo 'export PATH=$JAVA_HOME/bin:$PATH' >> /etc/profile.d/jdk.sh
$ echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH::$JRE_HOME/lib:$JRE_HOME/lib/i386:$JRE_HOME/lib/i386/client:$JRE_HOME/lib/i386/native_threads' >> /etc/profile.d/jdk.sh
  • Cargamos las variables
$ source /etc/profile.d/jdk.sh

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/java.conf con el siguiente contenido:

  • Creamos las RUTAS en /etc/ld.so.conf.d/java.conf
$ echo '/usr/java/jdk1.5.0_16/jre/lib/i386' >> /etc/ld.so.conf.d/java.conf
$ echo '/usr/java/jdk1.5.0_16/jre/lib/i386/client' >> /etc/ld.so.conf.d/java.conf
$ echo '/usr/java/jdk1.5.0_16/jre/lib/i386/native_threads' >> /etc/ld.so.conf.d/java.conf
  • En algunos casos también es necesaria esta linea (en Centos 5 no hace falta):
$ echo '/usr/java/jdk1.5.0_16/jre/lib/i386/server' >> /etc/ld.so.conf.d/java.conf
  • Cargamos las rutas de las librerías.
$ ldconfig
  • Comprobamos la maquina virtual por defecto
$ java -version
java version "1.5.0_16"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_16-b02)
Java HotSpot(TM) Client VM (build 1.5.0_16-b02, mixed mode, sharing)
  • Listo terminada la instalacion de la JDK.

PostgreSQL database

Vamos a utilizar el PostgresQL 8.3 (no hemos encontrado la manera de hacer funcionar el PL/JAVA v 1.4.0 para Postgres 8.1 que viene por defecto en el repositorio de Centos 5) que descargaremos desde el repositorio oficial de Postgres para Centos. http://yum.pgsqlrpms.org/howtoyum.php

$ wget http://yum.pgsqlrpms.org/reporpms/8.3/pgdg-centos-8.3-4.noarch.rpm
  • Instalamos el paquete
$ rpm -Uvh pgdg-centos-8.3-4.noarch.rpm
  • Necesitamos postgresql-server lo instalamos desde el repositorio.
$ yum install postgresql-server
 Dependencies Resolved

=============================================================================
 Package                 Arch       Version          Repository        Size
=============================================================================
Installing:
 postgresql-server       i386       8.3.3-1PGDG.rhel5  pgdg83            4.6 M
Installing for dependencies:
 postgresql              i386       8.3.3-1PGDG.rhel5  pgdg83            1.7 M
 postgresql-libs         i386       8.3.3-1PGDG.rhel5  pgdg83            204 k

Transaction Summary
=============================================================================
Install      3 Package(s)
Update       0 Package(s)
Remove       0 Package(s)

Total download size: 6.5 M
Is this ok [y/N]:y
  • Añadimos las variables de Entorno para OpenXpertya.
$ echo 'export PATH=$PATH:/usr/lib/pgsql' >> /etc/profile.d/postgresql.sh
$ echo 'export PGDATA=/var/lib/pgsql/data' >> /etc/profile.d/postgresql.sh
  • Cargamos las variables
$ source /etc/profile.d/postgresql.sh
  • Iniciamos el servicio en Centos 5 el script de inicio detecta si existe la bases de datos si no existe la crea de lo contrario solo inicia el servicio.
$ service postgresql start

Initializing database:                                     [  OK  ]
Starting postgresql service:                               [  OK  ]
  • En algunas ocasiones hay que iniciar la base de datos manualmente.
$ service postgresql initdb

Ponemos el Password a postgres

Modificamos el método de autenticación a TRUST.

$ sudo sed -i 's/ident sameuser$/trust/' /var/lib/pgsql/data/pg_hba.conf

Reiniciamos el servicio

$ service postgresql restart

Nos conectamos a al servicio POSTGRESQL

$ psql -U postgres

Modificamos el password de usuario postgres (que es el que tiene privilegios de administración)

$ alter role postgres with password 'new_password';

Salimos

$ \q

Modificamos el método de autenticación a MD5.

$ sudo sed -i 's/trust$/md5/' /var/lib/pgsql/data/pg_hba.conf

Reiniciamos el servicio

$ service postgresql restart

Listo terminada la instalación de PostgreSQL.

PL/Java para PostgreSQL

Instalación del pluging

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.

$ wget http://pgfoundry.org/frs/download.php/1598/pljava-i686-pc-linux-gnu-pg8.3-1.4.0.tar.gz
  • La explicación se refiere a la instalación a partir de los binarios que se pueden descargar del sitio indicado.

Podemos descomprimir la descarga en el directorio home del usuario postgres (/var/lib/pgsql) en una carpeta que llamaremos “pljava”.

$ mkdir -p /var/lib/pgsql/pljava

$ cd /var/lib/pgsql

$ tar xzvf /root/OpenXpertya/pljava-i686-pc-linux-gnu-pg8.3-1.4.0.tar.gz
./
./pljava.jar
./deploy.jar
./pljava.so
./examples.jar
./install.sql
./uninstall.sql
./docs.tar

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.

  • Añadimos los cambios en el fichero /var/lib/pgsql/data/postgresql.conf al final del mismo:
dynamic_library_path = '$libdir:/var/lib/pgsql/pljava'
custom_variable_classes = 'pljava'		# list of custom variable class names
pljava.classpath='/var/lib/pgsql/pljava/pljava.jar'
  • Reiniciamos el servidor postgres.
  • NOTA: La instalación propiamente dicha está finalizada. Pero para poder utilizar este pluging es necesario cargar en la bases de datos que deseemos el SCHEMA sqlj añadir las tablas y crear las funciones

Para lo que se detalla a continuación es necesario realizar los pasos previos de la instalación de OpenXpertya.

  • Descarga y descompresión
  • Variable de entorno $OXP_HOME
  • Creación de ROL y BD

Carga del lenguaje en el SCHEMA sqlj, Lenguaje JAVA sus tablas y funciones

Una vez creada la base de datos en el servidor y el rol del usuario 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:
$ 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
  • Hemos redireccionado la salida standard para ver mejor los posibles errores (fichero ko.log)

Instalación de OpenXpertya

Vamos a instalar OpenXpertya en opt.

$ cd /opt

Descarga y descompresión

  • Descargamos la ultima versión disponible a 30 de Abril de 2008 v2.3
$ wget ftp://ftp.openxpertya.org/pub/2_3vf/ServidorOXP_V2_3.tar.gz
  • Descomprimimos el contenido del archivo descargado.
$ tar xzvf ServidorOXP_V2_3.tar.gz

Nos creará un directorio llamado ServidorOPX

/opt/ServidorOXP

Variable de entorno $OXP_HOME

  • Añadimos la variable de entorno para la instalación OpenXpertya.
$ echo 'export OXP_HOME=/opt/ServidorOXP' >> /etc/profile.d/openxpertya.sh
  • Cargamos las variables
$ source /etc/profile.d/openxpertya.sh

Creacion de ROL y BD

Para ello tenemos que tener funcionando postgres si no es así podemos iniciarlo ejecutando:

$ service postgres start
  • Creamos el ROL openxp como superusuario, para ello ejecutamos:
$ psql -U postgres -c "CREATE ROLE openxp LOGIN ENCRYPTED PASSWORD 'md52b2861c4d594f29f9ce9107c4560f3ae'
SUPERUSER CREATEDB CREATEROLE VALID UNTIL 'infinity' IN ROLE postgres; UPDATE pg_authid SET rolcatupdate=true
WHERE rolname='openxp';"
  • Creamos la BD openxp con propietario el ROL openxp y codificación UTF-8, para ello ejecutamos:
$ psql -U postgres -c "CREATE DATABASE openxp WITH ENCODING='UTF8' OWNER=openxp;"

Carga del lenguaje en el SCHEMA sqlj, Lenguaje JAVA sus tablas y funciones

Una vez creada la base de datos en el servidor y el rol del usuario 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:
$ 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
  • Hemos redireccionado la salida standard para ver mejor los posibles errores (fichero ko.log)

Importación de la ESTRUCTURA de la BD

  • Importamos la estructura de la BD, para ello ejecutamos:
$ psql -d openxp -U openxp -f "$OXP_HOME/data/openxp_esquema.sql"
  • Como segundo paso debemos cargar dentro del esquema SQLJ los datos de la pasada compilación obtenidos del fichero pre compilado sqlj.jar, que está ubicado tras la compilación en la carpeta lib.
  • Bajo Unix, Linux o derivados.
$ psql -d openxp -U openxp -c "select sqlj.install_jar('file:///opt/ServidorOXP/lib/sqlj.jar','sqlj',true); "
  • Luego introducimos:
$ psql -d openxp -U openxp -c "SELECT sqlj.set_classpath('openxp', 'sqlj');"
$ psql -d openxp -U openxp -c "SET search_path TO openxp,public;"

Instalación Finalizada.

Configuración de OpenXpertya desde consola SSH

Como se supone que tenemos un servidor sin las X instaladas. Haber para que nos haría falta las X, pues para el siguiente paso ;) vamos a realizar la instalación de los paquetes necesario para poder hacer forwading del entorno gráfico en nuestro equipo con entorno gráfico.

Paquetes necesarios

  • Paquetes necesario para ejecutar las X en SSH haciendo PortForwarding.
$ yum install xorg-x11-filesystem xorg-x11-utils xorg-x11-xauth
Dependencies Resolved

=============================================================================
 Package                 Arch       Version          Repository        Size
=============================================================================
Installing:
 xorg-x11-utils          i386       7.1-2.fc6        base              116 k
 xorg-x11-xauth          i386       1:1.0.1-2.1      base               31 k
Installing for dependencies:
 libXaw                  i386       1.0.2-8.1        base              324 k
 libXmu                  i386       1.0.2-5          base               62 k
 libXxf86misc            i386       1.0.1-3.1        base               11 k
 libdmx                  i386       1.0.2-3.1        base               13 k

Transaction Summary
=============================================================================
Install      6 Package(s)
Update       0 Package(s)
Remove       0 Package(s)

Total download size: 558 k
Is this ok [y/N]:y

Dependiendo de la aplicación que se ejecute en el servidor es posible que se necesite esta otra libreria libxkbfile que instalariamos desde el mismo repositorio.

$ yum install libxkbfile
  • Con esto ya tenemos los paquetes necesarios para ejecutar la configuración de OpenXpertya pos SSH.

Configuración del demonio sshd

  • Necesitamos realizar algunos ajustes al demonio del sshden el directorio /etc/ssh se encuentra el fichero sshd_config

en el que tenemo que comprobar que los siguientes valores.

AllowTcpForwarding yes
X11Forwarding yes
X11UseLocalhost yes

En principio con la configuración por defecto añadiendo o descomentando estos valores prodremos hacer la configuración de OpenXpertya en nuestro escritorio Linux para Windows existen escritorios para poder ver las X windows.

  • Podemos comprobar donde se van a mostrar las X.
$ set | grep DISPLAY
DISPLAY=localhost:10.0

Ejecución del script de configuración

Si todo ha ido bien no tendremos problemas a la hora de ejecutar el script de configuracion de OpenXpertya en nuestro caso se encuentra en /opt/ServidorXOP/Configurar.sh

  • También hemos tenido algun problema con la variable de entorno LANG que tuvimos que ponerla a es_ES
$ export LANG=es_ES
$ cd /opt/ServidorXOP/
$ sh /opt/ServidorXOP/Configurar.sh
  • Ahora en nuestra escritorio tendría que mostrarse en dialogo de configuración
  • Solo nos queda configurar el OpenXpertya he iniciar los servicios(OpenXpertya).
  • Iniciar servicios
$ /opt/ServidorOXP/utils/IniciarServidor.sh
  • Detener servicios
$ /opt/ServidorOXP/utils/DetenerServidor.sh

Preparación del sistema para el incio

Activamos la base de datos.

$ chkconfig postgresql on
$ chkconfig --list postgresql
postgresql      0:off   1:off   2:on    3:on    4:on    5:on    6:off

Ahora cuando reiniciemos la maquina se cargaran los servicios para poder trabajar con OpenXpertya.

Enlaces Externos

X Windows
X.Org
Xming X Windows para Microsoft Windows
SSH
Cygwin/X

Herramientas personales