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.