Installer PostgreSQL Installation PostgreSQL sur VPS HolyCloud, création d'utilisateur et base, configuration pg_hba.conf. ~12 min de lecture Intermédiaire #postgresql #base-de-donnees #pg_hba Installer PostgreSQL Ce guide installe PostgreSQL depuis les dépôts officiels Debian/Ubuntu sur un VPS Linux HolyCloud, crée un utilisateur applicatif et une base, puis restreint les connexions via pg_hba.conf. Prérequis VPS HolyCloud Ubuntu 22.04/24.04 ou Debian 12 Au moins 1 Go de RAM recommandé pour PostgreSQL seul Accès sudo Snapshot ou sauvegarde avant exposition réseau Conseil : pour la production, n'exposez PostgreSQL sur Internet que via VPN ou IP autorisées dans pg_hba.conf. Étape 1 : installation sudo apt update sudo apt install -y postgresql postgresql-contrib La version installée dépend de la distribution (postgresql --version). Démarrez et activez le service : sudo systemctl enable --now postgresql sudo systemctl status postgresql Étape 2 : premier accès (utilisateur postgres) Debian/Ubuntu crée le superutilisateur système postgres. Basculez dessus : sudo -i -u postgres psql -c "SELECT version();" Quittez avec exit. Étape 3 : créer un rôle et une base Remplacez monapp et les mots de passe par vos valeurs : sudo -u postgres psql <<'EOF' CREATE ROLE monapp_user WITH LOGIN PASSWORD 'MotDePasseFortIci!'; CREATE DATABASE monapp_db OWNER monapp_user ENCODING 'UTF8' LC_COLLATE='fr_FR.UTF-8' LC_CTYPE='fr_FR.UTF-8' TEMPLATE template0; GRANT ALL PRIVILEGES ON DATABASE monapp_db TO monapp_user; EOF Si la locale fr_FR.UTF-8 n'existe pas : sudo locale-gen fr_FR.UTF-8 sudo update-locale Connexion test en tant qu'utilisateur applicatif : psql -h 127.0.0.1 -U monapp_user -d monapp_db -c "\conninfo" Étape 4 : configurer pg_hba.conf Identifiez le répertoire de configuration (exemple PostgreSQL 16) : sudo -u postgres psql -t -P format=unaligned -c 'SHOW hba_file;' Éditez le fichier (chemin typique) : sudo nano /etc/postgresql/16/main/pg_hba.conf Exemple pour accès local uniquement (recommandé par défaut) : # TYPE DATABASE USER ADDRESS METHOD local all postgres peer local monapp_db monapp_user scram-sha-256 host monapp_db monapp_user 127.0.0.1/32 scram-sha-256 host monapp_db monapp_user ::1/128 scram-sha-256 Pour autoriser un autre VPS HolyCloud (IP fixe) : host monapp_db monapp_user 203.0.113.50/32 scram-sha-256 Écoute réseau : dans postgresql.conf, définissez listen_addresses si nécessaire : sudo nano /etc/postgresql/16/main/postgresql.conf listen_addresses = 'localhost' Pour écouter sur une interface privée : listen_addresses = '10.0.0.5'. Rechargez la configuration : sudo systemctl reload postgresql Étape 5 : pare-feu et durcissement Si vous utilisez UFW et exposez le port 5432 (déconseillé sans VPN) : sudo ufw allow from 203.0.113.50 to any port 5432 proto tcp Changez le mot de passe postgres si vous l'utilisez : sudo -u postgres psql -c "ALTER USER postgres PASSWORD 'AutreMotDePasseFort';" Vérification sudo -u postgres psql -c "\du" sudo -u postgres psql -c "\l" ss -tlnp | grep 5432 Depuis une machine autorisée : psql -h IP_VPS -U monapp_user -d monapp_db -c "SELECT current_database(), current_user;" Consultez les logs en cas d'échec : sudo journalctl -u postgresql -n 50. Besoin d'aide ? Le support HolyCloud peut vous orienter sur la connectivité réseau ; la configuration applicative PostgreSQL reste sous votre responsabilité. Suite de la lecture Article précédent Installer Plesk Obsidian Lire Article suivant Installer Redis Lire