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