1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
|
#!/bin/bash
set -eu # -x for verbose logging to juju debug-log
ORIGIN=$(config-get origin)
DB_FILTER=$(config-get db_filter)
REMOTE_PRIVATE_ADDRESS=$(relation-get private-address)
USERNAME=openerp
# If $user is not set, DB is still setting itself up, we exit awaiting next run
[ -z "$REMOTE_PRIVATE_ADDRESS" ] && exit 0
if [[ $ORIGIN == lp ]]; then
if ! getent passwd $USERNAME >/dev/null; then
adduser --quiet --disabled-password \
--gecos "OpenERP User" \
$USERNAME
fi
cat > /etc/init/openerp-web.conf << EOF
description "OpenERP web interface."
start on runlevel [2345]
stop on runlevel [!2345]
respawn
chdir /srv/openerp-web
exec su -c "./openerp-web --proxy-mode --db-filter="${DB_FILTER}" --addons-path=addons --server-host ${REMOTE_PRIVATE_ADDRESS}" openerp
EOF
start openerp-web || restart openerp-web
open-port 8002/tcp
else
cat > /etc/openerp-web/openerp-web.cfg <<EOF
[global]
server.environment = "production"
tools.sessions.on = True
tools.sessions.persistent = False
# Simple code profiling
server.profile_on = False
server.profile_dir = "profile"
# if this is part of a larger site, you can set the path
# to the TurboGears instance here
#server.webpath = ""
# logging
log.access_level = "INFO"
log.error_level = "INFO"
# Set to false to disable CSRF checks
tools.csrf.on = True
# replace builtin traceback tools by cgitb
tools.log_tracebacks.on: False
tools.cgitb.on: True
# a default install can probably avoid logging those via cgitb as they're
# available in the server log
tools.cgitb.ignore=(
openobject.errors.Concurrency,
openobject.errors.TinyException)
# OpenERP Server
openerp.server.host = '${REMOTE_PRIVATE_ADDRESS}'
openerp.server.port = '8070'
openerp.server.protocol = 'socket'
openerp.server.timeout = 450
# Do not spam the Apache error.log with access logs
log.screen = False
# Web client settings
[openerp-web]
# filter dblists based on url pattern?
# NONE: No Filter
# EXACT: Exact Hostname
# UNDERSCORE: Hostname_
# BOTH: Exact Hostname or Hostname_
dblist.filter = 'NONE'
# whether to show Databases button on Login screen or not
dbbutton.visible = True
# will be applied on company logo
company.url = ''
[/]
tools.sessions.storage_type = 'file'
tools.sessions.storage_path = '/var/lib/openerp-web/sessions'
EOF
service openerp-web start || service openerp-web restart
open-port 80/tcp
fi
|