- Este debate está vacío.
-
AutorEntradas
-
8 noviembre, 2009 a las 6:07 pm #31185Hermann D. SchimpfMiembro
Bueno, durante las capacitaciones online algunos estaban interesados en instalar Libertya en un servidor Ubuntu. He realizado un pequeño instructivo paso a paso para la configuracion de Libertya en Ubuntu Server.
Me base en la wiki Libertya en CentOS y en el instructivo Instalación de libertya para Debian en diez pasos
Espero que sea de gran ayuda.Instalar Ubuntu Server 9.10
Instalamos el sistema base.
OBS: Para este ejemplo se utilizo la version de 32 bits. Si se desea utilizar una version de 64 bits se debera modificar las rutas a los ficheros JDK y otros.
No seleccionar Postgresql desde la instalacion ya que instalara la version 8.4 y aqui utilizaremos la version 8.3.Instalacion de Postgres 8.3, pgAdmin III y JDK 1.6
Si hemos instalado el synaptic podemos ingresar a este y seleccionar los paquetes.
O podemos ejecutar el siguiente comando el cual instalara estos paquetes desde consola
sudo apt-get install postgresql-8.3 pgadmin3 sun-java6-jdk
Los directorios de estos paquetes quedaran de la siguiente manera:
Postgres:
/usr/lib/postgressql/8.3/
JDK:
Directorio Home de la instalacion de java
/usr/lib/jvm/java-6-sun-1.6.0.16/
Enlace simbolico a /usr/lib/jvm/java-6-sun-1.6.0.16 (no lo utilizaremos)
/usr/lib/jvm/java-6-sunDescargar Libertya 9.10
Descomprimirlo en /ServidorOXP
Ubicarse en el directorio /ServidorOXP y ejecutar el siguiente comando para asignar permisos de ejecucion a todos los ficheros bash
sudo chmod 777 -R *.sh
Configuramos Postgres y pljava
Editamos el fichero enviroment de postgres
sudo vi /etc/postgresql/8.3/main/environment
Le agregamos una linea con el directorio de javaQuote:JAVA_HOME=’/usr/lib/jvm/java-6-sun-1.6.0.16′Editamos el fichero pg_hba.conf de postgres
sudo vi /etc/postgresql/8.3/main/pg_hba.conf
Lo dejamos de la siguiente manera asignando trust para que permita el acceso desde cualquier lugarQuote:# “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 trustEditamos el archivo postgresql.conf ubicado en el mismo directorio
sudo vi /etc/postgresql/8.3/main/postgresql.conf
Buscamos siguiente lineaQuote:#listen_addresses = ‘localhost’La descomentamos y le asignamos ‘*’ al valor quedando de la siguiente manera
Quote:listen_addresses = ‘*’Buscamos la siguiente linea
Quote:#dynamic_library_path = ‘$libdir’La descomentamos y le asignamos como valor el directorio de librerias del postgres quedando de la siguiente manera
Quote:dynamic_library_path = ‘$libdir:/usr/lib/jvm/java-6-sun-1.6.0.16/jre/lib/i386:/usr/lib/jvm/java-6-sun-1.6.0.16/jre/lib/i386/client:/usr/lib/postgresql/8.3/lib:/ServidorOXP/lib’Buscamos la siguiente linea
Quote:#custom_variable_classes = ”La descomentamos y le asignamos pljava
Quote:custom_variable_classes = ‘pljava’Agregamos luego de la linea anterior la siguiente linea con la ruta al fichero pljava.jar (mas adelante copiaremos el fichero en esta ubicacion)
Quote:pljava.classpath = ‘/usr/lib/postgresql/8.3/lib/pljava.jar’Editamos el fichero de configuracion de pljava (si no existe lo creamos)
sudo vi /etc/ld.so.conf.d/pljava.conf
Le agregamos las siguientes lineas:Quote:/usr/lib/jvm/java-6-sun-1.6.0.16/jre/lib/i386
/usr/lib/jvm/java-6-sun-1.6.0.16/jre/lib/i386/client
/usr/lib/jvm/java-6-sun-1.6.0.16/jre/lib/i386/server
/usr/lib/jvm/java-6-sun-1.6.0.16/jre/lib/i386/native_threadsDescargamos el paquete de instalacion pljava-i686-pc-linux-gnu-pg8.3-1.4.0.tar.gz
Pueden descargarlo de este enlace: http://pgfoundry.org/frs/download.php/1598/pljava-i686-pc-linux-gnu-pg8.3-1.4.0.tar.gz
Creamos un directorio pljava
mkdir pljava
Mover el fichero descargado a la carpeta
mv pljava-i686-pc-linux-gnu-pg8.2-1.4.0.tar.gz pljava/
Nos situamos en la carpeta pljava y descomprimimos el fichero
cd pljava
tar xvf pljava-i686-pc-linux-gnu-pg8.2-1.4.0.tar.gz
Copiamos los archivos pljava.jar y pljava.so al directorio de librerias del postgresql
sudo cp pljava.* /usr/lib/postgresql/8.3/lib/
Asignamos permisos de ejecucion sobre estos ficheros. (me ha sucedido de que en un paso mas adelante me daba errores y el problema era ese)
sudo chmod 777 /usr/lib/postgresql/8.3/lib/pljava.*
Ejecutamos el comando ldconfig para cargar las configuraciones realizadas
sudo ldconfig
Reiniciamos el servidor postgresql
sudo /etc/init.d/postgresql-8.3 restart
Ahora debemos instalar el pljava. Nos vamos a la carpeta donde descomprimos el pljava y ejecutamos el siguiente comando:
psql -U postgres -f install.sql
Verifiquen que este comando no retorne errores. Este paso no tiene que fallar.Creacion de Usuarios y DB
Ingresamos al pgAdmin para crear el usuario y DB libertya.
Si no se tiene entorno grafico se puede ejecutar el siguiente comando desde consola para crear el ROL de LOGIN:
psql -U postgres -c "CREATE ROLE libertya LOGIN ENCRYPTED PASSWORD 'md52b2861c4d594f29f9ce9107c4560f3ae' SUPERUSER CREATEDB CREATEROLE VALID UNTIL 'infinity' IN ROLE postgres; UPDATE pg_authid SET rolcatupdate=true WHERE rolname='libertya';"
Y este creara la DB:
psql -U postgres -c "CREATE DATABASE libertya WITH ENCODING='UTF8' OWNER=libertya;"
Ahora debemos instalar el pljava en la DB libertya. Ejecutamos el siguiente comando desde el directorio donde este el fichero install de pljava:
psql -d libertya -U libertya -f install.sql
Luego corremos el dump de la base de datos libertya.
psql -d libertya -U libertya -f libertya_final_0910i.sql
Despues de instalar el dump hay que actualizar el sqlj. Lo realizamos mediante el siguiente comando:
psql -d libertya -U libertya -c "select
sqlj.install_jar('file:///ServidorOXP/lib/sqlj.jar', 'libertya', true); select sqlj.set_classpath('libertya', 'libertya');"Configuracion Inicial de Libertya
Bueno, en este paso ya hemos configurado todo lo necesario para iniciar Libertya.
Lo que debemos realizar ahora es ejecutar el script de configuracion inicial de libertya.
Nos vamos a la carpeta /ServidorOXP y ejecutamos el siguiente comando (este paso requiere de entorno grafico)
cd /ServidorOXP
sudo ./Configurar.sh
Comprobamos lo directorios de instalación de Java y Libertya.Quote:Servidor de Aplicaciones: para utilizar nombres en lugar de direcciones ip, debemos poner a punto el fichero /etc/hosts, incluyendo en él los pares nombre/dirección_ip necesarios.
Puerto web: 80 (si nos dice que esta en uso podemos utilizar algun otro como 8080 o 8088)
Servidor de base de datos: igual que el servidor de aplicaciones.
Usuario de la base de datos: libertya.
Contraseña: libertya.
Tipo de base de datos: PostgreSQL
Puerto BD: dejar el que viene por defecto.
Servidor de correo: Puede ser la propia máquina si ejecutas sendmail. También vale con el servidor de correo de tu isp. El sistema lo utilizará para enviar los mails salientes desde la aplicación.Luego de verificar estos datos comprobamos que las configuraciones esten bien mediante el boton comprobar.
Si todo fue bien guardamos los cambios. Nos mostrara un mensaje de que los datos han sido guardados. No cerremos la ventana luego de este mensaje puesto que luego del mensaje ejecuta algunas configuraciones. Al finalizar las configuraciones la ventana se cerrara sola.Iniciar Libertya
Listo, ya hemos configurado completamente libertya. Ahora solo nos queda iniciar el servidor.
Yo me realize un script para iniciarlo puesto que debemos setear algunas variables de entorno antes de iniciar el servidor.
El contenido es el siguiente:Quote:#! /bin/bash
export JAVA_HOME=/usr/lib/jvm/java-6-sun-1.6.0.16
export OXP_HOME=/ServidorOXP
cd /ServidorOXP/utils/
./IniciarServidor.shLe asignamos permisos de ejecucion y lo corremos como root:
sudo chmod 777 iniciarLibertya.sh
sudo ./iniciarLibertya.sh
Este proceso durara aproximadamente un minuto dependiendo de la configuracion de hardware del servidor.
Este script mostrara una linea parecida a la siguiente con la que sabremos que el servidor Libertya ya ha iniciado correctamtente:Quote:12:51:09,350 INFO [Server] JBoss (MX MicroKernel) [4.0.2 (build: CVSTag=JBoss_4_0_2 date=200505022023)] Started in 32s:964msAhora podemos acceder al navegador web y ejecutar el cliente libertya. http://localhost:8080 (u 8088, dependiendo del que se especifico en la configuracion)
Registrar Libertya como servicio
En mi caso yo destine un servidor para libertya. Asi que realize un script para que inicie automaticamente el servidor Libertya cuando inicia Ubuntu.
Creamos el fichero /etc/init.d/libertyad con el siguiente contenido:Quote:#!/bin/bash
if [ $EUID -ne 0 ] ;then
echo “Se requiere ejecutar como root” 2>&1
exit 1
fiPID=/var/run/libertya.pid
STARTLIBERTYA=/ServidorOXP/utils/IniciarServidor.sh
STOPLIBERTYA=./DetenerServidor.shcase “$1” in
start)
echo -n “Iniciando servidor Libertya… “
if test -f $PID ;then
echo “El servidor ya se encuentra iniciado”
else
export JAVA_HOME=/usr/lib/jvm/java-6-sun-1.6.0.16
export OXP_HOME=/ServidorOXP
start-stop-daemon –start –background -m –pidfile $PID –exec $STARTLIBERTYA
sleep 1;
echo “OK”
fi
;;
stop)
echo -n “Deteniendo servidor Libertya… “
if test -f $PID ;then
cd /ServidorOXP/utils/
$STOPLIBERTYA -S > /dev/null 2>&1
rm -f $PID
sleep 1;
echo “OK”
else
echo “El servidor no esta iniciado”
fi
;;
restart)
$0 stop
$0 start
;;
*)
echo “Utilizacion: /etc/init.d/$0 {start|stop|restart}”
exit 1
;;
esac
exit 0Le asignamos permisos de ejecucion.
sudo chmod 777 /etc/init.d/libertyad
Registramos el script como servicio del sistema mediante el siguiente comando
sudo update-rc.d libertyad defaults
Listo! ahora al iniciar Ubuntu el servidor Libertya iniciara automaticamente.
Podemos manejar el servidor Libertya mediante los siguientes comandos:
sudo /etc/init.d/libertyad start
sudo /etc/init.d/libertyad stop
sudo /etc/init.d/libertyad restart8 noviembre, 2009 a las 6:29 pm #33715Hermann D. SchimpfMiembroEdito dos partes que quedaron mal
Quote:# “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 trustQuote:#!/bin/bash
if [ $EUID -ne 0 ] ;then
echo “Se requiere ejecutar como root” 2>&1
exit 1
fiPID=/var/run/libertya.pid
STARTLIBERTYA=/ServidorOXP/utils/IniciarServidor.sh
STOPLIBERTYA=./DetenerServidor.shcase “$1” in
start)
echo -n “Iniciando servidor Libertya… “
if test -f $PID ;then
echo “El servidor ya se encuentra iniciado”
else
export JAVA_HOME=/usr/lib/jvm/java-6-sun-1.6.0.15
export OXP_HOME=/ServidorOXP
start-stop-daemon –start –background -m –pidfile $PID –exec $STARTLIBERTYA
sleep 1;
echo “OK”
fi
;;
stop)
echo -n “Deteniendo servidor Libertya… “
if test -f $PID ;then
cd /ServidorOXP/utils/
$STOPLIBERTYA -S > /dev/null 2>&1
rm -f $PID
sleep 1;
echo “OK”
else
echo “El servidor no esta iniciado”
fi
;;
restart)
$0 stop
$0 start
;;
*)
echo “Utilizacion: /etc/init.d/$0 {start|stop|restart}”
exit 1
;;
esac
exit 08 noviembre, 2009 a las 11:09 pm #33724Federico CristinaSuperadministradorHermann,
Muchísimas gracias por tu aporte!
Me tomé el atrevimiento de corregir el texto de tu primer post del thread con el texto del segundo, así queda más entendible.
Saludos!
Federico9 noviembre, 2009 a las 1:26 am #33725Hermann D. SchimpfMiembroListo! Gracias Federico!
Un abrazo
Hermann9 noviembre, 2009 a las 11:14 pm #33716Gustavo BorchezParticipanteHermann:
Espectacular lo tuyo!
Yo, por mi parte, en vez de aportar sigo preguntando (perdón!!!)
Llego a psql -U postgres -f install.sql y me tira error psql: FATAL: la autentificación Ident falló para el usuario «postgres»
¿Algún tip, por favor? (Lo único que hice distinto al detalladísimo y agradecido paso a paso es cambiar el directorio ‘/usr/lib/jvm/java-6-sun-1.6.0.15’ por ‘/usr/lib/jvm/java-6-sun-1.6.0.16’ (que, de todos modos es el directorio que mencionás al principio)…
(Federico…, podés participar)
Agradezco anticipadamente y aprovecho para mandar un saludo a Milton.
10 noviembre, 2009 a las 1:24 pm #33735Hermann D. SchimpfMiembroFijate si modificaste correctamente el fichero /etc/postgresql/8.3/main/pg_hba.conf asignando los permisos como trust a todas las lineas y luego reiniciar el servicio postgresql para que tome los cambios realizados. A mi me sucedio lo mismo y era problema de permisos de acceso al postgresql.
Un abrazo!
10 noviembre, 2009 a las 7:45 pm #33738Antonio CalviñoMiembroPaso una alternativa: Ejecutar el comando psql como usuario postgres (su – postgres) y en Gral la base por defecto lo deja pasar sin pass.
13 noviembre, 2009 a las 2:30 pm #33717Gustavo BorchezParticipanteSigo exactamente con el mismo error…
Revisé el pg_hba.conf y tiene todo en trust…
¿Como sería el comando completo para usarlo como usuario postgres (la opción de Antonio)? No atino con un comando que no me de error!!!
Gracias de nuevo.
13 noviembre, 2009 a las 2:44 pm #33758Hermann D. SchimpfMiembroGustavo, la opcion de antonio es asi:
Te logueas como el usuario postgres de la siguiente maneraCode:sudo su
su postgresÓ simplificado:
Code:su – postgresCon eso lo que realizas es loguearte como roor y desde el root podes acceder a cualquier usuario, entonces accedes al usuario postgres.
Luego desde el usuario postgres puedes ejecutar cualquier comando psql sin que te pida la contraseña del mismo.Code:psql -f install.sqlUn abrazo
Hermann Schimpf
13 noviembre, 2009 a las 3:41 pm #33759Gustavo BorchezParticipanteGracias Hermann.
Con tu indicación avancé 3 comandos…
Ahora me trabé en psql -d libertya -U libertya -f install.sql…
Me tira
root@gborchez-desktop:/pljava# psql -d libertya -U libertya -f install.sql
psql: FATAL: no hay una línea en pg_hba.conf para «[local]», usuario «libertya», base de datos «libertya», SSL inactivoSigo endeudándome (espero poder retribuir en algún momento).
13 noviembre, 2009 a las 7:03 pm #33763Antonio CalviñoMiembroEspecificamente te bloquea el pg_hba.conf. Ponele una linea al final con:
Code:host all all 0/0 trusty reinicia la base.
De todas maneras, mirando un poco… no hiciste lo que te dijo Hermann.
Segun veo en tu post la linea comienza con:Quote:root@gborchez-desktop:/#Lo cual indica que estás como root y no como usuario postgres.
Desde ahi, todavía tenes que hacer:Code:su – postgresy debería quedar asi:
Code:postgres@gborchez-desktop:~$14 noviembre, 2009 a las 2:27 am #33766Gustavo BorchezParticipanteAntonio:
Había hecho lo que mandó Hermann…, pero pegué otra línea de las tantas pruebas que hice…
En concreto:
Tengo
#ADD BY GUS inicio
# 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
#ADD BY GUS finy me da
postgres@gborchez-desktop:/$ psql -d libertya -U libertya -f install.sql
psql: FATAL: no hay una línea en pg_hba.conf para «[local]», usuario «libertya», base de datos «libertya», SSL inactivo15 noviembre, 2009 a las 11:36 pm #33768Hermann D. SchimpfMiembroGustavo, te falta una linea para que permita el acceso desde localhost. El contenido completo del fichero pg_hba.conf deberia ser el siguiente:
Quote:# 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 trustHermann Schimpf
3 diciembre, 2009 a las 11:53 am #33774Romina CuevasMiembroCon respecto al problema del paso donde se crea la bade de datos libertya o sea la linea
Code:psql -d libertya -U libertya -f install.sqltengo el mismo problema al momento de correr este comando que gborchez, y lo ejecuto como usuario postgres.
3 diciembre, 2009 a las 12:17 pm #33863Hermann D. SchimpfMiembroromisc, has verificado que el fichero pg_hba.conf este correctamente configurado?
En el mensaje anterior al tuyo esta la configuracion que deberia tener.Hermann Schimpf
-
AutorEntradas
- Debes estar registrado para responder a este debate.