我正在尝试在lxc容器内的ubuntu 12.04上安装openerp 7。数据库服务器位于主机上。一切正常,但是当我第一次尝试访问webclient时,我在浏览器中遇到错误(在终端中),openerp无法连接到数据库服务器。 这是我的openerp-server.conf文件:
[options]
; This is the password that allows database operations:
; admin_passwd = admin
debug_mode = True
db_host = '10.0.3.1'
db_port = 5432
db_user = openerp
db_password = openerp
db_name = openerp
logfile = /var/log/openerp/openerp-server.log
我也试过
db_host = 10.0.3.1
当我启动服务器时,我收到了以下信息:
2013-01-08 22:46:39,688 654 INFO ? openerp: OpenERP version 7.0-20130106-001538
2013-01-08 22:46:39,688 654 INFO ? openerp: addons paths: /opt/openerp/server/openerp/addons
2013-01-08 22:46:39,688 654 INFO ? openerp: database hostname: localhost
2013-01-08 22:46:39,688 654 INFO ? openerp: database port: 5432
2013-01-08 22:46:39,688 654 INFO ? openerp: database user: openerp
2013-01-08 22:46:40,106 654 INFO ? openerp.service.wsgi_server: HTTP service (werkzeug) running on 0.0.0.0:8069
2013-01-08 22:46:40,106 654 INFO ? openerp: OpenERP server is running, waiting for connections...
日志文件具有777权限,为空。 当我尝试从浏览器访问openerp时,这是错误的一部分:
ERROR postgres openerp.sql_db: Connection to the database failed
Traceback (most recent call last):
File "/opt/openerp/server/openerp/sql_db.py", line 433, in borrow
result = psycopg2.connect(dsn=dsn, connection_factory=PsycoConnection)
File "/usr/lib/python2.7/dist-packages/psycopg2/__init__.py", line 179, in connect
connection_factory=connection_factory, async=async)
OperationalError: could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?
2013-01-08 22:48:21,553 654 ERROR postgres openerp.netsvc: could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?
Traceback (most recent call last):
File "/opt/openerp/server/openerp/netsvc.py", line 289, in dispatch_rpc
result = ExportService.getService(service_name).dispatch(method, params)
File "/opt/openerp/server/openerp/service/web_services.py", line 122, in dispatch
return fn(*params)
db服务器正在接受来自lxc容器的连接,我已经创建了一个小的python脚本来测试它并且它有效。
谢谢
答案 0 :(得分:4)
输出的第三行表示OpenERP正在localhost
上寻找数据库服务器。我猜OE没有看到你的配置文件。作为快速测试,您可以手动运行OE,例如:
/usr/local/bin/openerp-server --conf /path/to/config_file
看看是否有效。如果是,请找到相应的启动脚本,并使用配置文件和日志文件参数进行调整。
答案 1 :(得分:2)
我最近安装了OpenERP v7.0,这个博客帮了我很多忙。 请参阅 Install OpenERP 7.0 on Ubuntu。
希望这会对你有所帮助。
答案 2 :(得分:0)
我通过修改此文件解决了同样的问题:
/usr/lib/python2.6/site-packages/openerp-7.0_20130211_002141-py2.6.egg/openerp/tools/config.py
在那里有一个部分:
if self.options['db_password']:
if sys.platform == 'win32' and not self.options['db_host']:
self.options['db_host'] = 'localhost'
#if self.options['db_host']:
# self._generate_pgpassfile()
if opt.save:
self.save()
在“if op.save:”之前添加:
self.options['db_host'] = '<address_of_db_host>'