虽然odoo17已经在10月份发布了,但笔者并不愿意立时升级:一方面没有迫切的需要去升级,仿佛没有odoo17就没法后续的工作一样;另一方面,我倒是更希望在双数版本发布的时候再升级。为此继续使用odoo16,也记录下odoo16在ubuntu服务器上的安装过程。
1.下载源码可以通过以下3种途径:
Download | Odoo
https://github.com/odoo/odoo
Odoo Nightly builds
2.通常我们使用git进行源码克隆,检查是否已安装git:
#检查是否安装git
git --version
#如果没有安装则执行安装操作
sudo apt-get install git
3.如果已经安装,则切换到你想要的源码克隆路径,执行以下命令:
#--branch 16.0 指定要克隆的分支,这里是 Odoo 16 的分支。
#--single-branch 表示只克隆指定的分支,这可以帮助减少克隆的数据量。
#https://www.github.com/odoo/odoo.git 是 Odoo 代码库的 HTTPS 克隆 URL。
#odoo16 是本地目录的名称,你可以根据需要修改。
git clone --branch 16.0 --single-branch https://www.github.com/odoo/odoo.git odoo16
Python环境
1.Odoo16需要 Python 3.7 或更高版本才能运行,检查是否已安装:
#检查python版本
python3 --version
#验证此版本是否安装了php
pip3 --version
2.如果没有安装则执行以下命令进行安装:
sudo apt-get install -y python3-pip
PostgreSQL数据库
1.下载与安装:
sudo apt install postgresql postgresql-client
2.安装过程中会创建默认的用户postgres,由于Odoo禁止使用 postgres 连接,所以需要创建一个新的PostgreSQL用户:
#1.切换到postgres用户
su postgres
#2.创建odoo16用户
createuser --createdb --username postgres --no-createrole --no-superuser --pwprompt odoo16
#3.给用户授权
psql
ALTER USER odoo16 WITH SUPERUSER;
#4.退出
exit
3.修改postgresql配置文件:
vi /etc/postgresql/14/main/pg_hba.conf
#将本地用户连接方法由peer改为md5
# "local" is for Unix domain socket connections only
local all all md5
4.重新启动postgresql服务:
service postgresql restart
安装依赖项
1.软件包在Odoo源代码的 debian/control文件中列出,执行以下命令安装:
cd /odoo源码路径
#执行安装命令
sed -n -e '/^Depends:/,/^Pre/ s/ python3-\(.*\),/python3-\1/p' debian/control | sudo xargs apt-get install -y
安装wkhtmltopdf
1.在 Odoo 中wkhtmltopdf是用于将 HTML 转换为 PDF 的工具,通常用于报表生成等任务。
2.到 wkhtmltopdf 下载对应操作系统版本的安装包,然后安装。
3.以ubuntu22.04为例的安装命令:
wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6.1-2/wkhtmltox_0.12.6.1-2.jammy_amd64.deb
sudo dpkg -i wkhtmltox_0.12.6.1-2.jammy_amd64.deb
sudo apt-get -f install
4.检查是否安装成功:
wkhtmltopdf --version
配置并启动odoo16
1.在源码根目录中创建配置文件odoo.conf:
[options]
; This is the password that allows database operations:
admin_passwd = ******
db_host = False
db_port = False
db_user = odoo16
db_password = ******
addons_path = /opt/odoo16/test/odoo/addons/,/opt/odoo16/test/addons/,/opt/odoo16/test/custom_addons/
http_port = 8000
default_productivity_apps = True
2.启动odoo16:
python3 /opt/odoo16/test/odoo-bin -c /opt/odoo16/test/odoo.conf
3.在浏览器种通过ip地址和端口号访问站点: