Installer PostgreSQL sous CentOS
Voici la procédure à suivre au 15/10/2016 avec la version 9.6 de PostgreSQL et CentOS 7 je considère que vous avez déjà installé Apache (httpd).
les élements ci-dessous sont à réaliser en root ou sudo.
Des informations utiles se trouvent sur : ce Site.
Sommaire
Installation
tout d'abord installer le repository de la version de PostgreSQL https://yum.postgresql.org/repopackages.php
rpm -Uvh http://yum.postgresql.org/9.6/redhat/rhel-7-x86_64/pgdg-centos96-9.6-3.noarch.rpm yum -y update
puis installer les packages
yum -y install postgresql96-server postgresql96-contrib
initialiser la base de données
/usr/pgsql-9.6/bin/postgresql96-setup initdb
Configurer le serveur
systemctl enable postgresql-9.6 systemctl start postgresql-9.6 firewall-cmd --permanent --zone=public --add-port=5432/tcp ou firewall-cmd --permanent --zone=public --add-service=postgresql firewall-cmd --reload setsebool -P httpd_can_network_connect_db 1
configurer postgresql
se connecter à postgresql
su - postgres psql
Définir un mot de passe pour le user postgres
alter role postgres with login; \password postgres
Ajouter le Admin Pack
CREATE EXTENSION adminpack; \q
configurer le fichier pg_hba.conf : vi /var/lib/pgsql/9.6/data/pg_hba.conf
modifier ident => md5
personnellement j'ajoute les lignes suivantes car mes machines sont virtualisées avec Virtualbox.
host all all 192.168.0.0/24 md5 host all all 10.0.2.0/24 md5
la première ouvre les possibilités de connexion à mon réseau local en mode connexion par pont la seconde ouvre les connexions lorsque l'instance virtuelle est paramétré en mode nattage (très utile dans un environnement de production en ne permettant d'ouvrir que les ports utiles de la machine virtuelle).
redémarrer postgreSQL pour vérifier si on a fait une erreur
systemctl restart postgresql-9.6
Configurer le fichier postgresql.conf : vi /var/lib/pgsql/9.6/data/postgresql.conf retirer les # de commentaire et modifier comme suit :
#listen_addresses = 'localhost' devient listen_addresses = '*' #port = 5432 devient port=5432
on redémarre pour vérifier
systemctl restart postgresql-9.6
Installation de phpPgAdmin
la procédure implique que vous avez déja installé Apache (httpd)
yum -y install phpPgAdmin
configurer Apache afin que phpPgAdmin soit accessible : vi /etc/httpd/conf.d/phpPgAdmin.conf
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 Allow from all # Allow from .example.com </IfModule> </Location>
Configurer PhpPgAdmin afin de se connecter à distance : vi /etc/phpPgAdmin/config.inc.php changer les lignes suivantes comme suit:
$conf['servers'][0]['host'] = ; => $conf['servers'][0]['host'] = 'localhost'; $conf['extra_login_security'] = true; => $conf['extra_login_security'] = false; $conf['owned_only'] = false; => $conf['owned_only'] = true;
Etape finale : on relance les deux services
systemctl restart postgresql-9.6 systemctl restart httpd