phpPgAdmin est un outil d'administration Web pour la gestion de la base de données PostgreSQL, et il est très similaire à phpMyAdmin, un outil Web pour la gestion de MySQL (MariaDB).
Si vous avez une expérience de travail sur phpMyAdmin, alors il est très facile pour vous de comprendre les fonctionnalités de phpPgAdmin.
Ce guide vous aidera à installer phpPgAdmin sur Ubuntu 18.04 / Ubuntu 16.04 &LinuxMint 19 / Linux Mint 18.
Prérequis
Avant de configurer phpPgAdmin, découvrez comment installer PostgreSQL sur Ubuntu 18.04 / Ubuntu 16.04 &LinuxMint 19 / Linux Mint 18.
Vérifiez que le service PostgreSQL est en cours d'exécution sur le serveur.
sudo systemctl status postgresql
Sortie :
● postgresql.service - PostgreSQL RDBMS Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled) Active: active (exited) since Sat 2019-02-23 11:43:07 IST; 23h ago Main PID: 6536 (code=exited, status=0/SUCCESS) Tasks: 0 (limit: 2323) CGroup: /system.slice/postgresql.service Feb 23 11:43:07 server systemd[1]: Starting PostgreSQL RDBMS... Feb 23 11:43:07 server systemd[1]: Started PostgreSQL RDBMS.
Installer phpPgAdmin
phpPgAdmin est disponible dans le référentiel de base, vous pouvez donc l'installer à l'aide de la commande apt-get install.
sudo apt-get install -y phppgadmin apache2
Configurer PostgreSQL
Par défaut, PostgreSQL accepte l'authentification de localhost uniquement . Si vous souhaitez connecter PostgreSQL à partir de machines externes, vous devrez modifier le pg_hba.conf fichier.
### PostgreSQL 11 ### sudo nano /etc/postgresql/11/main/pg_hba.conf ### PostgreSQL 10 ### sudo nano /etc/postgresql/10/main/pg_hba.conf
Entrez la valeur selon vos besoins dans IPv4 et assurez-vous qu'il accepte le mot de passe md5.
# IPv4 local connections: host all all 127.0.0.1/32 md5 host all all 192.168.1.0/24 md5
Configurer phpPgAdmin
Modifier /etc/phppgadmin/config.inc.php fichier.
sudo nano /etc/phppgadmin/config.inc.php
Ajoutez vos instances PostgreSQL ici.
// Display name for the server on the login screen $conf['servers'][0]['desc'] = 'PostgreSQL 11'; // Hostname or IP address for server. Use '' for UNIX domain socket. // use 'localhost' for TCP/IP connection on this computer $conf['servers'][0]['host'] = 'localhost'; // Database port on server (5432 is the PostgreSQL default) $conf['servers'][0]['port'] = 5432;
phpPgAdmin n'autorisera pas les utilisateurs sans mot de passe ou avec certains noms d'utilisateur (pgsql, postgres, root, administrateur) à se connecter.
Pour remplacer cette sécurité supplémentaire, remplacez-la par false.
$conf['extra_login_security'] = false;
Définir ce paramètre sur vrai masque simplement les bases de données des autres utilisateurs de la liste des bases de données. Cependant, ils peuvent obtenir les données (à partir d'autres bases de données) à l'aide de requêtes SQL.
$conf['owned_only'] = false;
Configurer Apache
En raison de restrictions, phpPgAdmin n'est accessible que sur localhost. Si vous souhaitez accéder à l'interface Web de phpPgAdmin à partir de machines externes, vous devez modifier le fichier de configuration apache (phppgadmin.conf).
sudo nano /etc/apache2/conf-enabled/phppgadmin.conf
La configuration par défaut ressemblera à ci-dessous.
Alias /phppgadmin /usr/share/phppgadmin <Directory /usr/share/phppgadmin> <IfModule mod_dir.c> DirectoryIndex index.php </IfModule> AllowOverride None # Only allow connections from localhost: Require local <IfModule mod_php.c> php_flag magic_quotes_gpc Off php_flag track_vars On #php_value include_path . </IfModule> <IfModule !mod_php.c> <IfModule mod_actions.c> <IfModule mod_cgi.c> AddType application/x-httpd-php .php Action application/x-httpd-php /cgi-bin/php </IfModule> <IfModule mod_cgid.c> AddType application/x-httpd-php .php Action application/x-httpd-php /cgi-bin/php </IfModule> </IfModule> </IfModule> </Directory>
Veuillez commenter le Require local ligne et ajoutez Exiger que tous soient accordés juste en dessous à la ligne commentée.
Il ressemblera à ci-dessous.
Alias /phppgadmin /usr/share/phppgadmin <Directory /usr/share/phppgadmin> <IfModule mod_dir.c> DirectoryIndex index.php </IfModule> AllowOverride None # Only allow connections from localhost: # Require local Require all granted <IfModule mod_php.c> php_flag magic_quotes_gpc Off php_flag track_vars On #php_value include_path . </IfModule> <IfModule !mod_php.c> <IfModule mod_actions.c> <IfModule mod_cgi.c> AddType application/x-httpd-php .php Action application/x-httpd-php /cgi-bin/php </IfModule> <IfModule mod_cgid.c> AddType application/x-httpd-php .php Action application/x-httpd-php /cgi-bin/php </IfModule> </IfModule> </IfModule> </Directory
Redémarrez les services.
sudo systemctl restart postgresql sudo systemctl restart apache2
Accéder à phpPgAdmin
Accédez maintenant à phpPgAdmin depuis votre navigateur Web, l'URL sera
http://votre-adresse-ip/phppgadminOU :
http://localhost/phppgaminPage initiale de phpPgAdmin :
Travailler avec phpPgAdmin
Cliquez sur le serveur répertorié dans le volet de gauche pour vous connecter à l'instance PostgreSQL. Connectez-vous en utilisant l'utilisateur de la base de données.
Vous obtenez maintenant la liste des bases de données.
C'est tout.