Breaking

lundi 26 novembre 2018

Comment installer phpPgAdmin sur Debian 9 / Ubuntu 16.04 / LinuxMint 18

phpPgAdmin est un outil d’administration Web pour la gestion de la base de données PostgreSQL. Il est très similaire à phpMyAdmin, un outil Web de gestion de MySQL (MariaDB).

Si vous avez déjà travaillé sur phpMyAdmin, il vous sera très facile de comprendre les fonctionnalités de phpPgAdmin.

Ce guide vous aidera à installer phpPgAdmin sur Debian 9 / Ubuntu 16.04 / LinuxMint 18.

Installer PostgreSQL

Avant de configurer phpPgAdmin, voyez comment installer PostgreSQL sur Debian 9 / Ubuntu 16.04 / LinuxMint 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 Thu 2017-09-21 11:15:41 CDT; 2 days ago
 Main PID: 829 (code=exited, status=0/SUCCESS)
    Tasks: 0 (limit: 4915)
   CGroup: /system.slice/postgresql.service

Sep 21 11:15:41 mydebian systemd[1]: Starting PostgreSQL RDBMS...
Sep 21 11:15:41 mydebian systemd[1]: Started PostgreSQL RDBMS.

Installer phpPgAdmin

phpPgAdmin est disponible dans le référentiel de base, vous pouvez donc l'installer en utilisant la commande apt-get install.
sudo apt-get install -y  phppgadmin apache2

Configurer PostgreSQL

PostgreSQL n'écoute que sur l'adaptateur de bouclage (127.0.0.1). Parfois, l'application hébergée sur externe peut avoir besoin de se connecter à la base de données. Pour cela, nous devons configurer PostgreSQL pour qu’il écoute sur tous les adaptateurs.
nano /etc/postgresql/9.6/main/postgresql.conf
Mettre à jour la ligne ci-dessous,

DE:
#listen_addresses = 'localhost'
à Changer 192.168.1.6 avec votre adresse IP.
listen_addresses = '192.168.1.5'

Par défaut, PostgreSQL n'accepte l'authentification que de localhost. Si vous souhaitez connecter PostgreSQL à partir de machines externes, vous devez éditer le fichier pg_hba.conf.
sudo nano /etc/postgresql/9.6/main/pg_hba.conf
Entrez la valeur selon vos exigences dans IPv4 et assurez-vous qu'elle 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 Apache

En raison de restrictions, phpPgAdmin est accessible uniquement sur localhost. Si vous souhaitez accéder à l'interface Web phpPgAdmin à partir de machines externes, vous devez modifier le fichier de configuration d'Apache (phppgadmin.conf).
sudo nano /etc/apache2/conf-enabled/phppgadmin.conf
La configuration par défaut ressemblera à celle 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 la ligne "Require local" et ajouter Exiger tout ce qui est accordé juste en dessous de la ligne commentée.

Cela 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édez à phpPgAdmin
Maintenant, accédez à phpPgAdmin depuis votre navigateur Web, l’URL sera
http://votre-adresse-ip/phppgadmin

OU:
http://localhost/phppgamin

La page initiale de phpPgAdmin:

Pages