• Este debate está vacío.
Viendo 15 entradas - de la 1 a la 15 (de un total de 38)
  • Autor
    Entradas
  • #31185

    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-sun

    Descargar 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 java

    Quote:
    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 lugar

    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 trust

    Editamos el archivo postgresql.conf ubicado en el mismo directorio
    sudo vi /etc/postgresql/8.3/main/postgresql.conf
    Buscamos siguiente linea

    Quote:
    #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_threads

    Descargamos 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.sh

    Le 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:964ms

    Ahora 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
    fi

    PID=/var/run/libertya.pid
    STARTLIBERTYA=/ServidorOXP/utils/IniciarServidor.sh
    STOPLIBERTYA=./DetenerServidor.sh

    case “$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 0

    Le 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 restart

    #33715

    Edito 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 trust
    Quote:
    #!/bin/bash
    if [ $EUID -ne 0 ] ;then
    echo “Se requiere ejecutar como root” 2>&1
    exit 1
    fi

    PID=/var/run/libertya.pid
    STARTLIBERTYA=/ServidorOXP/utils/IniciarServidor.sh
    STOPLIBERTYA=./DetenerServidor.sh

    case “$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 0

    #33724
    Federico Cristina
    Superadministrador

    Hermann,

    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!
    Federico

    #33725

    Listo! Gracias Federico!
    Un abrazo
    Hermann

    #33716
    Gustavo Borchez
    Participante

    Hermann:

    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.

    #33735

    Fijate 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!

    #33738

    Paso una alternativa: Ejecutar el comando psql como usuario postgres (su – postgres) y en Gral la base por defecto lo deja pasar sin pass.

    #33717
    Gustavo Borchez
    Participante

    Sigo 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.

    #33758

    Gustavo, la opcion de antonio es asi:
    Te logueas como el usuario postgres de la siguiente manera

    Code:
    sudo su
    su postgres

    Ó simplificado:

    Code:
    su – postgres

    Con 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.sql

    Un abrazo

    Hermann Schimpf

    #33759
    Gustavo Borchez
    Participante

    Gracias 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 inactivo

    Sigo endeudándome (espero poder retribuir en algún momento).

    #33763

    Especificamente te bloquea el pg_hba.conf. Ponele una linea al final con:

    Code:
    host all all 0/0 trust

    y 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 – postgres

    y debería quedar asi:

    Code:
    postgres@gborchez-desktop:~$
    #33766
    Gustavo Borchez
    Participante

    Antonio:

    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 fin

    y 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 inactivo

    #33768

    Gustavo, 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 trust

    Hermann Schimpf

    #33774
    Romina Cuevas
    Miembro

    Con 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.sql

    tengo el mismo problema al momento de correr este comando que gborchez, y lo ejecuto como usuario postgres.

    #33863

    romisc, 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

Viendo 15 entradas - de la 1 a la 15 (de un total de 38)
  • Debes estar registrado para responder a este debate.