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 EN FEDORA SERVER 24 BRAYAM ALBERTO MORA ARIAS COD: 1151010 PRESENTADO A: Ing. JEAN POLO CEQUEDA OLAGO UNIVERSIDAD FRANCISCO DE PAULA SANTANDER ADMINISTRACIÓN DE SISTEMAS OPERATIVOS DE RED FACULTAD DE INGENIERIA PROGRAMA INGENIERIA DE SISTEMAS II SEMESTRE 2016 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 phpPgAdmin III (un cliente de escritorio). El funcionamiento del servidor es el siguiente: 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. 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. 1. INSTALACION POSTGRESQL Lo primero que debemos hacer es loguearnos con el usuario root . Luego escribimos el comando: dnf install postgresql postgresql-server postgresql-contrib postgresql-docs postgresql-libs Se iniciará el proceso de comprobación para ver si ya hay paquetes instalados, luego procederá a pedir confirmación para empezar a descargar: 2. CAMBIAMOS LA CONTRASEÑA DEL USUARIO POSTGRES Para cambiar la contraseña de postgresql se realiza mediante el comando: passwd postgresql Se solicita que escribamos la nueva contraseña, el cual debe ser superior a 8 caracteres, después se solicita que volvamos a escribir la nueva contraseña, para confirmar que se haya escrito de manera correcta. Si todo esta correcto mostrara que se actualizo con éxito. 3. INICIAR EL SERVICIO Ahora debemos iniciar el servicio de la base de datos y para ello digitamos el siguiente comando: postgresql-setup initdb El comando postgresql-setup initdb lleva a cabo la creación del clúster donde se almacenarán los archivos de configuración y bases de datos de la instancia de PostgreSQL que acabamos de iniciar. Por defecto se ubica en /var/lib/pgsql/data. Este comando solo puede ser ejecutado una vez, ya que si tratamos de escribirlo nuevamente nos avisará que hay un error, esto se debe a que ya se encuentra en ejecución. 4. CONFIGURAR ACCESO REMOTO Para permitir el acceso remoto al servidor de PostgreSQL debemos modificar el parámetro listen_addresses del archivo /var/lib/pgsql/data/postgresql.conf. Este parámetro sirve para especificar desde qué interfaz de red escuchará el servidor postgreSQL. Para ello digitamos el siguiente comando: nano /var/lib/pgsql/data/postgresql.conf Estando en este archivo debemos realizar unos cambios primero buscar la siguiente línea: # listen_addresses = ‘localhost’ (Por defecto está configurado para escuchar conexiones locales). Esta línea debe ser cambiada por: listen_addresses = ‘*’ (configurándolo para que escuche en todas las interfaces de red del servidor). Luego buscamos la siguiente línea: # port = 5432 Esta línea debe ser cambiada por: port = 5432 Finalmente guardamos con Ctrl+O y cerramos con Ctrl+X A continuación, modificamos el archivo que define a qué bases de datos se pueden conectar los usuarios y desde dónde. Esta información se detalla en el archivo /var/lib/pgsql/data/pg_hba.conf. Es una capa extra de seguridad complementaria a la gestión de privilegios de usuarios dentro del PostgreSQL. Para ello digitamos el siguiente comando: nano /var/lib/pgsql/data/pg_hba.conf Estando en este archivo debemos realizar un cambio para ello buscamos la siguiente línea: host all all 127.0.0.1/32 ident Esta línea debe ser cambiada por: host all all 127.0.0.1/32 md5 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. Finalmente guardamos con Ctrl+O y cerramos con Ctrl+X. 5. SERVICIO PARA ARRANCAR Para que se inicie PostgreSQL cuando se inicie el equipo se debe digitar los siguientes comandos: systemctl start postgresql.service systemctl status postgresql.service systemctl enable postgresql.service El comando systemctl start postgresql.service arranca la instancia del servidor de bases de datos PostgreSQL El comando systemctl status postgresql.service sirve para comprobar que PostgreSQL se ha instalado y se está ejecutando correctamente en el servidor. 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: dnf 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 Debemos agregar la palabra ‘localhost’, y finalmente guardamos con Ctrl+O y cerramos con Ctrl+X. Ahora vamos a configurar el archivo phpPgAdmin.conf que se encuentra en: nano /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 Reiniciamos el servidor web apache: systemctl restart httpd.service 7. PROBANDO EL SERVICIO Ingresamos a phpPgAdmin, a través de la URL: ip-nuestra/phpPgAdmin, por ejemplo: 192.168.1.15/phpPgAdmin Y nos muestra el cliente web: Para poder acceder debemos proporcionar un usuario y contraseña, a continuación crearemos uno: Ingresamos con el usuario posgres con el siguiente comando: su postgres (nos pedirá contraseña) Aparece en el prompt la palabra bash-4.3$ y digitamos el comando: psql Se mostrará en el prompt ahora la palabra postgres=# Aquí ya podemos empezar a crear bases de datos, tablas, usuarios, asignar roles, etc. Un ejemplo de una base de datos creada con el comando: CREATE DATABASE ufps; Un ejemplo de una tabla creada en la base de datos ufps: Ahora creamos un usuario y le asignamos el rol super usuario: Podemos consultar nuestros usuarios con el siguiente comando: SELECT * FROM pg_user; Ahora podemos ingresar a phpPgAdmin con el usuario creado: 8. INSTALACIÓN pgAdmin III pgAdmin III es un poderoso cliente de escritorio para la administración de la bases de datos PostgreSQL. Nos dirigimos al siguiente link para descargar: http://www.pgadmin.org/download/windows.php Para conectarse a la base de datos, damos click en add a conection to server(el icono con forma de enchufe) 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 Ingresamos los siguientes datos: 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. 16 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. Listo, ya hemos configurado el servidor de bases de datos y dos formas para poder interactuar con la base datos, mediante pgAdmin y phpPgAdmin.