Download instalación y configuración servidor de bases de datos postgresql

Document related concepts
no text concepts found
Transcript
INSTALACIÓN Y CONFIGURACIÓN SERVIDOR DE BASES DE DATOS
POSTGRESQL
ADMINISTRACIÓN DE SISTEMAS OPERATIVOS DE RED
FRANCISCO JAVIER DUARTE GARCIA
COD: 1150712
UNIVERSIDAD FRANCISCO DE PAULA SANTANDER
PROGRAMA DE INGENIERIA
INGENIERIA DE SISTEMAS
I SEMESTRE
2015
1
SERVIDOR DE BASES DE DATOS POSTGRESQL
PostgreSQL es un Sistema de gestión de bases de datos relacional orientado a objetos
y libre, publicado bajo la licencia BSD.
Como muchos otros proyectos de código abierto, el desarrollo de PostgreSQL no es
manejado por una empresa y/o persona, sino que es dirigido por una comunidad de
desarrolladores que trabajan de forma desinteresada, altruista, libre y/o apoyada por
organizaciones comerciales. Dicha comunidad es denominada el PGDG (PostgreSQL
Global Development Group).
FUNCIONAMIENTO MOTOR DE BASES DE DATOS POSTGRESQL
PostgreSQL está basado en una arquitectura cliente-servidor. El programa servidor
se llama postgres y entre los muchos programas cliente tenemos, por ejemplo,
pgaccess (un cliente gráfico), phpPgAdmin (un cliente web), psql (un cliente en modo
texto) y phAdminIII (un cliente de escritorio).
2
El funcionamiento es sencillo:
1. El usuario o administrador accede a través de un cliente, ya sea web, comando
o escritorio, para el caso accederemos a través de un cliente web y escritorio.
2. El usuario realiza la petición al navegador a través de la URL donde se aloja la
base de datos.
3. El servidor web responde la solicitud y muestra la página de autenticación de
usuarios de la base de datos postgresql.
4. La base de datos postgresql verifica que el usuario se encuentre en la base de
datos y las credenciales sean correctas.
5. La base de datos postgresql da respuesta al cliente web (phpPgAdmin) de la
base de datos y este permite ingresar o no a la base de datos.
6. Por último el navegador muestra la base de datos para el usuario que ingreso.
3
Nota: Un proceso servidor puede atender exclusivamente a un solo cliente; es decir,
hacen falta tantos procesos servidores como clientes haya.
El proceso postmaster es el encargado de ejecutar un nuevo servidor para cada cliente
que solicite una conexión a la base de datos.
Se llama sitio al equipo anfitrión (host) que almacena un conjunto de bases de datos
PostgreSQL. En un sitio se ejecuta solamente un proceso postmaster y múltiples
procesos postgres. Los clientes pueden ejecutarse en el mismo sitio o en equipos
remotos conectados por TCP/IP.
1. INSTALACIÓN POSTGRESQL
Primero se debe instalar el paquete de postgresql con el comando:
yum install postgresql-server
2. CAMBIAR CONTRASEÑA USUARIO POSTGRESQL
Para cambiar la contraseña de postgresql se realiza mediante el comando:
passwd postgresql
4
3. INICIAR EL SERVICIO DE POSTGRESQL
Para iniciar la base de datos se realiza mediante el siguiente comando:
postgresql-setup initdb
3.1 Iniciar el servicio de postgresql, ejcutamos:
3.2
systectl start postgresql.service
4. CONFIGURACIÓN
4.1. Aceptar conexiones remotas.
Para aceptar conexiones desde otras máquinas, editaremos dos archivos:

/var/lib/pgsql/data/postgresql.conf

/var/lib/pgsql/data/pg_hba.conf
Primero editaremos el primer archivo postgresql.conf, con el comando:
nano /var/lib/pgsql/data/postgresql.conf
5
Para que postgresql acepte todas las conexiones de red o direcciones de red
cambiamos la siguiente línea:
Esta línea permite saber desde cuales direcciones IP escuchara peticiones postgresql.
La descomentamos y colocamos:
listen_addresses = ‘*’
También tenemos que descomentar la línea del puerto de postgresql:
La descomentamos y listo. Guardamos los cambios del archivo.
6
4.2. Segundo editaremos el archivo pg_hba.conf con el comando:
Este es el archivo de autenticación del cliente. Este archivo permite cuales host se
permiten conectarse y como los clientes son autenticados, cuales nombres de usuario
pueden usar y cuales bases de datos tiene acceso.
nano /var/lib/pgsql/data/pg_hba.conf
Buscamos la siguiente línea:
host all
all
127.0.0.1/32
ident
Y cambiamos el METHOD por md5:
host all
all
127.0.0.1/32
md5
Agregamos el segmento de red que queremos que acceda a la base de datos, con la
siguiente línea debajo:
host all
all
192.168.1.0/24
md5
7
Donde host es el tipo de conexión, database son las bases de datos que pueden
acceder, user los usuarios que pueden acceder, address es la dirección desde la cual
se va a acceder a la base de datos y method el método de autenticación de los
usuarios.
Nota: Ident identifica todos los usuarios que entran pero no requiere autenticación, en
cambio md5 si lleva el control de autenticación con el password del usuario que quiere
acceder.
trust: permite conectar a postgresql sin contraseña.
md5: Esto es para que el cliente tenga que proporcionar una contraseña procesada
con el algoritmo MD5.
Quedando de la siguiente manera:
Guardamos los cambios y listo.
8
5. ABRIR PUERTO DE POSTGRESQL
Para esto debemos abrir el puerto postgresql, el cual es el puerto 5432, ejecutamos el
siguiente comando, modificando el iptables.
nano /etc/sysconfig/iptables
Y agregamos la siguiente línea:
-A INPUT –p tcp –m –state NEW –m tcp –dport 5432 –j ACCEPT
Nota: Reiniciamos iptables:
systemctl restart iptables.service
9
6. INSTALAR phpPgAdmin
Para instalar phpPgAdmin, que es el cliente web para la administración de la base de
datos de PostgreSQL, lo hacemos con el comando:
yum install phpPgAdmin
Una vez instalado, tenemos que configurar el archivo: config.inc.php, ubicado en:
/etc/phpPgAdmin/ con el comando:
nano /etc/phpPgAdmin/ config.inc.php
Modificamos y ponemos ‘localhost’
10
Modificamos también la siguiente línea y ponemos ‘allow’, para permitir la conexión
segura al servidor de bases de datos.
Guardamos los cambios.
Ahora vamos a configurar el archivo phpPgAdmin.conf que se encuentra en:
/etc/httpd/conf.d/phpPgAdmin.conf
Lo que vamos a realizar es a comentar todo lo que se encuentra y al finalizar le
colocamos lo siguiente:
Require all granted
11
Guardamos los cambios.
Reiniciamos el servidor web apache:
systemctl restart httpd.service
12
6.1 Prueba del phpPgAdmin
Ingresamos a phpPgAdmin, a través de la URL: ip-nuestra/phpPgAdmin
Y nos muestra el cliente web:
13
7. INSTALACIÓN pgAdmin
pgAdmin es un poderoso cliente de escritorio para la administración de la bases de
datos PostgreSQL.
Nos dirigimos al siguiente link: http://www.pgadmin.org/download/windows.php
Y descargamos la última versión y lo instalamos.
7.1. CONECTARSE A LA BASE DE DATOS
Para conectarse a la base de datos, damos click en add a conection to server(el icono
de enchufe).
14
Ingresamos los siguientes datos:
Nota: antes de conectarnos, debemos agregar la IP del Windows en el archivo de
autenticación de postgresql hba.conf, ubicado en /var/lib/pgsql/data/pg_hba.conf
Y agregamos la línea:
host all
all
IP de Windows
md5
Name: nombre de la conexión a la base de datos (cualquiera).
Host: la IPv4 de Windows.
Username: el nombre de usuario que se quiere conectar a la base de datos.
Password: contraseña del usuario.
15
Y con esto nos hemos conectado a la base de datos postgres, a través del cliente de
escritorio en Windows, donde podremos crear bases de datos, crear tablas, crear
variables, hacer consultar, visualizar gráficamente las tablas, etc.
Y listo 
Este es la prueba del cliente de escritorio pgAdminIII con el cual interactuaremos
gráficamente con las bases de datos que queramos.
16