Skip to Content
Menu
This question has been flagged
2 Replies
15853 Views

I'm trying to install Odoo latest version on a Webfaction server without success. I've managed to install it in my machine (Kubuntu 14.10 LTS) - everything went smooth here following this link: http://www.theopensourcerer.com/2014/09/how-to-install-openerp-odoo-8-on-ubuntu-server-14-04-lts/

But when I try to reproduce the installation process in Webfaction, Odoo keeps trying to access postgres database, ignoring the configuration file.

The error is: 

OperationalError: FATAL:  no pg_hba.conf entry for host "127.0.0.1", user "futodoo", database "postgres", SSL on 
FATAL:  no pg_hba.conf entry for host "127.0.0.1", user "futodoo", database "postgres", SSL off

 I've put correct db_user, db_name and db_password in both "~/.openerp_serverrc" (saved with ~/openerp-server -s) and in "openerp-wsgi.py". But this has no effect since Odoo always tryies to access the wrong database to which my user don't have access (and shouldn't have!).

This is a snippet of my openerp-wsgi.py file:

conf['addons_path'] = '/home/futuracode/projects/odoo/addons,/home/futuracode/projects/odoo/openerp/addons'

conf['db_name'] = 'blahblah'
conf['database'] = 'blahblah'
conf['db_host'] = 'localhost'
conf['db_user'] = 'futodoo'
conf['db_port'] = 5432
conf['db_password'] = 'SECRET'

application = openerp.service.wsgi_server.application

openerp.service.server.load_server_wide_modules()

 Any help on how to fix this?

 Some more info:

1. I can access the database I put in the config using 'psql' on command line, so credentials are OK.

2. I've installed all python packages, that is, python setup.py didn't give any error. I'm using a virtualenv to keep things isolated since I'll install other systems along with Odoo. I've done virtualenvs before in Webfaction with mod_wsgi so I think this is not a problem.

3. I've some experience in using Webfaction and I'm almost sure this is a problem with Odoo not respecting the config.

4. I've some experience with python but not with Odoo - I'm newbie here.

Best regards,

 

Avatar
Discard
Best Answer

Mario, I think the database that Odoo trying to connect to is correct.  127.0.0.1 is a generic alias for localhost.  So, it is the same IP address.  I tries to access database named postgres, which should be present in any server, using user futodoo as the configuration specifies.  The part that you need to fix, I think is noted in the error message: no pg_hba.conf entry for host "127.0.0.1", user "futodoo", database "postgres".  You need to update pg_hba.conf to allow for user futodoo to access any database using host method (not local) for IP address group of 127.0.0.1/32.  You can read more on pg_hba.conf from http://www.postgresql.org/docs/9.1/static/auth-pg-hba-conf.html or even in the file itself.  The file should be located in /etc/postgresql/9.1/main/pg_hba.conf if you are running Ubuntu where 9.1 corresponds to the version of PostgreSQL installed.

Avatar
Discard
Author Best Answer

Hi John, Unfortunately, that is not the case. I'm using a shared machine on Webfaction and I do not have access to PostgreSQL config files. Odoo shouldn't either! As I said, the database configuration is correct; I can access it through 'psql' command using the credentials I put in both files (~/.openerp_serverrc and openerp-wsgi.py). PS.: I had to post as an answer because my 'karma' doesn't allow me to comment your answer. If can, please convert this to a comment. Best regards, Mário

Avatar
Discard

Sorry, I mistakenly clicked convert as a comment and it makes all the other comments get removed. Anyway, yes the user need to have access to postgres database. Odoo connects to the postgres database first because it is guaranteed to exist in any running PostgreSQL installations. From there Odoo can get the list of databases that the database user owns so that it can display the list for Odoo users to choose from and Odoo can performs functionalities that are avaiable in the Manage Database link in the login page (Create, Drop, Duplicate, Backup, etc. Databases)

Author

John, I really don't understand why Odoo should connect to postgres database. I can understand your arguments but they don't seems to make sense in a restricted environment, like a shared machine on a hosting service like Webfaction. If you put your database in a config file, Odoo should be happy with that information alone. I'm starting to guess that some other problem is happening in the background and this is only a side effect. I'll try to reproduce the exact environment I have build in Webfaction, that is, with virtualenv, and see if I catch up something. Thanks for your help. Best regards.

Mario, you can check for yourself the code in odoo/openerp/service/web_services.py and search for the word sql_db.db_connect('postgres').

Maybe you should consider this: http://docs.webfaction.com/software/private-databases.html

Author

Hi John! Thanks for your hints. I've installed a private instance of PostgreSQL and was able to run the openerp-server script and it seems to be working fine, that is, it started, created all tables and I didn't get any error in the console. Now my problem is with wsgi, but I'll open another question since it seems to be another issue. Thanks again and best regards.

Pleasure to be of any help. I've read your WGSI question, but I'm not well versed in that. Hopefully someone can pick it up and help you. Cheers,