Ceci est une ancienne révision du document !
phpPgAdmin
phpPgAdmin est une interface web permettant de manipuler vos bases de données PostgreSQL (création, modification, suppression, etc). C'est un outil très pratique mais ça veut également dire donner un accès à vos bases de données depuis internet avec les risques qui vont avec. Comme toute interface web, elle nécessite un serveur web pour fonctionner. Dans mon cas, j'utiliserai Apache2. Je ne traiterai pas la création et configuration du nom de domaine et partirai du principe que vous avez un nom de domaine, appelé domaine.fr ici, qui pointe vers votre serveur.
Installation
L'installation sous Debian est très simple vu que le logiciel se trouve dans les dépôts et s'installe en une commande :
sudo aptitude install phppgadmin
Pour l'utiliser, il va falloir créer un super utilisateur. Tapez les lignes suivantes dans la console en remplaçant le nom d'utilisateur et le mot de passe (choisissez un mot de passe robuste pour l'utilisateur) :
sudo -i -u postgres psql CREATE ROLE nom_utilisateur LOGIN SUPERUSER PASSWORD 'mot_de_passe'; exit exit
Sécuriser l'accès
Par défaut, phpPgAdmin est accessible à l'adresse https://domaine.fr/phppgadmin avec domaine.fr le domaine pointant sur votre serveur ou son adresse IP. N'aimant pas que n'importe puisse tomber sur la page de connexion de phpPgAdmin , je préfère le rendre accessible uniquement via un nom de domaine spécifique.
On va commencer par désactiver la configuration Apache2 actuelle permettant l'accès à phpPgAdmin :
sudo a2disconf phppgadmin
Créez un fichier de configuration pour le sous-domaine (mettre le sous-domaine de votre choix) :
sudo nano /etc/apache2/sites-available/sous.domaine.fr.conf
Copiez-y les lignes suivantes :
<VirtualHost *:80> ServerName sous.domaine.fr Redirect / https://sous.domaine.fr/ </VirtualHost> <VirtualHost *:443> DocumentRoot /usr/share/phppgadmin/ ServerName sous.domaine.fr LogLevel warn CustomLog ${APACHE_LOG_DIR}/phppgadmin.access.log combined ErrorLog ${APACHE_LOG_DIR}/phppgadmin.error.log SSLEngine on SSLCertificateFile /etc/letsencrypt/live/domaine.fr/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/domaine.fr/privkey.pem <Location /> Require all granted </Location> </VirtualHost>
Vous pouvez également rajouter une double authentification en protégeant l'accès avec un identifiant/mot de passe pour plus de sécurité. Voir ici comment faire.
Ensuite, on active la fichier de configuration :
sudo a2ensite sous.domaine.fr.conf
Et on recharge Apache2 :
sudo systemctl reload apache2
Vous pouvez maintenant manipuler vos bases de données avec phpPgAdmin.