[Python-es] Error a la conexion con la base de datos
Manuel A. Estevez Fernandez
stvzito en gmail.com
Mar Ene 31 19:09:43 CET 2012
Saludos lista.
Estoy pasando un aplicación web sencilla que está en Django 1.2.7, la
base de datos es PostgreSQL 9.0.6. La versión del Apache/2.2.15 (Unix)
DAV/2 PHP/5.3.3 mod_python/3.3.1 Python/2.6.6 mod_ssl/2.2.15
OpenSSL/1.0.0-fips mod_wsgi/3.2 mod_perl/2.0.4 Perl/v5.10.1
En la misma máquina se encuentra el Servidor Web y el servidor de base
de datos.
Sin embargo cuando intento conectarme a la aplicación me marca un error
de conexion.
could not connect to server: Permission denied
Is the server running on host "localhost" and accepting
TCP/IP connections on port 5432?
Sin embargo utilizando el cliente psql, puedo conectarme sin problemas,
de igual forma puedo accesar a la aplicación levantando el servidor de
desarrollo con la instrucción
./manage.py runserver
lo que me hace pensar que tal vez estoy omitiendo alguna configuración
en mis archivos, a continuación les muestro las secciones configuradas
en cada uno de los archivos. O alguna otra parte que no haya considerado.
La configuración de mi archivo de settings del proyecto es el siguiente
para la conexión:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2', # Add
'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
'NAME': 'almacen_facturas', # Or path to
database file if using sqlite3.
'USER': 'dba', # Not used with sqlite3.
'PASSWORD': '[pass]', # Not used with sqlite3.
'HOST': 'localhost', # Set to empty string
for localhost. Not used with sqlite3.
'PORT': '5432', # Set to empty string for
default. Not used with sqlite3.
}
}
Se que también hay que configurar el acceso por parte del servidor de
postgresql ( archivo pg_hba.conf y postgresql.conf )
# TYPE DATABASE USER CIDR-ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all trust
# IPv4 local connections:
host almacen_facturas dba 10.10.50.171/24 trust
host all all 127.0.0.1/32 trust
host all dba 10.10.50.0/24 md5
y
listen_addresses = '*'
Esta es mi configuración del archivo WSGI:
import os
import sys
sys.path.append('/var/www/django/visor/')
sys.path.append('/var/www/django/visor/facturas/')
os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
y por último esta es la sección correspondiente al archivo de
configuración del apache
<Location "/facturas/">
SetHandler python-program
PythonHandler django.core.handlers.modpython
SetEnv PYTHON_EGG_CACHE "/var/cache/www/pythoneggs"
SetEnv DJANGO_SETTINGS_MODULE settings
PythonDebug Off
PythonPath "['/var/www/django/visor','/var/www'] + sys.path"
</Location>
Espero y puedan ayudarme.
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20120131/8becb286/attachment.html>
Más información sobre la lista de distribución Python-es