GNU/Linux >> Tutoriels Linux >  >> Linux

Comment installer et sécuriser le serveur PostgreSQL sur RockyLinux 8

PostgreSQL est un système de gestion de base de données relationnelle open source populaire. Connu pour sa fiabilité, il gagne en popularité en raison de sa robustesse, de sa flexibilité et de ses performances. PostgreSQL est utilisé pour gérer des bases de données et de nombreuses applications Web et analytiques. Au moment de la rédaction de cet article, PostgreSQL 13 est la dernière version. Cette version est livrée avec des améliorations significatives du système d'indexation et de recherche qui profitent aux grandes bases de données.

Dans cet article, nous vous montrerons comment installer et sécuriser PostgreSQL sur Rocky Linux 8.

Prérequis

  • Un serveur exécutant Rocky Linux 8 sur la plate-forme cloud Atlantic.Net
  • Un mot de passe root configuré sur votre serveur

Étape 1 - Créer un serveur cloud Atlantic.Net

Tout d'abord, connectez-vous à votre serveur Atlantic.Net Cloud. Créez un nouveau serveur en choisissant Rocky Linux 8 comme système d'exploitation avec au moins 2 Go de RAM. Connectez-vous à votre serveur cloud via SSH et connectez-vous à l'aide des informations d'identification mises en évidence en haut de la page.

Une fois connecté à votre serveur, exécutez la commande suivante pour mettre à jour votre système de base avec les derniers packages disponibles.

dnf mise à jour -y

Étape 2 – Ajouter un référentiel PostgreSQL 13

liste des modules dnf postgresql

Vous devriez voir que seule la version 10 de PostgreSQL est disponible :

Rocky Linux 8 - Résumé des profils de flux AppStreamName client postgresql 9.6, serveur [d] serveur PostgreSQL et module client postgresql 10 [d] client, serveur [d] serveur PostgreSQL et module client client postgresql 12, serveur [d] serveur PostgreSQL et module client postgresql 13 client, serveur [d] Serveur PostgreSQL et module client 

Pour installer la dernière version de PostgreSQL, vous devrez installer le dépôt PostgreSQL sur votre système.

Vous pouvez l'installer à l'aide de la commande suivante :

installation dnf https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm

Une fois le dépôt créé, vous pouvez passer à l'étape suivante.

Étape 3 - Installer PostgreSQL 13 sur Rocky Linux 8

Maintenant, mettez à jour votre référentiel à l'aide de la commande suivante :

dnf mise à jour -y

Ensuite, désactivez le référentiel PostgreSQL par défaut à l'aide de la commande suivante :

module dnf -qy désactiver postgresql

Ensuite, installez la dernière version de PostgreSQL en exécutant la commande suivante :

dnf installer postgresql13 postgresql13-server

Une fois PostgreSQL 13 installé, vous obtiendrez le résultat suivant :

Dernière vérification de l'expiration des métadonnées :il y a 0:00:08 le vendredi 22 octobre 2021 à 08:38:58 UTC.Dépendances résolues.=============================================================================================================================================Version de l'architecture du package Taille du référentiel=============================================================================================================================================Installation :postgresql13 x86_64 13.4-1PGDG.rhel8 pgdg13 1.5 M postgresql13-server x86_64 13.4-1PGDG.rhel8 pgdg13 5.5 MInstallation des dépendances :postgresql13-libs x86_64 13.4-1PGDG.rhel8 pgdg13 414 kTrans Action Résumé============================================================================================================================================Installer 3 packagesTaille totale de téléchargement :7,4 MTaille installée :31 MI est-ce correct [o/N] : o

Ensuite, initialisez la base de données PostgreSQL avec la commande suivante :

/usr/pgsql-13/bin/postgresql-13-setup initdb

Exemple de sortie :

Initialisation de la base de données... OK

Ensuite, démarrez le service PostgreSQL et autorisez-le à démarrer au redémarrage du système avec la commande suivante :

systemctl start postgresql-13systemctl enable postgresql-13

Vous pouvez vérifier l'état de PostgreSQL avec la commande suivante :

statut systemctl postgresql-13

Vous devriez obtenir le résultat suivant :

● postgresql-13.service - Serveur de base de données PostgreSQL 13 Chargé :chargé (/usr/lib/systemd/system/postgresql-13.service ; désactivé ; préréglage du fournisseur :désactivé) Actif :actif (en cours d'exécution) depuis le ven 2021- 10-22 08:39:47 UTC ; Il y a 7 s Docs :https://www.postgresql.org/docs/13/static/ Processus :36412 ExecStartPre=/usr/pgsql-13/bin/postgresql-13-check-db-dir ${PGDATA} (code=terminé, statut=0/SUCCESS) PID principal :36417 (postmaster) Tâches :8 (limite :11411) Mémoire :16,8 Mo CGroup :/system.slice/postgresql-13.service ├─36417 /usr/pgsql-13/bin /postmaster -D /var/lib/pgsql/13/data/ ├─36419 postgres :enregistreur ├─36421 postgres :point de contrôle ├─36422 postgres :écrivain d'arrière-plan ├─36423 postgres :walwriter ├─36424 postgres :lanceur de vide automatique ├25─364 postgres :collecteur de statistiques └─36426 postgres :lanceur de réplication logique 
ss -antpl | grep 5432

Vous obtiendrez le résultat suivant :

LISTEN 0 128 127.0.0.1:5432 0.0.0.0:* utilisateurs :(("postmaster",pid=36417,fd=7))LISTEN 0 128 [::1]:5432 [::]:* utilisateurs :(("postmaster",pid=36417,fd=6))

Étape 4 - Définir un mot de passe pour l'utilisateur Postgres

Pour définir un mot de passe, connectez-vous à PostgreSQL avec la commande suivante :

su - postgres

Ensuite, définissez un mot de passe sécurisé avec la commande suivante :

psql -c "modifier l'utilisateur postgres avec le mot de passe 'securepassword'"

Ensuite, quittez le shell PostgreSQL à l'aide de la commande suivante :

quitter

Étape 5 - Modifier la méthode d'authentification PostgreSQL

Vous pouvez le changer en modifiant le fichier de configuration principal de PostgreSQL :

nano /var/lib/pgsql/13/data/pg_hba.conf

Recherchez la ligne suivante :

local tous tous pairs

Et remplacez-le par la ligne suivante :

local tous tous scram-sha-256

Enregistrez et fermez le fichier, puis redémarrez le service PostgreSQL pour appliquer les modifications.

systemctl redémarrer postgresql-13

Étape 6 - Créer une base de données et un utilisateur dans PostgreSQL

Tout d'abord, connectez-vous au shell PostgreSQL avec la commande suivante :

sudo -u postgres psql

Vous obtiendrez le résultat suivant :

Impossible de changer de répertoire en "/root" :autorisation refuséepsql (13.4) Tapez "help" pour help.postgres=# 

Ensuite, créez un nouvel utilisateur PostgreSQL nommé user1 à l'aide de la commande suivante :

CREATE USER user1 WITH CREATEDB CREATEROLE PASSWORD 'passoword' ;

Pour vérifier les utilisateurs de PostgreSQL, exécutez :

\du

Vous obtiendrez le résultat suivant :

 Liste des rôles Nom du rôle | Attributs | Membre de -----------+-------------------------------------------------- ------------------------+----------- postgres | Superutilisateur, Créer un rôle, Créer une base de données, Réplication, Contourner RLS | {} utilisateur1 | Créer un rôle, Créer une base de données | {} 

Pour créer une nouvelle base de données PostgreSQL nommée user1db, exécutez :

CRÉER BASE DE DONNÉES utilisateur1db PROPRIÉTAIRE utilisateur1 ;

Pour vérifier les bases de données PostgreSQL, exécutez :

\l

Vous obtiendrez le résultat suivant :

 Liste des bases de données Nom | Propriétaire | Encodage | Assembler | Ctype | Privilèges d'accès -----------+----------+----------+-------------+ -------------+----------------------- postgres | postgres | UTF8 | fr_US.UTF-8 | fr_US.UTF-8 | modèle0 | postgres | UTF8 | fr_US.UTF-8 | fr_US.UTF-8 | =c/postgres + | | | | | postgres=CTc/postgres template1 | postgres | UTF8 | fr_US.UTF-8 | fr_US.UTF-8 | =c/postgres + | | | | | postgres=CTc/postgres user1db | utilisateur1 | UTF8 | fr_US.UTF-8 | fr_US.UTF-8 | 

Conclusion

Toutes nos félicitations! Vous avez installé et sécurisé PostgreSQL avec succès sur Rocky Linux 8. Pour des raisons de sécurité, il est toujours recommandé d'installer la dernière version de PostgreSQL dans l'environnement de production. Essayez l'hébergement VPS d'Atlantic.Net !


Linux
  1. Comment installer et configurer Postgres 13 sur Centos 8

  2. Comment installer et configurer Postgres 14 sur Fedora 34

  3. Comment installer PostgreSQL Server sur CentOS 8

  4. Comment sécuriser le serveur PostgreSQL

  5. Comment installer et sécuriser MongoDB 4 dans CentOS 8

Comment installer la base de données PostgreSQL et pgAdmin sous Linux

Comment installer et sécuriser phpMyAdmin dans Ubuntu 14.04

Comment installer Tomcat et Java sur CentOS 8

Comment installer et sécuriser Memcached sur Ubuntu 18.04

Comment installer et sécuriser phpMyAdmin sur CentOS 8

Comment installer et configurer Parse Server sur Ubuntu 20.04