Instalación en Ubuntu 8.04 Server
De openXpertya Wiki
xah9Wy <a href="http://tjovrnilidix.com/">tjovrnilidix</a>, [url=http://sfkwflghrvln.com/]sfkwflghrvln[/url], [link=http://ngjdiwppddhn.com/]ngjdiwppddhn[/link], http://ypmzcwozxbdv.com/
Instalando el entorno gráfico: Gnome
Por defecto, Ubuntu Server no dispone de entorno gráfico, ya que está creado para ser lo más eficiente posible eliminando servicios innecesarios para la mayoría de aplicaciones que se suelen utilizar con él. Es por ello que primero instalaremos un entorno gráfico. En nuestro caso hemos elejido Gnome, ya que es el que viene por defecto en las distribuciones de escritorio y cubre perfectamente nuestras necesidades en este caso.
Para ello ejecutaremos:
openxp# apt-get install xserver-xorg-core gnome-core xfonts-base
Si aparecen errores referentes a "locale" ejecutar estos comandos antes:
# locale-gen es_ES.UTF-8 # locale-gen en_US.UTF-8 # locale-gen en_DK.UTF-8 # dpkg-reconfigure locales
Es posible que necesitemos, también, los paquetes del idiona español para que nuestro entorno se vea en nuestro idioma. Para ello haremos:
openxp# apt-get install language-pack-es openxp# apt-get install language-pack-es-base openxp# apt-get install language-pack-gnome-es openxp# apt-get install language-pack-gnome-es-base openxp# apt-get install language-selector openxp# apt-get install language-support-es
Para que los menús se muestren correctamente, tendremos que instalar también gksu:
openxp# apt-get install gksu
Ahora ya tendremos nuestro entorno gráfico Gnome preparado para trabajar.
Instalando Java
Ahora instalaremos la versión 1.5 del Java Development Kit:
openxp# apt-get update openxp# apt-get install sun-java5-jdk
Tras la instalación, los paquetes de Java estarán en la ruta /usr/lib/jvm/java-1.5.0-sun-1.5.0.15 Ahora, para hacer más fácil su acceso, crearemos un enlace simbólico:
openxp# ln -s /usr/lib/jvm/java-1.5.0-sun-1.5.0.15 /usr/lib/java
A continuación, comprobaremos que la versión de Java que estamos utilizando es la que hemos instalado. Como hemos empezado este artículo con una instalación limpia de Ubuntu Server, seguramente sólo tendremos una versión, pero lo comprobaremos igualmente por si acaso.
openxp# java -version java version "1.5.0_15" Java(TM) 2 Runtime Environment. Standard Edition (build 1.5.0_15-b04) Java Hotspot(TM) Client VM (build 1.5.0_15-b04, mixed mode, sharing)
Descarga OpenXpertya 2.2
Primero descargaremos los binarios a nuestro servidor. Es recomendable utilizar, en este caso, la descarga desde Source Forge, ya que así podremos acceder al enlace de descarga directa. Una vez tengamos el enlace, ejecutaremos en nuestra consola:
openxp# wget <enlace al ServidorOXP_v2_2.tar.gz>
Ahora descomprimiremos el paquete:
openxp# cp ServidorOXP_V2_2.tar.gz /
openxp# cd /
openxp# tar zxfv ServidorOXP_V2_2.tar.gz
openxp# rm ServidorOXP_V2_2.tar.gz
openxp# cd ServidorOXP/
openxp# find . -name '*.sh' -exec chmod a+x '{}' \;
Variables de Entorno
Ahora se deben configurar las variables que se necesitarán mas adelante cuando se configure OpenXpertya.
openxp# export OXP_HOME=/ServidorOXP openxp# export JAVA_HOME=/usr/lib/java openxp# env # para verificar que estén las rutas creadas.
Instalación de Tomcat (opcional)
Tomcat es un servidor web con soporte de servlets y JSPs. Incluye el compilador Jasper, que compila JSPs convirtiéndolas en servlets. El motor de servlets de Tomcat a menudo se presenta en combinación con el servidor web Apache o JBOSS.
openxp# apt-get install tomcat5.5
Instalación de PostgreSQL 8.3
Para la instalación de la Base de Datos PostgreSQL se deben realizar los siguientes pasos.
openxp# apt-get install postgresql postgresql-contrib
Podemos instalar el paquete "pgadmin3" (PgAdmin III) para administrar las bases de datos en un entorno gráfico. Para ello, ejecutaremos desde el terminal:
openxp# apt-get install pgadmin3
Para aumentar la seguridad del sistema de bases de datos se recomienda establecer una contraseña para el superusuario (postgres).
openxp# su postgres openxp$ psql --command "ALTER USER postgres PASSWORD '<tu_password>'" openxp$ exit
Recuerda esta contraseña ya que la necesitaremos para acceder al servidor SQL y realizar la configuración de OpenXpertya.
Ahora, le indicamos a PostgreSQL de la ruta de la JVM.
openxp# vi /etc/postgresql/8.3/main/environment
Añadimos la linea:
JAVA_HOME='/usr/lib/java'
Configuración de la Base de Datos
Una vez instalados los paquetes, crearemos el usuario de OpenXpertya y crearemos la base de datos que utilizaremos después.
openxp# su postgres openxp$ createuser --no-createdb --no-superuser --no-createrole --pwprompt openxp # Crea el usuario openxp$ createdb --owner openxp --encoding UNICODE openxp # Crear la bd openxp openxp$ exit
Instalación y configuración de PL/Java
Antes de importar la base de datos de OpenXpertia, debemos habilitar el soporte PL/Java en PostgreSQL. El paquete que hay en los repositorios está preparado para gcj, pero no para la VM de Sun. Además, debido a un bug, imposibilita la ejecucción de la aplicación de manera correcta.
Debemos descargar, entonces, el PL/Java e instalarlo. Para ello haremos:
openxp# wget http://pgfoundry.org/frs/download.php/1598/pljava-i686-pc-linux-gnu-pg8.3-1.4.0.tar.gz
Descomprimimos y copiamos los archivos donde deben ir. En esta instalación estamos suponiendo que el directorio donde se descargan los archivos es /root, así que crearemos primero una carpeta dentro de /root que se llame pljava/ para contener los archivos de PL/Java:
openxp# mkdir pljava openxp# mv pljava-i686-pc-linux-gnu-pg8.3-1.4.0.tar.gz ./pljava/ openxp# cd pljava openxp# tar zxfv pljava-i686-pc-linux-gnu-pg8.3-1.4.0.tar.gz openxp# cp pljava.jar pljava.so /usr/lib/postgresql/8.3/lib/ openxp# mkdir /usr/share/postgresql-8.3-pljava/ openxp# cp install.sql uninstall.sql /usr/share/postgresql-8.3-pljava/
A continuación, procederemos a instalar PL/java. Antes de nada, hay que modificar el archivo pg_hba.conf para que las aplicaciones se conecten con la base de datos sin problemas. El archivo se encuentra en: /etc/postgresql/8.3/main/
openxp# vi /etc/postgresql/8.3/main/pg_hba.conf
Para que no tengamos problemas de acceso a la base de datos, el archivo debe estar de la siguiente manera en las últimas lineas:
# Database administrative login by UNIX sockets local all postgres trust # TYPE DATABASE USER CIDR-ADDRESS METHOD # "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
Además, modificaremos el archivo /etc/postgresql/8.3/main/postgresql.conf para indicar que escuche desde cualquier dirección ip:
listen_addresses = '*'
Y le añadimos al final:
dynamic_library_path = '$libdir:/usr/lib/postgresql/8.3/lib/' custom_variable_classes = 'pljava' # list of custom variable class names pljava.classpath = '/usr/lib/postgresql/8.3/lib/pljava.jar'
A continuación, modificaremos el archivo /etc/ld.so.conf y le añadimos las siguientes lineas:
/usr/lib/java/jre/lib/i386 /usr/lib/java/jre/lib/i386/client /usr/lib/java/jre/lib/i386/native_threads /usr/lib/java/jre/lib/i386/server
Ejecutamos ldconfig para volver a cargar la configuración y reiniciamos el servidor de PostgreSQL:
openxp# /etc/init.d/postgresql-8.3 restart
Seguimos creamos un enlace simbólico para libjvm.so:
openxp# ln -s /usr/lib/java/jre/lib/i386/server/libjvm.so /usr/lib/libjvm.so
Para finalizar, creamos y ejecutamos este script:
#!/bin/bash
echo "
CREATE FUNCTION plpgsql_call_handler () RETURNS OPAQUE AS
'/usr/lib/postgresql/8.3/lib/plpgsql.so' LANGUAGE 'C';
CREATE TRUSTED PROCEDURAL LANGUAGE 'plpgsql'
HANDLER plpgsql_call_handler
LANCOMPILER 'PL/pgSQL';
" > /tmp/.buffer
cat /usr/share/postgresql-8.3-pljava/install.sql /usr/share/postgresql/8.3/contrib/tsearch2.sql >> /tmp/.buffer
echo "
CREATE schema openxp;
SELECT sqlj.install_jar ('file:/ServidorOXP/lib/sqlj.jar','sqlj',true);
INSERT INTO sqlj.classpath_entry (schemaname, ordinal, jarid) VALUES ('openxp', 1, 1);
" >> /tmp/.buffer
psql -d openxp -U postgres -h localhost -f /tmp/.buffer
rm /tmp/.buffer
Esto sirve para:
a) Habilitar el lenguaje pgSQL en la base de datos
b) Habilitar las funciones de instrumentación
c) Instalar el repositorio sqlj.jar implementado en OpenXpertya
Instalación de las tablas de OpenXpertya
Para finalizar con la configuración de la base de datos, debemos cargar las tablas necesarias para que la aplicación funcione correctamente.
openxp# su postgres openxp$ psql --username postgres --password --host localhost --dbname openxp < /ServidorOXP/data/openxp_esquema.sql openxp# exit
Una vez que agregadas las líneas en el archivo debe reiniciar el servicio de PostgreSQL desde la consola:
openxp# /etc/init.d/postgresql-8.3 reload
Configuración de OpenXpertya
Para configurar la aplicación, debemos estar en el entorno gráfico que hemos instalado antes:
openxp# startx
Ahora, desde aquí, abrimos una ventana del terminal y ejecutamos:
openxp# cd /ServidorOXP/ openxp# ./Configurar.sh
A continuación, se nos abrirá la ventana de configuración de nuestro servidor. Aquí tendremos que rellenar todos los campos con los datos de nuestro servidor. Tened especial precaución con indicar la contraseña de KeyStore, que suele ser la misma que la de root, y que la base de datos es PostgreSQL, ya que son los errores más habituales llegados a este momento.
Una vez rellenados todos los campos, haremos clic en el botón 'Comprobar' y si todo está correcto, se nos activará el botón 'Guardar'. Hacemos clic en él y se guardará la configuración de nuestro servidor.
Posibles problemas en este paso:
1) Si el locale por defecto no está configurado como es_ES, la pantalla de configuración no arranca. El error que aparece es: java.util.MissingResourceException: Can't find resource for bundle. Deberán ejecutar el siguiente comando; en la primer pantalla elegir es_ES, y en la segunda volver a elegirlo.
openxp# dpkg-reconfigure locales
2) Si el puerto 80 está siendo utilizado (p.e. Apache), utiliza otro alternativo (p.e. 8080). 3) Si obtienes un error relacionado con template1, revisa la variable listen_addresses = '*', de postgresql.conf. 4) Si obtienes un error relacionado con el JDBC, revisa la configuración del pg_hba.conf.
Al final se debe ver un mensaje de este estilo:
BUILD SUCCESSFUL Total time: 46 seconds Mapped windows: 54525958->sun.awt.X11.XFramePeer@16cd7d5(3400006)
Si aparece algo como
BUILD FAILED /ServidorOXP/build.xml:230: Warning: Could not find file /ServidorOXP/utils/PlantillaFTPDescargarOXP.txt to copy
Es que hacen falta los siguientes archivos que se encuentran en el tar.gz de la versiòn 2.0
/ServidorOXP/utils/PlantillaFTPDescargarOXP.txt /ServidorOXP/utils/PlantillaSubirExportacion.bat /ServidorOXP/utils/PlantillaSubirExportacion.sh /ServidorOXP/utils/PlantillaSubirExportacion.txt
Iniciando el Servidor de Aplicaciones
Antes de poder iniciar el servidor, es posible que nos de error porque no encuentra el Java. Para solucionar esto, debemos modificar una linea del script Variables.sh que se encuentra en /ServidorOXP/utils que hace referencia a la variable del JAVA_HOME. Por defecto, esta variable apunta a un directorio que no es el correcto. Si tratamos de ejecutar el script de inicio de nuestro servidor, nos dará un error al no encontrar las rutas correctas debido a este pequeño error. Para ello, modificamos el archivo y cambiamos la linea:
JAVA_HOME=/usr/java/jdk1.5.0_12
por
JAVA_HOME=/usr/lib/java/
A continuación, es aconsejable reiniciar el servidor para liberar el máximo de memoria disponible, ya que eso influirá en la fluidez de nuestro sistema. Para ello, ejecutamos:
openxp# reboot
Ahora, después de identificarnos como root, ya podemos ejecutar el script para iniciar el servicio.
openxp# cd /ServidorOXP/utils openxp# ./IniciarServidor.sh
El siguiente mensaje indica que el servicio se encuentra activo y funcionando:
22:54:47,252 INFO [Server] JBoss (MX MicroKernel) [4.0.2 (build: CVSTag=JBoss_4_0_2 date=200505022023)] Started in 1m:16s:726ms
Si no se inicia el servidor y aparece un error sobre que falta un "then" en el fichero /ServidorOXP/jboss/bin/run.conf, editar dicho fichero y eliminar todos los saltos de linea de MS-DOS.
Si con ésto no basta y aún sigue dando error sobre que falta un "then" en el fichero /ServidorOXP/jboss/bin/run.conf, debemos usar la herramienta dos2unix, la cual convierte el archivo MS-DOS a formato UNIX.
Una vez finalizado este paso ya podremos hacer uso del programa accediendo desde nuestro equipo cliente a la ip del servidor en el puerto indicado en la configuración.
http://direccion.del.server:puerto/
Si al iniciar el cliente no consigues pasar el test del servidor de aplicaciones, comprueba que el servidor en el fichero /etc/hosts el nombre completo del servidor se corresponde con la IP del mismo y no con la IP 127.0.1.1.
Preguntas Frecuentes
- Pregunta: Me gustaría probarlo en una máquina virtual antes de realizar una instalación en un equipo real. ¿Se puede realizar la instalación en una máquina virtual?
- Respuesta: Sí, por supuesto. Es más, este artículo está escrito a partir de una instalación en una máquina virtual creada con VMWare y corriendo bajo Windows.
- P: He seguido los pasos y ya tengo el servidor corriendo, ¿qué debo hacer ahora?
- R: Lo que recomiendo es utilizar un equipo cliente a parte para poder trabajar. Para trabajar con OpenXpertya tenemos varias soluciones que parten todas de el mismo punto. Después de acceder al servidor a través del navegador, independientemente de nuestro sistema operativo en el cliente, nos aparecerá la ventana de selección de cliente. Aquí podemos elegir entre el cliente en java ligero, el cliente en java pesado, el cual hay que instalar en la máquina cliente, el cliente por web y el acceso a la tienda virtual. Lo más recomendado es instalar el cliente pesado y olvidarse de volver a tener que entrar a través del navegador, aunque hay que tener en cuenta que debemos tener la máquina virtual instalada también en nuestro cliente.
- P: OpenXpertya es (rellenar este espacio con cualquier descalificativo)...
- R: Bueno, el panorama de los ERP de software libre es bastante amplio. Te recomiendo que des una vuelta por la red y que elijas el que más te convenzca. Pero sobretodo, no vayas descalificando por ahí todo aquello que no te guste. La libertad de expresión es un derecho, pero no convirtamos este derecho en un arma para atacar a los demás. Nosotros te respetaremos tu opinión. Respetanos a los que hemos elegido OpenXpertya como nuestro ERP ;)
- P: Como podria hacer para separar en tres capas openxpertia: en un servidor el tomcat, en otro servidor la base de datos y en otro servidor el jboss. De antemano muchas gracias.
- R: Bueno, la verdad es que no te aconsejo que separes las partes en sub-servidores (por así llamarlo). Lo ideal es utilizar un único servidor que cumpla con las tres funciones. Igualmente, lo más probable es que para poder hacer lo que sugieres deberíamos entrar en los archivos própios de configuración del OXP y modificarlos, pero es muy desaconsejable realizar esto, ya que lo más probable es que todo el sistema esté configurado de manera que se trabaje con los tres servicios en un solo equipo. Aún y así, miraré de estudiar la posibilidad que indicas para poder realizarlo.
- P: Estoy teniendo problemas despues del paso reboot, en la sección "Iniciando el servidor de aplicaciones". Al ejecutar IniciarServidor me da un mensaje:
JBoss SHUTDOWN: Undeploying all packages
y en el log encontré lo siguiente:
===========> CConnection.getConnection: jdbc:postgresql://wks186:5432/PostgreSQL?encoding=UTF-8, (1) AutoCommit=true,TrxIso=READ_COMMITTED - FATAL: no existe la base de datos ''PostgreSQL'' ===========> OpenXpertya.startupEnvironment: No hay base de datos: desconectada
evidentemente no encuentra la Base de Datos. Supuse que habia escrito mal el nombre en la pantalla de configuración. Así que cambié el nombre de la BD, y escribo openxp, pero la pantalla de configuracion se queda procesando, y no me da respuesta. Espere mas de 30 minutos y nada. ¿Podrias orientarme por favor? (Consulta de Carolina Boerr)
- R: Lo que puede ser es que hayas puesto mal el nombre de la base de datos en el momento en el que se realiza la configuración a traves del entorno gráfico (opción Configuración de OpenXpertya). Para solucionarlo, vuelve a ejecutar el script de configuración desde el entorno de ventanas. Te recuerdo los comandos desde antes de iniciar el entorno de ventanas:
openxp# startx (Desde una ventana del terminal) openxp# cd /ServidorOXP/ openxp# ./Configurar.sh
En principio con esto se debería de haber solucionado el problema al rellenar de nuevo correctamente los campos correspondientes.
NOTA: Si se quieren realizar preguntas sobre la instalación, por favor, mándelas por correo electrónico a la dirección indicada más abajo. Además, cabe informar que este artículo sólo pretende servir de ayuda para realizar la instalación básica. Para otras ayudas, os aconsejo el própio foro de OpenXpertya o su servicio técnico.
Notas y aclaraciones sobre el artículo
Este artículo ha sido escrito por Fran Martín <frankiepd[arroba]gmail.com> tomando de referencia otros artículos como el de la instalación en Debian, contenido en esta misma Wiki, el PDF creado por Diego Estévez Rodríguez y Antonio Martínez Carballo de la Escuela Superior de Ingeniería Informática (Galicia) y mi propia experiencia.
He intentado que sea lo más fácil de seguir y de entender, partiendo desde una instalación limpia de Ubuntu Server e indicando el máximo posible de datos para que el usuario inexperto pueda llevar a cabo la instalación. Como se puede apreciar por la extensión del mismo, no es una tarea fácil, por ello he procurado ser lo más riguroso posible y utilizar un lenguage sencillo a la par que preciso para su confección.
Es cierto que he leido en los foros de soporte muchas críticas y quejas sobre el método de instalación de OpenXpertya, por eso decidí crear este artículo mientras yo mismo intentaba instalar, por primera vez, dicho software. Espero que con este documento ayude a mucha más gente a poder instalarse este ERP y a apoyar el software libre.
Para cualquier queja, aclaración, rectificación, sugerencia y/o agradecimiento, estaría gratamente agradecido que se me comunicara a través de correo electronico a la dirección frankiepd<arroba>gmail.com
--Frankie 09:49 13 may 2008 (CEST)
