在一台服务器上安装多个Odoo实例

生产环境下的安装可以使用之前文章讲述的快速安装方法,本文的目的是将多个版本的odoo安装到一台服务器上,实现多版本odoo的共存。

本文基于ubuntu 18.04

更新系统

1
2
3
4
sudo apt-get update && apt-get -y upgrade
sudo apt-get install git wkhtmltopdf python-pip python-dev \
python-virtualenv libevent-dev gcc libjpeg-dev libxml2-dev \
libssl-dev libsasl2-dev node-less libldap2-dev libxslt-dev

安装Postgresql

1
sudo apt-get install postgresql-10

创建odoo用户

先创建系统用户:

1
2
sudo adduser --system --group odoo13 --home /opt/odoo13
sudo adduser --system --group odoo12 --home /opt/odoo12

然后再创建 Postgresql用户:

1
sudo su - postgres -c "createuser --createdb --username postgres --no-createrole --no-superuser --no-password odoo12"

安装odoo源码

首先切换到我们刚才创建的系统用户:

1
sudo su - odoo13 -s /bin/bash

从github克隆源码到本地:

1
git clone https://www.github.com/odoo/odoo --depth 1 --branch 13.0 --single-branch /opt/odoo13

鉴于国内网络情况,推荐使用码云镜像克隆速度会提高很多。

创建Python 虚拟环境并安装依赖:

1
2
3
4
cd /opt/odoo13
python3 -m venv venv
source ./venv/bin/activate
pip3 install -r requirements.txt

同样的,推荐使用豆瓣源替代原生, https://pypi.douban.com/simple

重复上面的步骤以安装另外一个版本的odoo。

最后 退出当前odoo用户:

1
exit

配置odoo

创建odoo的配置文件:

1
sudo vim /etc/odoo13.conf
1
2
3
4
5
6
7
8
9
[options]
admin_passwd = your_strong_admin_password
db_host = False
db_port = False
db_user = odoo13
db_password = False
addons_path = /opt/odoo13/addons
logfile = /var/log/odoo13.log
xmlrpc_port = 8069

配置服务脚本

1
sudo vim /lib/systemd/system/odoo13.service
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[Unit]
Description=Odoo 13
Requires=postgresql.service
After=postgresql.service

[Service]
Type=simple
PermissionsStartOnly=true
User=odoo13
Group=odoo13
SyslogIdentifier=odoo13
ExecStart=/opt/odoo13/venv/bin/python3 /opt/odoo13/odoo-bin -c /etc/odoo13.conf

[Install]
WantedBy=multi-user.target

同样的创建另外一个版本的odoo服务脚本

激活服务

1
sudo systemctl enable odoo13.service
你的支持我的动力