martes, 6 de mayo de 2014

PHPPgAdmin: administrador web de PostgreSQL

Continuando con la serie de tutoriales de PostgreSQL vamos a dedicar un post a PHPPgAdmin.


PHPPgAdmin es una herramienta web para la administración de bases de datos PostgreSQL (del mismo modo que PHPMyAdmin lo es para MySQL). Está compuesto por una serie de scripts PHP que serán ejecutados por un servidor web y estarán accesibles desde un navegador.


Requisitos previos

Necesitamos un servidor con las siguientes características instaladas:

  • Base de datos PostgreSQL 8.4 o superior (las versiones inferiores quedan fuera del soporte y desarrollo futuro, puede funcionar bajo nuestra responsabilidad)
  • Servidor web con soporte a PHP5.0 o superior

Proceso de instalación


Si trabajáis con un sistema operativo linux lo tenéis disponible en los repositorios de software.


Configuración


Existen dos archivos de configuración que debemos modificar: config.inc.php (configuración propia de PHPPgAdmin) y  apache.conf (con la configuración de los permisos de acceso al directorio que aloja los scripts php)

En el fichero config.inc.php configuramos las siguientes líneas con la dirección de nuestro servidor (generalmente localhost) y el puerto de conexión (por defecto el 5432)

$conf['servers'][0]['host'] = 'localhost';
$conf['servers'][0]['port'] = 5432;
 
Si queremos acceder con el usuario root a PHPPgAdmin (no recomendado) debemos desactivar la directiva extra_login_security en la línea:

$conf['extra_login_security'] = false;

Guardamos el fichero y abrimos apache.conf. Para permitir el acceso desde cualquier IP tendremos que habilitar la directiva allow from all. Si queremos que esté activa sólo desde una subred podemos indicarlo.

<Directory /usr/share/phppgadmin/>

DirectoryIndex index.php

Options +FollowSymLinks
AllowOverride None

order deny,allow
deny from all
#allow from 127.0.0.0/255.0.0.0 ::1/128
allow from all

<IfModule mod_php5.c>
  php_flag magic_quotes_gpc Off
  php_flag track_vars On
  php_value include_path .
</IfModule>

</Directory>


Reiniciamos Apache y ya tendremos accesible PHPPgAdmin desde nuestro navegador:


[Editado 18/09/2014]


En la versión 9.3 de PostgreSQL el archivo de configuración se encuentra en /etc/apache2/conf.d/phppgadmin

Igual que en el caso anterior comentaremos las líneas que impiden todos los accesos excepto el local:

#deny for all
#allow from 127.0.0.0/255.0.0.0  ::1/128

Y añadimos la línea

allow from all

que permite el acceso desde cualquier dirección I.P. (dejando la seguridad a cargo de la autenticación de Postgre). Es recomendable revisar el log de accesos de vez en cuando para averiguar si tenemos intentos de acceso no autorizados y en ese caso podemos restringir el rango de IPs permitidas.

No hay comentarios:

Publicar un comentario

Recomendaciones de Alcasoft