En Debian etch o Java de Sun pasou a formar parte das aplicacións "non-free", polo que se modificamos o ficheiro sources.list para incluír este tipo de aplicacións podemos utilizar a ferramenta apt-get para a súa instalación.
openxp# nano /etc/apt/sources.list
Inclúe os termos "contrib" e "non-free" detrás do tármino "main".
p.e.
deb http://ftp.es.debian.org/debian/ etch main contrib non-free
Agora, poderemos instalar a versión 1.5 do Java de Sun.
openxp# apt-get update openxp# apt-get install sun-java5-jdk
Agora, os paquetes Java atópase na seguinte ruta /usr/lib/jvm/java-1.5.0-sun-1.5.0.10. Para facilitar o seu localización creamos un vínculo simbólico:
openxp# ln -s /usr/lib/jvm/java-1.5.0-sun-1.5.0.10 /usr/lib/java
Finalmente, debemos comprobar que a versión de Java que o sistema está utilizando é a que instalamos.
openxp# java -version java version "1.5.0_10" Java(TM) 2 Runtime Environment. Standard Edition (build 1.5.0_10-b03) Java Hotspot(TM) Client VM (build 1.5.0_10-b03, mixed mode, sharing)
No caso en que non sexa a que acabamos de instalar deberemos executar o comando:
openxp# update-alternatives --config java
E seleccionar a opción correcta.
É necesario descomprimir o binario, o mesmo poderá colocalo no seguinte cartafol:
openxp# cp ServidorOXP_v2_1.tar.gz /var/www/
openxp# cd /var/www/
openxp# tar zxfv ServidorOXP_v2_1.tar.gz
openxp# cd ServidorOXP/
openxp# find . -name '.sh' -exec chmod a+x '{}' \;
Agora débense configurar as variables que se necesitarán mais adiante cando se configure OpenXpertya.
openxp# export OXP_HOME=/var/www/ServidorOXP openxp# export Java_HOME=/usr/lib/java openxp# env # para verificar que están as rutas creadas.
Tomcat é un servidor web con soporte de servlets e JSPs. Inclúe o compilador Jasper, que compila JSPs convirtíndoas en servlets. O motor de servlets de Tomcat a miúdo preséntase en combinación co servidor web Apache ou JBOSS.
openxp# apt-get install tomcat5.5
Para a instalación da Base de Datos PostgreSQL débense realizar os seguintes pasos.
openxp# apt-cache search postgresql openxp# apt-get install postgresql-8.1 postgresql-contrib-8.1 pgadmin3
O paquete "pgadmin3" (PgAdmin III) instálase para administrar as bases de datos nunha contorna gráfico.
Para aumentar a seguridade do sistema de bases de datos recoméndase establecer unha contrasinal para o superusuario (postgres).
openxp# o seu postgres openxp$ psql --command "ALTER USER postgres PASSWORD '<o teu_password>'" openxp$ exit
Recorda esta contrasinal posto que vas necesitala para acceder ao servidor SQL desde PgAdmin III, e para realizar a configuración de openXpertya.
Agora, informamos a PostgreSQL da localización da JVM.
openxp# nano /etc/postgresql/8.1/main/environment
Engadimos a liña:
Java_HOME='/usr/lib/java'
Unha vez instalados os paquetes procederase a crear o usuario na Base de Datos, este será o propietario da mesma.
openxp# o seu postgres openxp$ createuser --non-createdb --non-superuser --non-createrole --pwprompt openxp openxp$ exit
O seguinte paso é para crear a Base de Datos.
openxp# o seu postgres openxp$ createdb --owner openxp --encoding UNICODE openxp # Crear a bd openxp openxp$ exit
Antes de importar a base de datos de openXpertya debemos habilitar o soporte pljava en postgresql. O paquete etch de pljava esta preparado para gcj, non para a VM de Sun. A maiores, existe un bug neste paquete que impide que a aplicación funcione.
xpertya# apt-cache search pljava postgresql-8.1-pljava-gcj - Java procedural language for PostgreSQL
Debemos baixarnos entón e instalar pljava: http://pgfoundry.org/frs/download.php/967/pljava-i686-pc-linux-gnu-pg8.1-1.3.0.tar.gz Descomprimimos e copiamos os contidos de tal xeito que estes ficheiros queden nestes sitios:
/usr/lib/postgresql/8.1/lib/pljava.so /usr/lib/postgresql/8.1/lib/pljava.jar /usr/share/postgresql-8.1-pljava/install.sql /usr/share/postgresql-8.1-pljava/uninstall.sql
Engadimos ao final de /etc/postgresql/8.1/main/postgresql.conf
dynamic_library_path = '$libdir:/usr/lib/postgresql/8.1/lib/' custom_variable_classes = 'pljava' # list of custom variable class names pljava.classpath='/usr/lib/postgresql/8.1/lib/pljava.jar'
Creamos un vínculo simbólico para libjvm.so:
openxp# ln -s /usr/lib/java/jre/lib/i386/server/libjvm.so /usr/lib/libjvm.so
Para finalizar, creamos e executamos este script:
#!/bin/bash
boto "
CREATE FUNCTION plpgsql_call_handler () RETURNS OPAQUE AS
'/usr/lib/postgresql/8.1/lib/plpgsql.so' LANGUAGE 'C';
CREATE TRUSTED PROCEDURAL LANGUAGE 'plpgsql'
HANDLER plpgsql_call_handler
LANCOMPILER 'PL/pgSQL';
" > /tmp/.buffer
cat /usr/share/postgresql-8.1-pljava/install.sql /usr/share/postgresql/8.1/contrib/tsearch2.sql >> /tmp/.buffer
boto "
CREATE schema openxp;
SELECT sqlj.install_jar('file:/var/www/ServidorOXP/lib/sqlj.jar','sqlj',true);
INSERT INTO sqlj.classpath_entry (schemaname, ordinal, jarid) VALUES ('openxp', 1, 1);
" >> /tmp/.buffer
psql -d openxp -Ou openxp -h localhost -f /tmp/.buffer
rm /tmp/.buffer
Se este script falla, posiblemente necesites executalo como usuario postgres, substitúe a liña:
psql -d openxp -Ou openxp -h localhost -f /tmp/.buffer
por
psql -d openxp -Ou postgres -h localhost -f /tmp/.buffer
Isto serve para:
a) Habilitar a linguaxe pgSQL na base de datos
b) Habilitar as funcións de instrumentación
c) Instalar o repositorio sqlj.jar implementado en openXpertya
Para finalizar coa configuración da base de datos de deberá cargar as táboas necesarias para que a aplicación funcións correctamente.
openxp# o seu postgres openxp$ psql --username openxp --password --host localhost --dbname openxp < $OXP_HOME/data/openxpdb.sql ao meu marcábame un erro por que non atopaba o arquivo (open xpertya 2.1) openxp$ psql --username openxp --password --host localhost --dbname openxp < $OXP_HOME/data/openxp_db.sql openxp# exit
Para que as aplicacións conéctense coa Base de Datos sen problema debe modificar os seguintes parámetros no arquivo pg_hba.conf situado na seguinte ruta: /etc/postgresql/8.1/main/ .
openxp# nano /etc/postgresql/8.1/main/pg_hba.conf
Ao final do arquivo agregar as seguintes liñas.
local all postgres trust # # All other connections by UNIX sockets local all all trust # # All IPv4 connections from localhost host all all 127.0.0.1 255.255.255.255 trust host all all [o teu IP asignada a eth0] 255.255.255.255 trust # # reject all other connection attempts host all all 0.0.0.0 0.0.0.0 reject
No meu caso tamén tiven que modificar o arquivo /etc/postgresql/8.1/main/postgresql.conf
listen_addresses = ''
Unha vez que agregadas as liñas no arquivo debe reiniciar o servizo de PostgreSQL desde a consola:
openxp# /etc/init.d/postgres8.1 reload No meu caso(Debian 4.0) era : openxp# /etc/init.d/postgresql-8.1 reload
Para configurar a aplicación deberá realizar os seguintes pasos:
openxp# cd /var/www/ServidorOXP/ openxp# ./Configurar.sh
Neste ultimo paso debe colocar os parámetro solicitados e os mesmos se poderán comprobar se están correctos ao colocarse todo en verde, unha vez comprobado que todo este ben se procede a gardar os cambios e desde este momento instalarase a aplicación.
Posibles problemas neste paso:
1) Se o locale por defecto non está configurado como gl_ES, a pantalla de configuración non arrinca. O erro que aparece é: java.util.MissingResourceException: Can't find resource for bundle. Deberán executar o seguinte comando; na primeira pantalla elixir gl_ES, e na segunda volver elixilo.
openxp# dpkg-reconfigure locais
2) Se o porto 80 está sendo utilizado (p.e. Apache), utiliza outro alternativo (p.e. 8081).
3) Se obtés un erro relacionado con template1, revisa a variable listen_addresses = '', de postgresql.conf.
4) Se obtés un erro relacionado co JDBC, revisa a configuración do pg_hba.conf.
5) Ao final débese ver unha mensaxe deste estilo:
BUILD SUCCESSFUL Total estafe: 46 seconds Mapped windows: 54525958->sun.awt.X11.XFramePeer@16cd7d5(3400006)
Se aparece algo como
BUILD FAILED /home/openxp_21/ServidorOXP/build.xml:230: Warning: Could not find file /home/openxp_21/ServidorOXP/utils/PlantillaFTPDescargarOXP.txt to copy
é que fan falta os seguintes arquivos que se atopan no tar.gz da versión 2.0
/ServidorOXP/utils/PlantillaFTPDescargarOXP.txt /ServidorOXP/utils/PlantillaSubirExportacion.bat /ServidorOXP/utils/PlantillaSubirExportacion.sh /ServidorOXP/utils/PlantillaSubirExportacion.txt
No sub-directorio utils atópase un script, debe executar o script para iniciar o servizo.
openxp# cd /var/www/ServidorOXP/utils openxp# ./IniciarServidor.sh A seguinte mensaxe indica que esta arriba o servizo: 22:54:47,252 INFO [Server] JBoss (MX MicroKernel) [4.0.2 (build: CVSTag=JBoss_4_0_2 dáche=200505022023)] Started in 1m:16s:726ms
Unha vez finalizado este paso vostede xa poderá facer uso da ferramenta.
Na versión 2.1 despois de realizar todos os pasos da instalación, é posible que teña o seguinte erro na interface Java.
message
description The server encountered an internal erro () that prevented it from fulfilling this request.
exception
java.lang.StringIndexOutOfBoundsException: String index out of range: 2
java.lang.String.charAt(String.java:558)
org.openXpertya.model.MRole.canView(MRole.java:1825)
org.openXpertya.model.MTabVO.loadTabDetails(MTabVO.java:351)
org.openXpertya.model.MTabVO.create(MTabVO.java:197)
org.openXpertya.model.MWindowVO.createTabs(MWindowVO.java:312)
org.openXpertya.model.MWindowVO.create(MWindowVO.java:272)
org.openXpertya.www.WWindow.doGet(WWindow.java:193)
javax.servlet.http.HttpServlet.service(HttpServlet.java:697)
javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
org.openXpertya.www.WFilter.doFilter(WFilter.java:172)
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:81)
Parece que hai un dato mal na táboa MRole e que por iso dá o erro que mencionás. Na táboa ad_role, debe modificar a columna userlevel para que os datos conteñan sempre sempre 3 caracteres con espazos: "S " " C " " Ou" A maiores, antes de xerar unha empresa no sistema, débese modificar a táboa ad_ref_list con este esquema onde sexa necesario nas filas correspondentes (ad_ref_list_ide: 451, 452, 453, 454).
Todo isto pódelo facer utilizando o pgAdmin.
Obtido de "http://wiki.openxpertya.org/index.php/Instalaci%C3%B3n_Debian_GNU/Linux"