lunes, 2 de noviembre de 2015

Instalación de PostgreSQL 9.4 And phpPgAdmin en CentOS 7 64bits

En el Post pasado mostramos como hacer la instalación de Linux CentOS versión 7 en 64 bits, colocamos un hostname y se asigno una IPv4 mediante DHCP, el Os ya se encuentra totalmente actualizado, ahora iniciamos con la instalación y configuración para poder usar un Postgres SQL versión 9.4 en nuestro Os.  

###Iniciamos con la instalación de Postgres SQL

rpm -Uvh http://yum.postgresql.org/9.4/redhat/rhel-7-x86_64/pgdg-centos94-9.4-1.noarch.rpm

yum update

yum install postgresql94-server postgresql94-contrib

/usr/pgsql-9.4/bin/postgresql94-setup initdb

systemctl enable postgresql-9.4

systemctl start postgresql-9.4

#####Agregar reglas en Firewall

vi /etc/sysconfig/iptables

-A INPUT -m state --state NEW -m tcp -p tcp --dport 5432 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

service iptables restart

#####Ajustar SELinux

setsebool -P httpd_can_network_connect_db 1

####Asignar un password a Postgres

su - postgres
psql

postgres=# \password postgres
Enter new password: Enter it again: postgres=# \q
postgres=# CREATE EXTENSION adminpack;
CREATE EXTENSION



#######Instalar el Admin Pack para PostGres

######Asignar un usuario 
su - postgres
Create user oposada.

$ createuser oposada

######Crear DB
$ createdb mydb

######Asignar usuario y permisos a DB creada

$ psql
psql (9.4.0)
Type "help" for help.
postgres=# alter user oposada with encrypted password 'EdNCXHzHXg2xTOrHRyw';
ALTER ROLE
postgres=# grant all privileges on database mydb to oposada;
GRANT

postgres=#

#### Configurar PostgreSQL para autenticacion por MD5
####respaldo el archvo pg_hba.conf y depsues editelo
vi /var/lib/pgsql/9.4/data/pg_hba.conf

[...]
# TYPE  DATABASE        USER            ADDRESS                 METHOD
# "local" is for Unix domain socket connections only
local   all             all                                     md5
# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
host    all             all             192.168.1.0/24          md5
# IPv6 local connections:
host    all             all             ::1/128                 md5
[...]

###Guardamos los cambios de archivo pg_hba.conf y reiniciamos Postgres
systemctl restart postgresql-9.4


#### Configurar PostgreSQL TCP/IP
####respaldo el archvo postgresql.conf y depsues editelo
vi /var/lib/pgsql/9.4/data/postgresql.conf

Busca las lineas
[...]
#listen_addresses = 'localhost'
[...]
#port = 5432
[...]

Editalas dejandolo de esta menera
listen_addresses = '*'
port = 5432

###guarda los cambios y sal de la edicion 
### reinicia Postgres


systemctl restart postgresql-9.4

###PHPpgAdmin
a muchos de mis compañeros no les agrada muchos tener un gestor ya que hay muchos clientes con GUI que ayudan en mucho la administración de Postgres, de igual forma la linea de comando nunca falla, pero para aquellos que prefieren un gestor de administración web va para ellos. 
### Busqueda de Repos
yum install epel-release

yum update

yum install phpPgAdmin httpd

###toma un respado del archivo phpPgAdmin.conf antes de editarlo
vi /etc/httpd/conf.d/phpPgAdmin.conf

[...]
Alias /phpPgAdmin /usr/share/phpPgAdmin

   
        # Apache 2.4
        Require all granted
        #Require host example.com
   
   
        # Apache 2.2
        Order deny,allow
        Allow from all
        # Allow from .example.com
   


###ejecuta los cambios y guarda el archivo (elimina cualquier linea que no este en el ejemplo expuesto) de no dejar el documento tal cual como el ejemplo no levantara el Apache web server como me paso a mi en el video, la solución es dejarlo tal cual el ejemplo.

#Reinicia seervicios
systemctl enable httpd

systemctl start httpd

###Configura PHPpgAdmin
### antes de modificar archivos de configuracion respalda los archivos por buenas practicas. 

vi /etc/phpPgAdmin/config.inc.php

##busca la linea

$conf['servers'][0]['host'] = '';

##modifica la linea

$conf['servers'][0]['host'] = 'localhost';

## busca la linea

$conf['extra_login_security'] = true;
##modifica la linea y coloca false:

$conf['extra_login_security'] = false;
## busca la linea

$conf['owned_only'] = false;
## modifica la linea y deja los siguientes valores true

$conf['owned_only'] = true;

### guarda el archivo de configuración y reinicia servicios 

systemctl restart postgresql-9.4

systemctl restart httpd


### ahora ya puedes validar tu acceso mediante http://direccionIP/phpPgAdmin
Ejemplo:

Video de Instalación y configuración. 





No hay comentarios.: