Add PostgreSQL project.
This commit is contained in:
parent
460dc8b987
commit
3da6215caf
Binary file not shown.
After Width: | Height: | Size: 91 KiB |
Binary file not shown.
After Width: | Height: | Size: 64 KiB |
88
2/ASGBD/assignments/manual-postgresql/manual-postgresql.md
Normal file
88
2/ASGBD/assignments/manual-postgresql/manual-postgresql.md
Normal file
@ -0,0 +1,88 @@
|
|||||||
|
# Manual de Instalación y Configuración PostgreSQL
|
||||||
|
|
||||||
|
_Nicolás A. Ortega Froysa_
|
||||||
|
|
||||||
|
## Instalación de PostgreSQL
|
||||||
|
|
||||||
|
Desde una máquina de GNU & Linux basada en Debian, podemos instalar el
|
||||||
|
PostgreSQL desde la línea de comando con el siguiente comando como `root`:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
apt install postgresql
|
||||||
|
```
|
||||||
|
|
||||||
|
Generalmente en los sistemas basados en Debian los servicios se inicializan al
|
||||||
|
instalarse, pero siempre conviene asegurarnos. Para esto veremos la salida del
|
||||||
|
estado actual de este servicio:
|
||||||
|
|
||||||
|
![PostgresSQL status](imgs/00-postgresql-status.png)
|
||||||
|
|
||||||
|
## Configuración de PostgreSQL
|
||||||
|
|
||||||
|
Una vez instalado el PostgreSQL, hay que configurarlo para poder accederlo
|
||||||
|
remotamente. Primero hemos de configurar la contraseña del usuario `postgres`.
|
||||||
|
Esto se hace entrando en el usuario de sistema `postgres`, y entrando en la base
|
||||||
|
de datos usando el comando `psql`. Una vez conectado a la base de datos
|
||||||
|
configuramos la contraseña usando el comando siguiente:
|
||||||
|
|
||||||
|
```
|
||||||
|
alter user postgres with password 'postgres';
|
||||||
|
```
|
||||||
|
|
||||||
|
![Change postgres password](imgs/01-change-postgres-passwd.png)
|
||||||
|
|
||||||
|
Con esto aún es necesario cambiar la configuración de PostgreSQL como tal para
|
||||||
|
permitir acceso remoto (desde fuera de la misma máquina). Para esto, primero
|
||||||
|
editamos el archivo de configuración `/etc/postgresql/13/main/postgresql.conf`
|
||||||
|
para cambiar la directiva de `listen_addresses` a lo siguiente:
|
||||||
|
|
||||||
|
```
|
||||||
|
listen_addresses = '*'
|
||||||
|
```
|
||||||
|
|
||||||
|
Luego editamos el archivo de `/etc/postgresql/13/main/pg_hba.conf` y lo
|
||||||
|
cambiamos de la forma siguiente:
|
||||||
|
|
||||||
|
```
|
||||||
|
#host all all 127.0.0.1/32 md5
|
||||||
|
host all all 0.0.0.0/0 md5
|
||||||
|
```
|
||||||
|
|
||||||
|
Al hacer estos cambios podemos reiniciar el servicio para efectuarlos:
|
||||||
|
|
||||||
|
```
|
||||||
|
systemctl restart postgresql.service
|
||||||
|
```
|
||||||
|
|
||||||
|
## Firewalld
|
||||||
|
|
||||||
|
Para tener un sistema seguro será necesario tener un _firewall_ instalado. Para
|
||||||
|
esto vamos a instalar a `firewalld`, una herramienta de RedHat. Esto se hace con
|
||||||
|
el comando `apt install firewalld`. Al instalarlo, para configurar que deje
|
||||||
|
abierto el puerto de PostgreSQL corremos los siguientes comandos como root:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ firewall-cmd --permanent --zone=public --add-port=5432/tcp
|
||||||
|
$ firewall-cmd --reload
|
||||||
|
```
|
||||||
|
|
||||||
|
Esto abrirá el puerto 5432 al público.
|
||||||
|
|
||||||
|
## Prueba
|
||||||
|
|
||||||
|
Finalmente, para hacer una prueba, podemos conectarnos desde otra máquina a
|
||||||
|
nuestro servidor corriendo el comando siguiente e introduciendo la contraseña
|
||||||
|
que hemos configurado antes:
|
||||||
|
|
||||||
|
```
|
||||||
|
psql -h <address> -p <port> -U postgres postgres
|
||||||
|
```
|
||||||
|
|
||||||
|
![PostgreSQL connect](imgs/02-postgresql-connect.png)
|
||||||
|
|
||||||
|
## Derechos de Autor
|
||||||
|
|
||||||
|
Copyright © 2022 Nicolás A. Ortega Froysa <nicolas@ortegas.org>
|
||||||
|
|
||||||
|
Este documento se distribuye bajo los términos y condiciones de la licencia
|
||||||
|
Creative Commons Attribution No Derivatives 4.0 International.
|
Loading…
Reference in New Issue
Block a user