Instalar postgresql en un fedora

Instalación básica

Para instalar postgresql (17.2) en un sistema FEDORA (41) ejecutar

dnf install postgresql-server postgresql-contrib

El servidor postgres no está corriendo y está deshabilitado. Para habilitarlo y ejecutarlo

systemctl enable postgresql

Postgres funciona con su propio usuario (postgres). Hay que inicializar el usuario y la base de datos. Este comando también crea los archivos de configuración  postgresql.conf y pg_hba.conf

sudo postgresql-setup --initdb --unit postgresql

Creación de usuario y bases de datos

Ahora hay que crear un usuario normal y la base de datos del usuario. Para ello hay que ser usuario postgres

sudo -u postgres psql

Crearemos al usuario Perez y la base de datos Proyecto del usuario Perez. Al usuario Perez le asignaremos el password mipasswordsecreto.

postgres=# CREATE USER Perez WITH PASSWORD 'mipasswordsecreto';
postgres=# CREATE DATABASE Proyecto OWNER Perez;

Ahora ya puedes acceder como usuario Perez e iniciar la base de datos

psql Proyecto

pgAdmin 4

PgAdmin es una excelente interface para administrar tu postgres. Para instalar neceitas actualizar tus repositorios

 rpm -i https://ftp.postgresql.org/pub/pgadmin/pgadmin4/yum/pgadmin4-fedora-repo-2-1.noarch.rpm

e instalar la interface web

yum install pgadmin4-web

Ejecuta la configuración

/usr/pgadmin4/bin/setup-web.sh

y ejecuta una actualización final

yum upgrade pgadmin4
Comando scp entre servidores

Para la autenticación y la configuración de la conexión, deberás generar un par de llaves ssh en el terminal mediante el siguiente comando:

Equipo de origen:

ssh-keygen -t rsa

Copia esta llave del sistema remoto usando:

ssh-copy-id user@remote_machine

Instalar LAMP

LAMP: Linux + Apache + Mysql + PHP

En un sistema FEDORA instalado, lo primero que hacemos es una actualización de los paquetes (como usuario root).

dnf upgrade --refresh

Ahora, instalaremos el apache

dnf -y install httpd

Instalado procedemos a arrancarlo y que se ejecute cuando arrancamos el equipo

systemctl enable httpd
systemctl start httpd

Ahora, vamos a instalar Mysql

dnf -y install mariadb-server
systemctl start mariadb
systemctl enable mariadb

Por defecto, mariadb viene con el usuario root sin contraseña. Asignar una contraseña nueva:

mysql_secure_installation

Asignamos un password nuevo y recomiendo eliminar usuarios anónimos, bases de prueba y accesos remotos.

Instalar php

dnf -y install php php-cli php-php-gettext php-mbstring php-mcrypt php-mysqlnd php-pear php-curl php-gd php-xml php-bcmath php-zip

Para ver la versión instalada

php -v

Instalar phpMyAdmin

dnf install phpmyadmin

editar el archivo /etc/httpd/conf.d/phpMyAdmin.conf

Y agregar las siguientes lineas al final:

<Directory /usr/share/phpMyAdmin>
    AddDefaultCharset UTF-8
    Require all granted
</Directory>

Podemos acceder al phpMyAdmin con

http://localhost/phpmyadmin

El SElinux debe estar en modo permisivo: Editar el archivo/etc/selinux/config

Con la variable SELINUX=permissive

Y abrir el firewall para permitir conexiones de apache:

firewall-cmd --permanent --add-service=http