Publicidad

Como instalar postgreSQL en Fedora y activar el acceso remoto


Por Alex el 21/11/2023, Comentar el artículo

Comparte este artículo:      




Instalar y configurar postgreSQL en un servidor Linux, en este caso, Fedora 38 es bastante sencillo que requiere de uno pasos que podemos automatizar en un script.


Lo primero que tenemos que hacer es instalar postgreSQL de la siguiente forma:

sudo dnf install postgresql-server postgresql-contrib

Instalación de postgreSQL en Fedora Server

Instalamos el servidor de postgreSQL y postgreSQL-contrib que son características de la distribución no habilitadas por defecto, aqui encontrareis mas información Información de postgreSQL-contrib

Instalado el servidor lo primero que haremos activarlo

sudo systemctl enable postgresql

Después inicializamos el servidor:

sudo postgresql-setup --initdb --unit postgresql

Inicializar base de datos de postgreSQL en Fedora Server

Esto creará los archivos de configuración postgresql.conf y pg_hba.conf y nos dice las rutas donde están estos fichero (/var/lib/pgsql/data) porque después tendremos que hacer una modificaciones

E iniciamos el servidor de base de datos postgreSQL

sudo systemctl start postgresql

Hechos estos pasos podemos acceder al servidor con el comando psql pero como postgreSQL esta muy integrado con Linux al instalar el servidor ha creado un usuario del sistema postgres y tenemos que acceder a través de el a al consola de administración de postgresql de la siguiente forma

sudo -u postgres psql

Consola de postgreSQL en Fedora Server

y entraremos en la consola de postgreSQL donde podemos ejecutar comandos, y lo primero que haremos es cambiarle el password al usuario postgres (OJO, que no es el mismo que el del sistema, son dos usuarios diferentes). Para cambiar el password ejecutamos el siguiente comando dentro del servidor de postgres

\password postgres

Cambiar el password al usuario de postgres de postgreSQL en Fedora Server

Acceso remoto a postgreSQL

Ahora modificamos los ficheros de configuración para tener acceso remoto al servidor.

En el fichero /var/lib/pgsql/data/postgresql.conf y hay que poner la siguiente linea al final del fichero

listen_addresses = '*'

Esto da acceso a cualquier IP al servidor con lo que lo logico en entornos de producción es limitarlo a IPs "amigas" y no poner un *

Ahora modificamos el fichero /var/lib/pgsql/data/pg_hba.conf para configurar accesos y usuarios. Añadimos las siguientes dos líneas, yo siempre lo pongo todo al final.

local all postgres md5
host all all 0.0.0.0 0.0.0.0 md5

La primera linea añade al usuario postgres para tener acceso, como he comentado antes en entornos de producción sería interesante crear un usuario para estos accesos y mas limitado.

La segunda linea da acceso a todas las IPs del mundo mundial por lo que lo mismo que en el caso anterior lo ideal es restringirlo a IP's "amigas", sustituir los 0.0.0.0 por IPs o rangos de IP's

Reiniciamos servidor

sudo systemctl restart postgresql

Ahora nos queda probarlo desde un servidor externo, pero antes hay que habilitar el puerto 5432 en el firewall

firewall-cmd --permanent --add-port=5432/tcpz
firewall-cmd --add-port=5432/tcp

no hace falta decir que los dos servidores tienen que verse para poder conectar al servidor de postgres. Si queréis conectar desde un servidor/pc que no tiene instalado el servidor postgresql se tiene que instalar el cliente

sudo dnf install postgresql-client # en fedora
sudo apt install postgresql-client # en ubuntu

Y para conectar lo hacemos así:

psql -U postgres -W -h 192.168.1.146 -p 5432

Conexión remota a postgreSQL en Fedora Server

Al instalar el cliente de postgresql ha instalado el programa para administrarlo y con psql poniendo la ip del host y el puerto nos podemos conectar remotamente. Para salir de la consola de psql escribir \q

También podemos utilizar administradores gráficos como pgadmin4 o adminer

¿Y como probar esto si estáis interesados y no tenéis una servidor a mano? pues con Virtualbox y una maquina virtual instalando Fedora Server y desde vuestro local podéis probar la conexión remota :-)

Y esto es todo, feliz programming!!
Saludos
Alex.
/


Si te ha gustado el artículo compartelo en:      




Añadir un comentarios:

Nombre:
Email: (no se publica el email)




SIGUENOS EN

ARCHIVO

Publicidad

.