phpPgAdmin est un outil d'administration basé sur le Web pour la gestion de la base de données PostgreSQL, et son apparence est très similaire à celle de phpMyAdmin. Si vous avez une expérience de travail sur phpMyAdmin, vous ne prendrez pas beaucoup de temps pour trouver le moyen de travailler avec phpPgAdmin.
Ce guide vous aidera à configurer phpPgAdmin 5.6 sur CentOS 7 / RHEL 7.
Prérequis
En supposant que vous avez déjà installé PostgreSQL sur votre système. Sinon, regardez comment installer PostgreSQL 11 / 10 sur CentOS 7 / RHEL 7.
Installez les packages dépendants pour phpPgAdmin.
yum install -y php php-cli php-common php-pdo php-pgsql httpd apr apr-util httpd-tools libzip mailcap
Installer phpPgAdmin
Le phpPgAdmin disponible dans le référentiel EPEL ne prend pas en charge PostgreSQL 10 et supérieur.
Erreur :
Version de PostgreSQL non prise en charge. Veuillez mettre à niveau vers la version ou une version ultérieure.
Nous allons donc configurer phpPgAdmin en utilisant le téléchargement du package depuis le site officiel.
Téléchargez la dernière version de phpPgAdmin. Le téléchargement du fichier tar serait préférable.
wget https://github.com/phppgadmin/phppgadmin/archive/REL_5-6-0.tar.gz
Extrayez l'archive téléchargée à l'aide de la commande tar.
tar -zxvf REL_5-6-0.tar.gz
Déplacez les fichiers extraits vers /usr/share/phppgadmin
répertoire.
mv phppgadmin-REL_5-6-0/ /usr/share/phppgadmin
Configurer phpPgAdmin
Copiez le fichier de configuration pour commencer la configuration de phpPgAdmin.
mv /usr/share/phppgadmin/conf/config.inc.php-dist /usr/share/phppgadmin/conf/config.inc.php
Modifier /etc/phpPgAdmin/config.inc.php
fichier.
vi /usr/share/phppgadmin/conf/config.inc.php
Définissez le nom de votre instance PostgreSQL. Ce paramètre listera le nom de votre instance dans l'interface Web de phpPgAdmin.
$conf['servers'][0]['desc'] = 'PostgreSQL 11';
Ajoutez localhost ou l'adresse IP de votre instance PostgreSQL dans le paramètre de serveur suivant.
$conf['servers'][0]['host'] = 'localhost';
Si la sécurité de connexion supplémentaire est vraie, alors se connecte via phpPgAdmin sans mot de passe ou certains noms d'utilisateur (pgsql, postgres, root, administrateur ) sera refusé. Pour activer la connexion postgres, changez-la en false.
$conf['extra_login_security'] = false;
Pour masquer simplement les bases de données des autres (appartenant à d'autres) dans la liste, définissez la condition suivante sur true.
$conf['owned_only'] = true;
Configurer PostgreSQL
Nous devrons activer l'authentification MD5 sur PostgreSQL afin de pouvoir gérer les instances PostgreSQL à partir de phpPgAdmin ainsi que d'établir des connexions à partir de machines externes.
L'activation de l'authentification MD5 augmente la sécurité et autorise uniquement la connexion par mot de passe crypté. Modifiez le fichier de configuration pour accepter l'authentification MD5.
### PostgreSQL 11 ### vi /var/lib/pgsql/11/data/pg_hba.conf ### PostgreSQL 10 ### vi /var/lib/pgsql/10/data/pg_hba.conf
Veuillez entrer la valeur selon vos besoins dans les connexions IPv4. Assurez-vous qu'il accepte les mots de passe MD5.
# TYPE DATABASE USER ADDRESS METHOD # IPv4 local connections: host all all all md5Utilisez 192.168.1.0/24 au lieu de tous dans ADRESSE pour activer l'authentification MD5 pour le sous-réseau spécifique d'adresses IP.
Redémarrez le service PostgreSQL.
### PostgreSQL 11 ### systemctl restart postgresql-11 ### PostgreSQL 10 ### systemctl restart postgresql-10
Configurer Apache
Créez un fichier de configuration sous /etc/httpd/conf.d
afin qu'Apache puisse servir l'interface phpPgAdmin.
vi /etc/httpd/conf.d/phppgadmin.conf
Copiez et collez le contenu ci-dessous dans le fichier ci-dessus.
Alias /phppgadmin /usr/share/phppgadmin <Location /phppgadmin> <IfModule mod_authz_core.c> # Apache 2.4 Require all granted #Require host example.com </IfModule> <IfModule !mod_authz_core.c> # Apache 2.2 Order deny,allow Deny from all Allow from 127.0.0.1 Allow from ::1 # Allow from .example.com </IfModule> </Location>
Redémarrez et activez le service HTTPD.
systemctl restart httpd systemctl enable httpd
SELinux
Si SELinux est activé sur votre système, vous devrez exécuter les commandes ci-dessous ; sinon vous ne pourrez pas vous connecter à phpPgAdmin.
yum install -y policycoreutils setsebool -P httpd_can_network_connect_db 1
Pare-feu
Autorisez le service HTTP dans le pare-feu afin que nous puissions accéder à phpPgAdmin à l'aide d'un navigateur à partir de machines externes.
firewall-cmd --permanent --add-service=http firewall-cmd --reload
Accéder à phpPgAdmin
Accédez maintenant à phpPgAdmin depuis le navigateur, l'URL sera :
http://votre.ip.add.ress/phppgadminVous obtiendrez la page ci-dessous.
Cliquez sur votre instance PostgreSQL répertoriée dans le volet de gauche (sous les serveurs). Connectez-vous à votre instance PostgreSQL avec votre nom d'utilisateur et votre mot de passe.
Vous devriez maintenant obtenir la page de la base de données.
Conclusion
Vous avez installé avec succès phpPgAdmin sur CentOS 7 / RHEL 7. Visitez la page FAQ de phpPgAdmin pour en savoir plus sur phpPgAdmin et la page d'aide si vous avez besoin d'aide.