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.
- Descargamos Sun JDK 5.0 Update 16 from http://java.sun.com/javase/downloads/index_jdk5.jsp
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
- Descargamos el RPM que nos configurará el repositorio de Postgres en Centos desde http://yum.pgsqlrpms.org/reporpms/repoview/pgdg-centos.html la versión actual a 21/07/2008 es pgdg-centos-8.3-4.noarch
$ 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.
- Descargamos el binario correspondiente a a versión 8.3 del Postgresql desde http://wiki.tada.se/display/pljava/Download+Page
$ 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
