Es claro decir que debo tener instalado debian lenny en mi maquina, asumo que sirve para otras versiones y puede servir de guía para otras distribuciones, así como me sirvió a mí
Los pasos a seguir serán los siguientes:
- Instalación de java
- Instalación de postgresql
- Configuración de las variables de entorno
- Instalación y configuración de pl/java
Instalación de java
El primer paso es instalar Java5, que esta en los repositorios non-free de debian, entonces hay que editar el archivo /etc/apt/sources.list. Yo estoy usando como editor vim, pero puede ser en cualquier editor de texto
$ sudo vim /etc/apt/sources.list
Buscamos la línea que hace referencia a los repositorios de debian y la dejamos así
deb http://ftp.debian.org/debian lenny main contrib non-free
Primero se debe actualizar los repositorios, y luego se instala Java
$ sudo aptitude update
$ sudo aptitude 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:
$ sudo 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.
$ 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)
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:
Variables de Entorno
$ sudo export JAVA_HOME=/usr/lib/java
$ sudo env # para verificar que estén las rutas creadas.
Instalación de PostgreSQL 8.3
Para la instalación de la Base de Datos PostgreSQL se deben realizar los siguientes pasos.
$ sudo 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:
$ sudo apt-get install pgadmin3
Ahora, le indicamos a PostgreSQL de la ruta de la JVM.
$ sudo vim /etc/postgresql/8.3/main/environment
Añadimos la linea:
JAVA_HOME='/usr/lib/java'
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:
$ sudo 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:
$ sudo mkdir pljava
$ sudo mv pljava-i686-pc-linux-gnu-pg8.3-1.4.0.tar.gz ./pljava/
$ cd pljava
$ sudo tar zxfv pljava-i686-pc-linux-gnu-pg8.3-1.4.0.tar.gz
$ sudo cp pljava.jar pljava.so /usr/lib/postgresql/8.3/lib/
$ sudo mkdir /usr/share/postgresql-8.3-pljava/
$ sudo 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/
$ sudo 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:
$ sudo /etc/init.d/postgresql-8.3 restart
Seguimos creamos un enlace simbólico para libjvm.so:
$ sudo ln -s /usr/lib/java/jre/lib/i386/server/libjvm.so /usr/lib/libjvm.so
Para finalizar, instalamos la base de datos:
$ sudo -u postgres psql < /usr/share/postgresql-8.3-pljava/install.sql
4 comentarios:
GRACIAS POR LA AYUDA
Muchas gracias men por la ayuda, de verdad q estaba q me pegaba un tiro.
Gracias. !!!!!
Hola,
Te felicito porque es el mejor manual de instalacion de pljava que he visto.
Tengo una maquina debian funcionando que ya tiene java, postgres, etc. Necesito instalar el pljava pero en el paso final, cuando intento ejecutar el install.sql me da el siguiente error:
could not load library "/usr/lib/postgresql/8.1/lib/pljava.so": libjvm.so: cannot open shared object file: No such file or directory
El fichero se encuentra alli y es para esa version, modifique la configuracion del postgres para definir el lenguaje y do nde esta la libreria, reinicie postgres....
Estoy francamente perdido.... alguna pista?
Gracias,
Paco
Publicar un comentario