Instalación de PostgreSQL - rmeruane/CC5402-TierraAdentro GitHub Wiki
Para instalar servidor PostgreSQL basta con instalarlo desde el repositorio:
$ aptitude install postgresql postgresql-client
Una vez instalado PostgreSQL se debe instalar el módulo psycopg2 para django mediante pip, no obstante, es necesario instalar unos paquetes de desarrollo primero (de lo contrario la instalación del paquete con pip fallará):
aptitude install libpq-dev python-dev
Ahora sí se puede instalar el paquete necesario mediante pip:
pip install psycopg2
Un buen mecanismo para administrar la base de datos mediante una interfaz web es PhpPgAdmin, lo cual se instala del siguiente modo:
$ aptitude install php5 libapache2-mod-php5
$ aptitude install php5-pgsql phppgadmin
Es posible que el gestor de paquetes aptitude alerte sobre unos módulos apaches que serán reemplazados, se debe aceptar la solución propuesta por aptitude.
Por default la interfaz web sólo se puede ver desde una conexión local, para permitir que cualquier persona pueda ingresar se debe modificar el archivo /etc/phppgadmin/apache.conf y comentar la linea
allow from 127.0.0.0/255.0.0.0 ::1/128
y descomentar la linea
allow from all
de modo que el archivo quede de este modo:
Alias /phppgadmin /usr/share/phppgadmin/
<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>
Luego se debe reiniciar el servidor Apache para que estos cambios surtan efecto.
Es recomendable asignarle una contraseña al usuario maestro (postgres). Para esto se debe ingresar como root al servidor, luego cambiarse al usuario postgres
$ su postgres
Y luego ingresar a la consola de administración de PostgreSQL:
$ psql
Una vez dentro de la consola de administración se puede cambiar la contraseña del usuario maestro mediante:
ALTER USER postgres WITH PASSWORD 'password';
Por último se deben cambiar las políticas de seguridad para que el usuario maestro (postgres) pueda ingresar a la interfaz web PhpPgAdmin. Se debe modificar el archivo /etc/phppgadmin/config.inc.php y modificar la variable $conf['extra_login_security'] asignándole el valor false:
$conf['extra_login_security'] = false;