Installation et configuration de PostgreSQL sur Fedora
Cet article explique comment installer PostgreSQL sur Fedora, configuerr un mot de passe utilisateur et activer l'accès distant. Nous allons également modifier les méthodes d'authentification par défaut pour permettre une connexion via des identifiants/mot de passe.
Mise à jour 2022-03-29
Dans Fedora 35, il est nécessaire de définir listen_addresses = '*' dans le fichier postgresql.conf pour autoriser les connexions distantes. Sinon, PostgreSQL n'accepte que les connexions locales via localhost.
Mise à jour 2020-12-19
Lors de l'installation, assurez-vous d'initialiser la base avant de démarrer le service PostgreSQL. Cela signifie que les étapes 3 et 4 doivent être inversées.
Étape 1 : Installation de PostgreSQL
Installez PostgreSQL depuis les dépôts officiels de Fedora :
sudo dnf install postgresql-server postgresql-contrib
Étape 2 : Configuration du démarrage automatique
Activez le service PostgreSQL pour qu'il démarre automatiquement lors du boot :
sudo systemctl enable postgresql
Étape 3 : Initialisation de la base de données
Initialisez la base de données avant de démarrer le service :
sudo postgresql-setup --initdb --unit postgresql
Vous verrez un message similaire à celui-ci après l'initialisation :
# Message système (non entré manuellement)
* Base de données initialisée dans '/var/lib/pgsql/data'
* Journaux dans '/var/lib/pgsql/initdb_postgresql.log'
Étape 4 : Démarrage du service PostgreSQL
Démarrez maintenant le service PostgreSQL :
sudo systemctl start postgresql
Étape 5 : Modification du mot de passe de l'utilisateur postgres
Connectez-vous en tant qu'utilisateur postgres :
sudo su - postgres
Connectez-vous ensuite à la base de données locale :
psql
Modifiez le mot de passe de l'utilisaetur postgres :
ALTER USER postgres PASSWORD 'votre_mot_de_passe';
Si vous voyez un message indiquant ALTER ROLE, cela signifie que la modification a réussi.
Étape 6 : Configuration de l'authentification et activation de l'accès distant
Sortez de l'outil psql avec \q. Modifiez ensuite le fichier de configuration pg_hba.conf situé dans /var/lib/pgsql/data/pg_hba.conf.
Cherchez la ligne suivante concernant IPv4 :
host all all 127.0.0.1/32 ident
Changez ident par md5 pour utiliser l'authentification par mot de passe :
host all all 127.0.0.1/32 md5
Pour autoriser l'accès distant à partir d'autres IP, ajoutez cette ligne :
host all all 0.0.0.0/0 md5
Étape 7 : Modification de l'écoute des adresses
Ouvrez le fichier postgresql.conf dans /var/lib/pgsql/data/postgresql.conf et modifiez la ligne suivante :
listen_addresses = 'localhost'
Remplacez-la par :
listen_addresses = '*'
Si cette ligne est absente ou commentée, ajoutez-la manuellement.
Redémarrez ensuite le service PostgreSQL pour appliquer les changements :
sudo systemctl restart postgresql
Voilà ! Vous pouvez désormais connecter PostgreSQL via un client distant en utilisant votre nom d'utilisateur et votre mot de passe.