Envisagez-vous d'installer PostgreSQL sur un serveur Ubuntu et vous ne savez pas par où commencer ? Ne cherchez pas plus loin car vous avez de la chance. Dans ce didacticiel, vous apprendrez les différentes manières d'installer un serveur PostgreSQL Ubuntu et effectuerez des configurations de sécurité de base pour vous aider à démarrer.
Continuez à lire et vous exécuterez un serveur PostgreSQL en un rien de temps !
Prérequis
Ce tutoriel sera une démonstration pratique. Si vous souhaitez suivre, assurez-vous d'avoir les éléments suivants.
- Un serveur Ubuntu. Ce tutoriel utilise Ubuntu 20.04.
- Un compte utilisateur non root avec des privilèges sudo.
Installer PostgreSQL sur un Ubuntu
À partir d'une nouvelle installation de serveur Ubuntu, vous pouvez installer PostgreSQL de deux manières. La méthode que vous choisissez dépend de si vous privilégiez la commodité (moins d'étapes) ou si vous vous assurez d'avoir la dernière version.
Méthode 1 :Installer PostgreSQL sur un Ubuntu (à partir du référentiel Ubuntu)
Par défaut, les référentiels d'Ubuntu contiennent des packages Postgres, ce qui signifie que vous pouvez installer des packages PostgreSQL Ubuntu à l'aide de l'outil de package avancé (APT) .
Les packages Postgres dans les référentiels Ubuntu peuvent ne pas toujours être les dernières versions. Si vous préférez plutôt installer la dernière version, passez à la méthode 2.
1. Tout d'abord, ouvrez une fenêtre de terminal sur votre ordinateur et connectez-vous en SSH à votre serveur Ubuntu.
2. Ensuite, exécutez la commande ci-dessous pour mettre à jour la liste des packages sur votre serveur Ubuntu.
sudo apt update -y
3. Installez les packages PostgreSQL en exécutant la commande ci-dessous. Cette commande installera également le postgresql-contrib
(fonctionnalités Postgres supplémentaires) et postgresql-client
(CLI Postgres).
sudo apt install -y postgresql postgresql-contrib postgresql-client
4. Après l'installation, vérifiez l'état de l'installation de Postgres en exécutant la commande ci-dessous.
sudo dpkg --status postgresql
Comme vous pouvez le voir ci-dessous, la dernière version installée à partir du référentiel Ubuntu à ce jour est la version 12.
Méthode 2 :Installer PostgreSQL sur Ubuntu (à partir du référentiel officiel)
L'installation de PostgreSQL à partir du référentiel officiel garantit que vous obtenez la dernière version. Cependant, cette méthode d'installation nécessite plus d'étapes que l'installation avec APT.
1. Tout d'abord, ouvrez une fenêtre de terminal sur votre ordinateur et connectez-vous en SSH à votre serveur Ubuntu.
2. Exécutez la commande suivante pour créer un fichier nommé /etc/apt/sources.list.d/pgdg.list
. Ce fichier contient l'adresse du référentiel officiel de PostgreSQL spécifique à la version de votre serveur Ubuntu.
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
3. Ensuite, exécutez la commande ci-dessous pour ajouter la clé PostgreSQL GPG à votre gestionnaire de packages. APT utilisera cette clé pour vérifier l'authenticité des packages dans le référentiel.
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
Vous verrez une réponse OK si l'ajout de la clé a réussi.
4. Maintenant, mettez à jour les listes de paquets, de sorte que apt
sait où trouver les packages PostgreSQL officiels.
sudo apt update -y
Comme vous pouvez le voir ci-dessous, la commande inclut désormais l'adresse du référentiel officiel de PostgreSQL lors de la recherche de packages.
5. Installez PostgreSQL sur Ubuntu en exécutant la commande suivante. Attendez que l'installation soit terminée.
sudo apt install -y postgresql postgresql-contrib postgresql-client
6. Confirmez la version de PostgreSQL que vous avez installée à partir du référentiel officiel en exécutant la commande ci-dessous.
sudo dpkg --status postgresql
Comme vous pouvez le voir ci-dessous, la version du référentiel officiel est la version 14 au moment de la rédaction de cet article.
Démarrage et vérification du service PostgreSQL
Une fois l'installation terminée, exécutez le systemctl
ci-dessous commande pour démarrer le service PostgreSQL.
sudo systemctl start postgresql.service
Enfin, vérifiez l'état de PostgreSQL en exécutant la commande ci-dessous.
sudo systemctl status postgresql.service
L'état du service doit être active
, comme le montre l'image ci-dessous.
Sécurisation de l'utilisateur PostgreSQL par défaut et activation du chiffrement du mot de passe
L'installation de PostgreSQL crée un compte utilisateur par défaut appelé postgres
qui a un accès administratif complet à PostgreSQL. Mais, ce compte spécial n'a pas de mot de passe. Tout utilisateur pouvant se connecter au serveur Ubuntu peut accéder à PostgreSQL en tant que postgres
utilisateur sans fournir de mot de passe.
Considérant que le postgres
compte n'est pas protégé, la première chose à faire est de définir un nouveau mot de passe. Pour ce faire, procédez comme ci-dessous.
1. Connectez-vous au shell PostgreSQL (psql
) en exécutant la commande ci-dessous.
sudo -u postgres psql
Comme vous pouvez le voir ci-dessous, tout utilisateur pouvant se connecter au serveur Ubuntu peut également accéder à la base de données PostgreSQL sans fournir de mot de passe.
2. Exécutez la commande suivante à l'invite pour initier un changement de mot de passe. Fournissez un mot de passe fort de votre choix et appuyez sur Entrée.
\password
3. Après avoir défini le nouveau mot de passe, tapez \q
et appuyez sur Entrée pour quitter le psql
coque.
4. Par défaut, PostgreSQL envoie les mots de passe en texte brut, ce qui peut constituer un risque pour la sécurité. Pour rectifier ce vecteur d'attaque potentiel, modifiez la méthode d'authentification du mot de passe PostgreSQL. à un sécurisé, tel que md5
.
Ouvrez le /etc/postgresql/12/main/pg_hba.conf fichier dans nano pour l'édition. Ce fichier est le fichier de configuration principal des méthodes d'authentification de PostgreSQL.
sudo nano /etc/postgresql/12/main/pg_hba.conf
5. Trouvez la ligne qui se lit comme ci-dessous.
# Database administrative login by Unix domain socket
local all postgres peer
Une fois que vous avez localisé la ligne, remplacez le mot peer par md5. Après avoir modifié la ligne, votre fichier devrait maintenant ressembler à l'image ci-dessous. Enfin, enregistrez le fichier et quittez l'éditeur.
La méthode d'authentification md5 utilise un algorithme de résumé de message pour crypter le mot de passe avant de l'envoyer au serveur.
6. Redémarrez le serveur PostgreSQL pour que les modifications prennent effet.
sudo systemctl restart postgresql
7. Reconnectez-vous au serveur PostgreSQL en tant que postgres
utilisateur.
sudo -u postgres psql
Entrez le mot de passe à l'invite et appuyez sur Entrée.
Créer et supprimer une base de données PostgreSQL
Maintenant que vous avez installé et configuré votre serveur PostgreSQL, vous pouvez maintenant commencer à créer une base de données. Après tout, qu'est-ce qu'un SGBDR sans base de données ? Suivez les étapes ci-dessous pour tester votre serveur en créant et en supprimant une base de données.
1. Connectez-vous au shell PostgreSQL (psql
) si vous ne l'avez pas déjà fait.
2. Exécutez la commande suivante pour créer une nouvelle base de données nommée ata_db
.
Reportez-vous à Documentation PostgreSQL pour en savoir plus sur la base de données et les différents types de données.
CREATE DATABASE ata_db;
3. Ensuite, confirmez que vous avez créé la base de données avec succès en répertoriant toutes les bases de données disponibles sur le serveur.
\l
Comme vous pouvez le voir ci-dessous, la nouvelle base de données nommée ata_db que vous avez créée à l'étape précédente existe maintenant sur le serveur.
4. Exécutez la commande suivante pour vous connecter au ata_db
base de données.
\c ata_db;
L'image ci-dessous confirme que la connexion à la nouvelle base de données a réussi. Vous pouvez voir un message d'état indiquant à quelle base de données vous vous êtes connecté et avec quel compte d'utilisateur.
Vous pouvez désormais créer des tableaux et effectuez la création , lire , mettre à jour , et supprimer (CRUD) actions sur la base de données.
5. Si finalement, vous n'avez plus besoin de la base de données et devez la supprimer, exécutez les commandes suivantes dans psql
pour supprimer la base de données.
La première ligne se déconnecte de la base de données ata_db en basculant la connexion active vers la base de données postgres par défaut. Vous ne pouvez pas supprimer une base de données si elle est ouverte.
La deuxième ligne supprime la base de données.
\c postgres
DROP DATABASE ata_db;
6. Enfin, listez à nouveau toutes les bases de données sur votre serveur PostgreSQL. Vous verrez que le ata_db
base de données n'existe plus, comme indiqué ci-dessous.
\l
Vous verrez que la base de données ata_db n'existe plus, comme indiqué ci-dessous.
Conclusion
Dans ce didacticiel, vous avez appris à installer PostgreSQL sur un serveur Ubuntu et à configurer les paramètres de sécurité de base. Vous avez également appris à créer, connecter et supprimer une nouvelle base de données sur votre serveur PostgreSQL.
Gardez à l'esprit que ce que vous avez appris ici n'est que la base. Vous pouvez faire plus avec PostgreSQL, comme configurer l'authentification basée sur un certificat SSL , créer de nouveaux utilisateurs de base de données et configurer la réplication.
Avec ces nouvelles connaissances, vous êtes maintenant mieux placé pour utiliser PostgreSQL dans vos applications .