viernes, 25 de septiembre de 2015

INSTALACIÓN Y CONFIGURACIÓN DE SERVICIOS APACHE, PHP, MAPSERVER, POSTGRESQL Y POSTGIS

http://aguerotech.blogspot.com/

He trabajado un tiempo en el desarrollo de aplicaciones SIG y siempre me ha costado conseguir un buen manual para instalar todos los servicios que necesito para que mis aplicativos funcionen correctamente, y pues he decidido hacer este pequeño tuto, espero les sea de utilidad.

Teniendo en cuenta que tenemos un equipo con un Debian Wheezy, procedemos a ingresar a la terminal o consola de maquina asignada con un usuario y clave con privilegios para realizar modificaciones en el sistema operativo (en adelante SO), puede utilizarse el usuario root, pero por políticas de seguridad se recomienda crear un usuario y darle permisos de administrador del SO, para ejecutar los siguientes pasos:

Paso 1: Configuración de los repositorios

Para modificar los repositorios hay que actualizar el archivo sources.list

# nano /etc/apt/sources.list

Se pueden efectuar las modificaciones utilizando el vi, vim o gedit, es cuestión de gustos por parte del administrador. Una vez dentro del archivo verificamos que estos repositorios se encuentren incluidos, de no estarlo agregarlos:

# Repositorio oficial
deb http://ftp.us.debian.org/debian/ wheezy main contrib
deb-src http://ftp.us.debian.org/debian/ wheezy main contrib

# Actualizaciones de seguridad
deb http://security.debian.org/ wheezy/updates main contrib
deb-src http://security.debian.org/ wheezy/updates main contrib

# Multimedia wheezy (con llave 1) (opcional)
deb http://www.deb-multimedia.org wheezy main non-free
deb-src http://www.deb-multimedia.org/ wheezy main non-free

#Actualizaciones de wheezy
deb http://ftp.debian.org/debian wheezy-updates main contrib non-free
deb-src http://ftp.debian.org/debian wheezy-updates main contrib non-free

# Backports (opcional)
deb http://ftp.debian.org/debian/ wheezy-backports main

Cuando se haya validado la lista de repositorios (si se dejo el opcional del multitudinaria) debemos instalar las llaves, para eso se realiza:

# aptitude update
# aptitude install deb-multimedia-keyring
# aptitude update

Si y solo si existe alguna actualización luego de haber realizado el cambio de los repositorios ejecutamos el comando:

# aptitude upgrade

Paso 2: Instalación del servicio Web

Un programa especialmente diseñado para transferir datos de hipertexto, es decir, páginas web con todos sus elementos (textos, widgets, baners, etc). Estos servicios web utilizan el protocolo http. Para instalarlo ejecutamos lo siguiente:

# aptitude install apache2

Este comando automáticamente instalara todas las dependencias que necesite para poder ejecutarse, no se recomienda instalar el servicio web durante la instalación del sistema operativo debido a que puede presentar fallas en el mismo al momento de configurarse.

Paso 3: Instalación de PHP5

Un lenguaje de programación de uso general de código del lado del servidor originalmente diseñado para el desarrollo web de contenido dinámico. Se instala de la siguiente forma:

# aptitude install php5 php5-mhash php5-mcrypt php5-pgsql php5-gd

La librería php5 instalará automáticamente sus dependencias, adicionalmente para el uso de librerías de seguridad se instalan mhash y mcrypt y finalmente para gestionar la conexión con postgresql (php5-pgsql) junto con la librería que ayuda a generar y trabajar con imágenes (php5-gd).

NOTA: al instalar php5 se solicitará eliminar unas librerías de apache y sustituirlas por unas de php5, podemos decir que si.

Paso 4: Instalación de PostgreSQL 9.1

Un sistema de gestión de bases de datos relacional orientado a objetos y libre, publicado bajo la licencia BSD:

# aptitude install postgresql-9.1

Este comando instalará automáticamente sus dependencias que requiere postgresql para su buen funcionamiento, también se recomienda instalar en la maquina de administración el pgadmin3 o cualquier gestor que funcione con postgresql.

Paso 5: Configuración de PostgreSQL

Lo primero que se tiene que hacer es cambiarle la contraseña al usuario ‘postgres’ que se crea luego de haber instalado el paquete:

# passwd postgres
Acceda a la consola de administración de PostgreSQL para cambiar la contraseña del usuario ‘postgres’ con los siguientes comandos:

# su postgres
postgres@nombre_maquina:/directorio$ psql postgres
postgres=# ALTER ROLE postgres WITH PASSWORD 'coloqueaquiunaclave';

Donde ‘postgres’ es el nombre del usuario al cual debe cambiar la clave ‘coloqueaquiunaclave’ por la que estableció previamente y luego salga de la sesión, ejecutando los siguientes comandos:

postgres=# \q
postgres@nombre_maquina:/directorio$ exit

Para dar acceso local, es decir, dar accesos a clientes PostgreSQL que están en el mismo servidor donde esta instalando el servidor PostgreSQL puede aplicar las siguientes configuraciones básicas:

Debe que cambiar el archivo de configuración del servidor PostgreSQL, con el siguiente comando:

# nano /etc/postgresql/9.1/main/postgresql.conf

Busque la linea listen_addresses y verifique que no este comentada y su valor sea el siguiente:

listen_addresses = 'localhost'

Guarde el archivo y salga del editor. También debe modificar el archivo de configuración del cliente PostgreSQL, con el siguiente comando:

# nano /etc/postgresql/9.1/main/pg_hba.conf

En este archivo puede configurar los modos de autenticación del cliente PostgreSQL y con que usuario puede acceder a los datos almacenados en el servidor PostgreSQL. Para este caso de configuración se explicará la configuración local en el mismo servidor donde esta instalado PostgreSQL por lo cual la IP local es 127.0.0.1, entonces agregue debajo de la linea “# IPv4 local connections:” la siguiente instrucción:

host nombre_base_datos usuario_postgresql 127.0.0.1/32 md5

Donde ‘nombre_base_datos’ y ‘usuario_postgresql’ es el nombre de la base de datos y el usuario de PostgreSQL a crear respectivamente mas adelante en este articulo. Con estas configuraciones hechas debe reiniciar el servicio de PostgreSQL, con el siguiente comando:

# service postgresql restart

Paso 6: Instalación de PostGIS 1.5

PostGIS, es un módulo que añade soporte de objetos geográficos a la base de datos objeto-relacional PostgreSQL, convirtiéndola en una base de datos espacial para su utilización en Sistema de Información Geográfica. La linea de comandos para su instalación es:

# aptitude install postgis
o
# aptitude install postgis postgresql-9.1-postgis

En cualquiera de los dos casos se realizara la instalación de las dependencias requeridas para el buen funcionamiento del servicio.

Paso 7: Configuración de PostGIS

La instalación de PostGIS no se hace completamente de forma automática al instalarse PostgreSQL y PostGIS; ahora toca crear la plantilla de PostGIS en la base de datos y para eso accedemos con el usuario postgres y creamos una nueva base de datos llamada “template_postgis”. Estos pasos en adelante se pueden hacer de dos formas por línea de comando o por interfaz gráfica mediante pgAdmin3. Aquí se hará desde línea de comandos:

# su postgres
# createdb template_postgis

Luego vamos a ejecutar los script SQL para la creación de la funciones de PostGIS y las creación de la Tabla “geometry_column”, la tabla “spatial_ref_sys” y opcional los comentarios. Ejecutamos como usuarios postgres el comando psql:

# psql -d template_postgis -f /usr/share/postgresql/9.1/contrib/postgis-1.5/postgis.sql
# psql -d template_postgis -f /usr/share/postgresql/9.1/contrib/postgis-1.5/spatial_ref_sys.sql

Opcional:

# psql -d template_postgis -f /usr/share/postgresql/9.1/contrib/postgis_comments.sql
# exit

Ahora se puede crear una base de datos espaciales utilizando el template_postgis como plantilla.

Paso 8: Instalar MapServer

MapServer es un entorno de desarrollo en código abierto (Open Source Initiative) para la creación de aplicaciones SIG en Internet/Intranet con el fin de visualizar, consultar y analizar información geográfica a través de la red mediante la tecnología Internet Map Server (IMS). La versión que maneja el sistema operativo por defecto es la 6.0 y se instala así:

# aptitude install cgi-mapserver

Para poder utilizar las funcionalidades de mapserver con php5 se debe instalar también:

# aptitude install php5-mapscript
# service apache2 restart
# service postgresql restart

Terminado y ejecutados cada uno de los comandos y no habiendo tenido algún problema durante de las instalación, pues ya tenemos instalado y configurado un servidos para la instalación de un sistema de información geográfica y manejador de base de datos espaciales.

No hay comentarios:

Publicar un comentario