相关文章
2022年10月12日 Odoo 16已正式发布,安装脚本(非官方):https://github.com/Yenthe666/InstallScript。数日前其前端框架OWL 2.0.0也已正式发布,修改日志点击这里。
Docker 安装
官方的 Dockerfile 已更新,这可能是最简单的安装方式了,直接访问https://github.com/odoo/docker/tree/master/16.0查看。
打包镜像及启动服务:
1 2 3 4 |
docker build -t odoo:16 . docker run -d -e POSTGRES_USER=odoo -e POSTGRES_PASSWORD=odoo -e POSTGRES_DB=postgres --name db postgres:12 # 挂载自定义插件并启动服务 docker run -v /path/to/addons:/mnt/extra-addons -p 8069:8069 --name odoo --link db:db -t odoo:16 |
Ubuntu 20.04 LTS安装
1、系统安装包的升级和基本安全加固
1 2 |
sudo apt-get update sudo apt-get install openssh-server fail2ban |
2、安装 Python 3和相关依赖
1 2 |
sudo apt-get install -y python3-pip sudo apt-get install python-dev python3-dev libxml2-dev libxslt1-dev zlib1g-dev libsasl2-dev libldap2-dev build-essential libssl-dev libffi-dev libmysqlclient-dev libjpeg-dev libpq-dev libjpeg8-dev liblcms2-dev libblas-dev libatlas-base-dev |
Python 依赖安装好之后,还需要安装一些前端所需的依赖包:
1 2 3 4 |
sudo apt-get install -y npm sudo ln -s /usr/bin/nodejs /usr/bin/node sudo npm install -g less less-plugin-clean-css sudo apt-get install -y node-less |
3、数据库安装
Odoo 使用的数据库依然是PostgreSQL,用户可采用 peer 或密码方式进行数据连接(/etc/postgresql/x.x/main/pg_hba.conf)
1 2 3 4 5 6 7 8 9 10 |
sudo apt-get install postgresql sudo su - postgres # 创建一个odoo16用户,也可直接创建一个与接下来的用户名相同的用户 createuser --createdb --username postgres --no-createrole --no-superuser --pwprompt odoo16 # 超级用户权限(可选) psql ALTER USER odoo16 WITH SUPERUSER; # 退出 \q exit |
4、创建系统用户
1 |
sudo adduser --system --home=/opt/odoo --group odoo |
5、克隆 Github 仓库代码:
1 2 3 4 5 6 |
sudo apt-get install git # 切换至 odoo 用户 sudo su - odoo -s /bin/bash # 克隆最新代码至 odoo 家目录 git clone https://www.github.com/odoo/odoo --depth 1 --branch master --single-branch . exit |
6、安装其它依赖
1 2 3 4 5 |
sudo pip3 install -r /opt/odoo/requirements.txt # 安装 PDF报告所使用到的Wkhtmltopdf sudo wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.5/wkhtmltox_0.12.5-1.bionic_amd64.deb sudo dpkg -i wkhtmltox_0.12.5-1.bionic_amd64.deb sudo apt install -f |
如在 odoo 用户下使用 sudo,需编辑/etc/sudoers
7、配置文件
1 2 |
sudo cp /opt/odoo/debian/odoo.conf /etc/odoo.conf sudo vi /etc/odoo.conf |
修改其中的admin密码及db_password。
1 2 3 4 5 6 7 8 9 |
[options] ; This is the password that allows database operations: admin_passwd = admin db_host = False db_port = False db_user = odoo16 db_password = False addons_path = /opt/odoo/addons logfile = /var/log/odoo/odoo.log |
- db_user: 数据库用户名
- db_password: 创建数据库用户时所设置的密码
- admin_passwd: 用于管理数据库增删改查等操作的超级用户。
- db_host: 数据库主机
- db_port: 数据库端口
- addons_path: Odoo 的插件目录,有多个目录时用逗号分隔
- logfile: 日志文件路径
为 odoo 用户设置访问权限:
1 2 |
sudo chown odoo: /etc/odoo.conf sudo chmod 640 /etc/odoo.conf |
添加日志目录用于存储日志,便于查看运行过程中出现的报错:
1 2 |
sudo mkdir /var/log/odoo sudo chown odoo:root /var/log/odoo |
8、系统服务配置
1 |
sudo vi /etc/systemd/system/odoo.service |
添加类似如下内容
1 2 3 4 5 6 7 8 9 10 |
[Unit] Description=Odoo Documentation=http://www.odoo.com [Service] # Ubuntu/Debian convention: Type=simple User=odoo ExecStart=/opt/odoo/odoo-bin -c /etc/odoo.conf [Install] WantedBy=default.target |
设置该文件的权限
1 2 |
sudo chmod 755 /etc/systemd/system/odoo.service sudo chown root: /etc/systemd/system/odoo.service |
启动服务
1 2 3 |
sudo systemctl start odoo.service # 查看服务启动状态 sudo systemctl status odoo.service |
在浏览器中输入 URL 进行访问:
1 |
“http://<your_domain_or_IP_address>:8069” |
常见问题
- psycopg2.errors.UndefinedFunction: function jsonb_path_query_array(jsonb, unknown) does not exist
Odoo 16中所用到的方法需要使用至少 PostgreSQL 12
参考链接:https://www.cybrosys.com/blog/how-to-install-odoo-15-on-ubuntu-2004-lts-server