====== Como instalar libertya en Windows ======
===== Software utilizado =====
* Sistema operativo Windows 2000, 2003, XP, Vista, 7 u 8.
* [[http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase6-419409.html|Java Development Kit 6.0]] para el servidor (incluye el JRE).
* [[http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase6-419409.html|Java Runtime Environment 6.0]] para el cliente.
* Sistema gestor de bases de datos [[http://get.enterprisedb.com/postgresql/postgresql-8.4.22-1-windows.exe|PostgreSQL 8.4]].
* Binarios de [[http://www.libertya.org/|Libertya]].
===== Instalación de //Libertya// en el servidor //Windows// =====
==== Preparación del sistema ====
//Libertya// y sus dependencias son programas complejos y con mucha carga de trabajo.
Para mejorar el rendimiento del servidor debemos optimizar el sistema Windows al máximo:
* Activar Servicios en segundo plano en **Propiedades del sistema > Avanzado > Opciones de rendimiento**.
* Desinstalar los programas que no se vayan a utilizar desde Agregar o quitar programas en el Panel de Control.
* Reducir la resolución, colores y efectos gráficos del escritorio.
* Limpiar, chequear y desfragmentar el disco duro.
* Deshabilitar (con conocimiento) los dispositivos hardware que no vayan a ser necesarios desde el Administrador de dispositivos o incluso desde la BIOS (por ejemplo, la tarjeta de sonido).
* Desactivar (con mucho cuidado) los servicios de Windows que sepamos para qué sirven pero que no vamos a necesitar.
==== Preparación de los ficheros de Libertya ====
Hay que descomprimir el fichero //ServidorOXP.zip// en //C:\// de forma que se cree la carpeta //C:\ServidorOXP//. Debemos asegurarnos de que todos los ficheros y directorios tienen permiso de escritura (así nos evitamos posibles errores cuando lancemos el servidor de aplicaciones).
Ahora hay que agregar la variable de entorno //OXP_HOME// con la ruta //C:\ServidorOXP//. Podemos editar las variables de entorno desde la pestaña //Avanzado// de las propiedades de //Mi PC//. Añadir en la lista de //Variables del sistema//.
==== Instalación de Java ====
El paquete JDK contiene tanto el kit de desarrollo como el entorno de ejecución de Java.
Durante la instalación se nos permitirá cambiar la ruta de destino tanto del JDK como del JRE. Usar //C:\Java// en lugar de //C:\Archivos de programa\Java// en ambos, ya que podrían surgir problemas más adelante al usar espacios.
El componente //Demos// no es necesario y ocupa bastante espacio en disco, por lo que no lo instalaremos.
Agregar las siguientes variables de entorno del sistema:
* CLASSPATH = C:\Java\jdk1.6.0_45
* JAVA_HOME = C:\Java\jdk1.6.0_45
//Nota: considerar que las direcciones pueden variar dependiendo de la versión de Java que hayas instalado, las arriba indicadas son para la Versión 1.6.0_45, pero si instalas otra, deberá reflejarse en este punto, por ejemplo; si tienes instalada la versión JDK 6.0 Update 39, e instalada en C:\Java\jdk1.6.0_39, las variables JAVA_HOME y CLASSPATH deben apuntar a C:\Java\jdk1.6.0_39.//
//Nota: A partir de la version 9.07 de LY, es necesario utilizar la versión 1.6.0_xx de jdk y jre. Si intentamos utilizar una versión superior, tendremos problemas al arrancar el configurador de LY.//
==== Preparación de la base de datos ====
=== Instalación de PostgreSQL ===
En las notas de la instalación de PostgreSQL 8.4 se indica que para que funcione PL/Java tenemos que agregar a la variable de entorno PATH las siguientes rutas separadas por punto y coma:
* %JAVA_HOME%
* %JAVA_HOME%\bin
* C:\Java\jre1.6.0_45\bin\client
* C:\PostgreSQL\8.4\bin
// Nota: En las direcciones relativas al JRE, considerar el nombre donde instalas el JRE, si por ejemplo lo instalaste en: C:\Java\jre1.6.0_45, en el PATH debes poner C:\Java\jre1.6.0_45\bin\client; //
// Nota 2: Si por algún motivo necesitamos reinstalar PostgreSQL, luego de desinstalarlo se debe ejecutar lo siguiente por linea de comando: net user postgres /delete.//
Lanzar el programa de instalación //postgresql-8.4.22.1-windows.exe//. Existe una [[http://pginstaller.projects.postgresql.org/|guía básica]] en inglés.
Primero nos preguntará el idioma y si queremos guardar un log de instalación. Entonces se nos mostrarán las notas sobre la instalación.
En Installation options debemos activar por lo menos dos elementos que no se instalan por defecto: //National Language Support// y //PL/Java//. En la ruta de instalación quitaremos "Archivos de programa\" para evitar espacios.
En el siguiente paso, debemos escribir la contraseña del usuario postgres de Windows (quien lanzará el servicio).
A continuación, activaremos //Accept connections on all addreses, not just localhost//, indicaremos el idioma //C//, seleccionaremos la codificación //Encoding UTF-8// tanto para el cliente como para el servidor y entraremos la contraseña del administrador de la base de datos.
En la pantalla llamada //Enable procedural languages//, dejar activados //PL/pgsql y PL/java (trusted and untrusted)//.
En Enable contrib modules, activar:
* Adminpack.
Al final de la instalación, el servicio ya debería de estar funcionando. Para asegurarnos, podemos ir al //Administrador de servicios//.
Ahora hay que revisar los ficheros de configuración que podemos ver en el menú **Inicio > Programas > PostgreSQL > Configuration Files**.
Sobre todo debemos asegurarnos que en [[http://www.postgresql.org/docs/8.4/static/auth-pg-hba-conf.html|pg_hba.conf]] se permite el acceso a las máquinas de la red que vayan a trabajar como clientes de //Libertya// y por tanto de //PostgreSQL//.
Por ejemplo, si nuestra red es del tipo 192.168.0.*, para permitir el acceso a todos deberiamos agregar la linea:
host all all 192.168.0.0/24 trust
También es importante ver en [[http://www.postgresql.org/docs/current/static/runtime-config-connection.html#RUNTIME-CONFIG-CONNECTION-SETTINGS|postgresql.conf]] que se permite recibir conexiones desde las direcciones que nos interesan con la opción //listen_addresses//.
Una vez modificados los ficheros de configuración a nuestro gusto, parar y arrancar el servicio.
==== Creación automática de la base de datos de Libertya ====
Ejecutar los siguientes ficheros de proceso por lotes:
Este fichero creara 2 ficheros .bat 1)creacion db y 2)importacion db
C:\ServidorOXP\utils\PostgreSQL\Instalar_DB_Postgresql.bat
ejecutar los 2 archivos .bat que se crearon de la siguiente forma.
C:\ServidorOXP\utils\PostgreSQL\Crear_DB_Postgresql.bat
Nos pedirá la contraseña del usuario //libertya// antes de volcar los datos iniciales, ingresen bien la contraseña de lo contrario la ventana DOS se cerrara sin avisar si hubo error de contraseña, Es conveniente revisar el bat antes de ejecutarlo para verificar que el path de Postgres coincida con el de nuestra instalación, ya que por default es C:\Archivos de programa\Postgres\8.2. al ejecutar este archivo puede que salga algun error de update pero lo importante es lo siguiente: creara el usuario //libertya// y la base de datos //libertya//, pueden verificar la creacion de estos via el administrador de progressql PGAdmin)
Tambien es necesario cambiar el path con la importación inicial en el fichero Importar_DB_ Postgresql.bat:
cambiar la linea
@Call Psql -d libertya -U libertya -f "C:\ServidorOXP\data\libertyadb.sql"
por
@Call Psql -d libertya -U libertya -f "C:\ServidorOXP\data\libertya_final.sql"
Aclaramos que libertya_final.sql es el ultimo dump obtenido desde [[http://www.libertya.org/descargas.html|www.libertya.org]].
Esto tomara un momento el proceso crea el esquema de la base de datos...paciencia..! posteriormente.. En la base de datos LIBERTYA ingresen a SCHEMAS y verifiquen que el esquema LIBERTYA este creado.
=== Creación manual de la base de datos de Libertya ===
Si por algún motivo el método automático no funciona o queremos personalizar de algún modo la creación de la base de datos, primero tendremos que seleccionar //Command Prompt// en el menú **Inicio > Programas > PostgreSQL 8.3**.
* Crear el propietario de la base de datos del programa (por ejemplo, //libertya//):
createuser -DRSPU postgres NOMBRE_USUARIO
Si no estamos en una sesión de línea de comandos del usuario postgres nos pedirá dos veces la contraseña del usuario y, además, una vez la de postgres.
* Crear la base de datos (su nombre también puede ser libertya):
createdb -U postgres -O NOMBRE_USUARIO -E UTF8 NOMBRE_BD
* Ahora ya podemos volcar la estructura de tablas con los datos iniciales a la base de datos:
psql -d NOMBRE_BD -U NOMBRE_USUARIO < C:\ServidorOXP\data\libertya_esquema.sql
==== Instalación del servidor Libertya ====
Ejecutar //C:\ServidorOXP\Configurar.exe// y completar los campos pulsando //Comprobar// hasta que todo esté correcto (sin cuadritos rojos). La mayoría de campos estarán bien con su valor por defecto. Tener en cuenta que en la configuracion regional el idioma debe ser español (es_ES o es_AR) ya que sino el programa //Configurar.exe// no abre ninguna pantalla y genera un log vacio sin indicar errores. Vamos a ver los que seguramente habrá que cambiar:
Directorio base de Java
Ruta del JDK, preferiblemente C:\Java\jdk1.6.0_14.
Dará un error si en lugar del kit de desarrollo (JDK) instalamos el entorno de ejecución (JRE).
Directorio base de Libertya
C:\ServidorOXP (donde descomprimimos antes el fichero ZIP).
Servidor de aplicaciones
Nombre en la red de la máquina (si no hay más remedio, usar la dirección IP).
Puerto web
Dejar el 80.
Si al comprobar aparece un error, es debido a que ya tenemos un servidor web activo.
En tal caso, usar otro puerto que esté libre (por ejemplo, el 8080).
Servidor base de datos
El mismo que el de aplicaciones (a no ser que usemos otro ordenador de la red como servidor de bases de datos).
Tipo de base de datos
PostgreSQL
Nombre de la base de datos
libertya
Contraseña de superusuario
La contraseña del usuario postgres en la base de datos.
Usuario de la base de datos
libertya
Servidor de correo
Servidor de correo que usará Libertya.
Correo del administrador
Dirección a la que Libertya mandará avisos.
Usuario de correo
Usuario que usará Libertya para identificarse.
Contraseña de correo
Clave del usuario anterior.
Una vez que tengamos el formulario de configuración totalmente validado, podemos pulsar el botón //Guardar// para que los cambios se apliquen a los ficheros de ajustes del programa.
==== Inicio del servidor de aplicaciones ====
Podemos ejecutar el servidor manualmente cada vez que lo necesitemos o configurarlo como un servicio de Windows. Al final deberíamos tener los siguientes puertos TCP escuchando:
80 http
443 https
4444 krb524
5432 postgres
8009 ajp13
=== Ejecución manual del servidor de Libertya ===
Para lanzar el servidor web y el de aplicaciones sólo cuando queramos, ejecutar //C:\ServidorOXP\utils\IniciarServidor.bat//. Tras unos minutos sabremos que ha terminado de cargar cuando aparezca algo así:
[[Server]] JBoss (MX MicroKernel) [[4.0.2|(build: CVSTag=JBoss_4_0_2 date=200505022023)]]
Started in 2m:25s:718ms
=== Ejecución automatizada del servidor de Libertya ===
Para tener //Libertya// como un //servicio Windows// (al igual que ocurre con PostgreSQL), hay que ejecutar //C:\ServidorOXP\utils\windows\Instalar_Servicio_Windows.bat// y reiniciar el sistema.
Puede que aparezca el siguiente error:
"VariablesOXP.bat" no se reconoce como un comando interno o externo, programa o archivo por lotes ejecutable.
El sistema no puede hallar la ruta especificada.
Ésto sería debido a que no hemos establecido correctamente la variable //OXP_HOME// con la ruta //C:\ServidorOXP//.
===== Instalación de //Libertya// en un cliente //Windows// =====
Para que //Libertya// funcione en el PC cliente, debemos tener instalado el entorno de ejecución //Java// (JRE) y asegurarnos de que nuestro PC tiene el puerto 80 habilitado. Para esto último nos vamos a "Panel de Control", "Firewall de Windows", "Opciones avanzadas", seleccionamos la conexión de red por la que nos conectaremos al Servidor, le damos a "Configuración" y marcamos la casilla correspondiente a "Servidor web (HTTP)".
Una vez realizado todo esto ya podemos acceder con un navegador web al servidor de la siguiente manera:
http://NOMBRE_SERVIDOR
Si todo va bien, nos mostrará varias formas de acceso al programa:
* Cliente ligero WebStart
* Cliente pesado Java
La manera mas simple de acceder es mediante el cliente ligero Java WebStart. El navegador solicitará confirmacion para ejecutarlo (si no tenemos asociada la extension jnlp nos solicitará hacerlo. En ese caso, debemos seleccionar de nuestra carpeta de instalacion de JAVA el archivo javaws.exe) y lanzará el cliente.
La segunda alternativa es instalar el cliente pesado. Al pulsar sobre segundo el enlace, se descargará un archivo //ZIP// que podremos descomprimir donde y en tantos ordenadores como queramos.
Para entrar desde el cliente sólo tenemos que ejecutar //Libertya.exe//. Aparecerá un cuadro con el mensaje //Cargando// y luego se mostrará una ventana llamada //Entrada en el sistema//.
Si pulsamos en el campo //Servidor// podremos configurar la conexión a nuestro servidor. Usaremos los mismos valores que entramos al configurar //Libertya// excepto el puerto del servidor de aplicaciones, que en lugar de 1099 (como está escrito en la configuración del servidor) tiene que ser 1097 en los clientes (es un problema conocido por los desarrolladores). Si los botones de prueba de ambos servidores se validan, pulsamos aceptar y volveremos a la ventana de //Entrada en el sistema//.
Si es el primer cliente que se conecta, usaremos el usuario //System// con clave //System//. Al aceptar, se hará visible la otra pestaña. La dejamos con sus valores por defecto y pulsamos el botón de entrada.
Ahora ya estamos en la sesión de administración de //Libertya// donde podremos crear empresas y realizar ajustes globales.
===== Enlaces externos para la instalación con documentación adicional =====
* [[http://pgfoundry.org/projects/pljava/?userguide|Guía de usuario del Pl-Java (versiones antiguas)]]
* [[http://www3.uji.es/~isanz/PG/|Guía de instalación de PostgreSQL bajo Windows]] Esta guía cubre tan sólo la instalación de PostgreSQL para Windows. No incluye información sobre Pl-Java (necesario para Libertya), pero es bastante comunicativa.