Você está na página 1de 10

GUA PARA EL SOPORTE DE SISTEMAS DE INFORMACIN GEOGRFICA EN SERVIDORES POSTGRESQL PARA UBUNTU

Universidad de las Ciencias Informticas. Ciudad de La Habana, Cuba.

Ing. Yisel Barrabia Legr, Ing. Yudisney Vazquez Ortz, Ing. Aliuska Snchez Ibarria, Lisleydi Mier Pierre, Jorge Luis Rodrguez Armenteros

Diciembre de 2010

TABLA DE CONTENIDOS

Prefacio ......................................................................................................................................... 3 Audiencia ................................................................................................................................... 3 Convenciones ............................................................................................................................ 3 Secciones de la Gua .................................................................................................................. 3 2. Procedimiento para la instalacin y configuracin de PostgreSQL 9.0.1 desde el cdigo fuente ............................................................................................................................................ 5 3. Procedimiento para la instalacin de PostGIS .......................................................................... 9 3.1. Requerimientos para la instalacin de PostGIS ................................................................. 9 3.2. Pasos para la instalacin de PostGIS .................................................................................. 9

PREFACIO
Bienvenido a la Gua para el soporte de sistemas de informacin geogrfica en servidores PostgreSQL para Ubuntu, la cual est dirigida a cualquier administrador de bases de datos que desee configurar su gestor de bases de datos para soportar datos geoespaciales. Este prefacio contiene: Audiencia. Convenciones. Secciones de la Gua.

Audiencia La Gua para el soporte de sistemas de informacin geogrfica en servidores PostgreSQL para Ubuntu difunde el conocimiento para la asimilacin del sistema de gestin de bases de datos PostgreSQL. La informacin contenida en la Gua es aplicable al sistema operativo Ubuntu. Esta gua est orientada a: Administradores de bases de datos PostgreSQL que deseen adquirir habilidades para darle soporte a bases de datos geoespaciales. Convenciones Las siguientes convenciones de texto sern usadas en este documento: Tabla 1.- Convenciones a utilizar durante la Gua Convencin Cambria, 10 pto, negrita Significado Indica los comandos que se deben escribir en el terminal de Debian, directorios o cualquier referencia a comandos y extensiones dentro del texto. Cambria, 10 pto, itlica Indica los comentarios a los comandos, para que puedan ser entendidos.

Secciones de la Gua La gua est conformada por las siguientes secciones: Requerimientos para la ejecucin de la Gua. Procedimiento para la instalacin y configuracin de PostgreSQL 9.0.1 desde el cdigo fuente. Procedimiento para la instalacin de PostGIS 1.5.2.

Cada procedimiento tiene un conjunto de requerimientos que sern descritos en cada seccin.

1. REQUERIMIENTOS PARA EJECUTAR LA GUA


Para ejecutar satisfactoriamente la Gua deben cumplirse los siguientes requerimientos: Contar con el cdigo fuente de PostgreSQL 9.0.1, PostGIS 1.5.2, Geos 3.2.2 y Proj4.7.0, compactados cada uno en tar.gz, porque los comandos explicados estn descritos en contando con ello. Tener privilegios administrativos en el terminal donde ser ejecutada. Estar conectado a los repositorios de Ubuntu para la descarga efectiva de los paquetes necesarios. Tener instalados los paquetes: i. ii. iii. iv. GNU make (make): recomendado en su versin 3.76.1 o superior. tar, gzip: para descompactar las fuentes. Compilador GCC. zlib: librera de propsito general para la compresin y descompresin de datos.

2. PROCEDIMIENTO PARA LA INSTALACIN Y CONFIGURACIN DE POSTGRESQL 9.0.1


DESDE EL CDIGO FUENTE

Paso 1.- Instalar make, tar y gzip, para satisfacer los tres primeros requerimientos de los paquetes (generalmente estos son instalados por defecto cuando se instala el sistema operativo, pero para estar seguros, se ejecuta este paso); para ello se puede utilizar el comando siguiente: # make, herramienta para el mantenimiento de grupos de programas que determina automticamente cules piezas de un programa necesitan ser recompiladas y formula los comandos para ello. tar, programa de archivamiento para almacenar y extraer archivos de uno conocido como tarfile. gzip, compresor de archivos con extensin .gz. apt-get install make tar gzip Paso 2.- Instalar la herramienta build-essential para satisfacer el requerimiento del compilador; para ello puede utilizarse el comando siguiente: # build-essential contiene una lista informativa de los paquetes considerados esenciales para la creacin de paquetes; facilita la instalacin de cualquier paquete que se especifique como dependencia del paquete sobre el que se est trabajando e incluye la instalacin de GCC. apt-get install build-essential

Paso 3.- Instalar las dependencias que necesita el PostgreSQL para su correcto funcionamiento; para ello puede utilizarse el comando siguiente: # libncurses, librera que provee una API al programador para escribir interfaces basadas en texto; optimiza el refrescamiento de la pantalla, reduciendo la latencia cuando se usan intrpretes de comandos remotos. libreadline, librera que provee un conjunto de funciones, usadas por las aplicaciones, que permite a los usuarios editar las lneas de comando que escriben, llamarlas de nuevo y reeditarlas. zlib, librera de propsito general de compresin de datos; provee funciones de compresin y descompresin, incluyendo chequeos de integridad para los datos descomprimidos. apt-get install libncurses5-dev libreadline6-dev zlib1g-dev

Paso 4.- Copiar el cdigo fuente del gestor en el directorio usr/local/src; para ello puede utilizarse el comando siguiente:

cp -r [ubicacin_paquete] usr/local/src Paso 5.- Ubicar el directorio desde donde se ejecutarn los comandos del terminal en src, que ser donde se instalar el PostgreSQL; para ello se debe utilizar el comando siguiente: cd /usr/local/src/

Paso 6.- Descompactar el paquete PostgreSQL, puede hacerse con el comando siguiente: tar xvzf postgresql-9.0.1.tar.gz

Paso 7.- Ubicar el directorio desde donde se ejecutarn los comandos del terminal en postgresql-9.0.1, paquete descompactado en el paso anterior; para ello puede emplearse el comando: cd /usr/local/src/postgresql-9.0.1/ Paso 8.- Proceder a la instalacin del gestor, para ello escribir los comandos siguientes: # Para configurar las fuentes e indicar al instalador dnde crear los directorio de instalacin. ./configure es un sript que ejecutar un conjunto de pruebas para determinar el valor de varias variables dependientes del sistema y detectar cualquier cosa extraa del sistema operativo; crea varios archivos en el rbol de construccin para guardar lo que encontr. Todos los archivos sern instalados en /usr/local/pgsql por defecto. La opcin --prefix especifica que todos los archivos sern instalados en subdirectorios dentro /usr/local/pgsql. La opcin --enable-thread-safety permite hilos concurrentes en libpq para el control seguro en el manejo de conexiones privadas. make comienza la construccin del rbol de cdigo. La ltima lnea de comando mostrada al terminar su ejecucin debe ser All PostgreSQL is successfully made. Ready to install. Make install instala todos los programas que conforman al PostgreSQL en pgsql (directorio especificado en ./configure). make clean elimina los archivos creados durante la instalacin y que ya no sern necesarios. ./configure --prefix=/usr/local/pgsql --enable-thread-safety make make install make clean

Una vez instalado el gestor, se deben realizar una serie de pasos para su configuracin. Paso 1.- Crear usuario del sistema, a travs del siguiente comando: # El usuario del sistema ser el dueo del sistema de ficheros generados por el gestor y el encargado de ejecutar el motor de bases de datos. adduser aade usuarios o grupos al sistema en /etc/adduser.conf, la opcin --system aade el usuario y el grupo al sistema, --quiet elimina mensajes informacionales, slo mostrando advertencias y errores, --home /var/lib/pgsql especifica que pgsql ser el directorio raz del usuario, --shell /bin/bash especifica que se utilizar el directorio dado como intrprete de autenticacin de usuarios, --gecos PostgreSQL administrator postgres cambia el campo gecos para la entrada especificada. El usuario ha sido creado sin clave de acceso, por lo que la nica forma de convertirse en l, es siendo root. adduser --system --quiet --home /var/lib/pgsql --shell /bin/bash --group --gecos "PostgreSQL administrator" postgres

Paso 2.- Crear un directorio data /usr/local/pgsql para almacenar los datos de las bases de datos, para ello puede escribir el siguiente comando: mkdir /usr/local/pgsql/data

Paso 3.- Cambiar el usuario actual al usuario postgres, para ello puede escribir el siguiente comando:

su postgres # Se convierte en el usuario postgres durante una sesin registrada en el terminal.

Paso 4.- Crear el clster de bases de datos, a travs del siguiente comando: /usr/local/pgsql/bin/initdb -D /var/lib/pgsql/data Paso 5.- Crear un directorio pgsql en /var/log para el registro de los log, necesario porque en caso de no hacerlo se guardaran los logs del gestor dentro de la carpeta donde est instalado, ocupando mucho espacio; para ello puede escribir el siguiente comando: exit # Desconectarse como postgres mkdir /var/log/pgsql

Paso 6.- Cambiar la propiedad del directorio pgsql de los log para el usuario postgres, para ello puede escribir el siguiente comando: chown postgres.postgres /var/log/pgsql

Paso 7.- Crear script de inicio con el siguiente contenido, a travs del siguiente comando: # cat concatena el contenido al archivo existente en /etc/init.d/postgresql en caso de existir. Especifica que el servicio postgresql se iniciar cuando inicie el sistema y especifica las opciones que tendr el servicio de inicio, parada y reinicio. cat > /etc/init.d/PostgreSQL << _EOF_ #!/bin/sh case "\$1" in start) su - postgres -c "/usr/local/pgsql/bin/pg_ctl -D /var/lib/pgsql/data -l /var/log/pgsql/logfile.log start" ;; stop) su - postgres -c "/usr/local/pgsql/bin/pg_ctl -D /var/lib/pgsql/data -l /var/log/pgsql/logfile.log stop";; restart) su - postgres -c "/usr/local/pgsql/bin/pg_ctl -D /var/lib/pgsql/data -l /var/log/pgsql/logfile.log restart";; *) echo "Usage: \$0 {start|stop|restart}";; esac exit 0 _EOF_ Paso 8.- Configurar el gestor para que se inicie automticamente al iniciarse el servidor; para ello se pueden emplear los comandos siguientes: chmod 755 /etc/init.d/PostgreSQL # Da permisos de lectura y ejecucin al PostgreSQL para cualquiera y adems permiso de escritura para el propietario del fichero. update-rc.d PostgreSQL defaults 99 01 # Inicia PostgreSQL, indicndose el orden en que se va a iniciar y detener el dominio de PostgreSQL cuando inicie y se apague el servidor.

Paso 9.- Iniciar PostgreSQL; para ello se pueden emplear los comandos siguientes: /etc/init.d/PostgreSQL start Paso 10.- Editar el fichero /etc/profile para que el gestor pueda ser encontrado por los programas; para ello se pueden emplear los comandos siguientes: nano /etc/profile # Abre el fichero profile donde se encuentran las variables de entorno del sistema. PATH=/usr/local/pgsql/bin:$PATH # Aadir la lnea al final del fichero, antes de la lnea export PATH de existir, quien indica los caminos a los ejecutables del sistema (los comandos).

3. PROCEDIMIENTO PARA LA INSTALACIN DE POSTGIS 3.1. Requerimientos para la instalacin de PostGIS Tener instalados los paquetes: i. ii. PostgreSQL. GEOS, PROJ: permiten el uso de funciones espaciales y la reproyeccin.

3.2. Pasos para la instalacin de PostGIS Paso 1.- Instalar el paquete GEOS (disponible en http://trac.osgeo.org/geos/), para satisfacer parte del segundo requerimiento; para ello se utilizarn los comandos siguientes: tar xvzf [ubicacin_fichero] cd [ubicacin_directorio_del_fichero_descomprimido] ./configure make make install

Paso 2.- Instalar el paquete PROJ (disponible en http://trac.osgeo.org/proj/), para satisfacer parte del segundo requerimiento; para ello se utilizarn los comandos siguientes: tar xvzf [ubicacin_fichero] cd [ubicacin_directorio_del_ficehro_descomprimido] ./configure make make install

Paso 4.- Aadir al final del archivo ubicado en /etc/ld.so.conf las lneas /usr/local/lib y /usr/local/pgsql/lib; para ello se utilizarn los comandos siguientes: nano /etc/ld.so.conf #Aadir las lneas /usr/local/lib y /usr/local/pgsql/lib Paso 5.- Ejecutar el comando siguiente: ldconfig -v | less

Paso 6.- Verificar que las bibliotecas siguientes estn registradas en: /usr/local/lib (libgeos.so.2 -> libgeos.so.2.1.4 y libproj.so.0 -> libproj.so.0.5.0). /usr/local/pgsql/lib (libecpg_compact.so.2 -> libecpg_compact.so.2.1, libpq.so.4 -> libpq.so.4.1, libecpg.so.5 -> libecpg.so.5.1, libpgtypes.so.2 -> libpgtypes.so.2.1).

Paso 7.- Obtener paquete de postgis (disponible en http://www.postgis.org/). Paso 8.- Mover el archivo de postgis al directorio contrib de PostgreSQL, para ello se puede utilizar el comando siguiente: cp postgis-1.5.2.tar.gz /postgresql-9.0.1/contrib

Paso 9.- Descompactar el paquete PostGIS, puede hacerse con el comando siguiente de estar el compactado en tar.gz: tar xvzf postgis-1.5.2.tar.gz Paso 10.- Instalar el paquete PostGIS; para ello se utilizarn los comandos siguientes: cd /usr/local/src/pgsql ./configure make make install

Paso 11.- Ejecutar el comando siguiente: ldconfig -v | less

Paso 12.- Verificar que la biblioteca liblwgeom.so.1 est registrada. Paso 13.- Crear una base de datos que contendr la informacin geogrfica, mediante el comando siguiente: createdb geoest

Paso 14.- Instalar el lenguaje procedural pl/pgsql, mediante el comando siguiente: createlang plpgsql geoest

Paso 15.- Instalar los procedimientos almacenados y las referencias espaciales de postgis, mediante el comando siguiente: psql geoest \i /opt/lwpostgis.sql \i /opt/spatial_ref_sys.sql

10

Você também pode gostar