ubuntu系统搭建odoo16

前提:云服务

服务器配置
在这里插入图片描述
创建系统用户和用户组:odoo16,后续操作均用odoo16执行, 不要用root

# 创建一个新的用户组,组名为 mygroup
sudo groupadd mygroup
 
# 创建一个新的用户,用户名为 myuser,并指定主组为 mygroup
sudo useradd -g mygroup myuser
 
# 设置或更改用户密码
sudo passwd myuser

一、更新软件列表

sudo apt-get update 
sudo apt-get upgrade

二、Odoo16需要 Python 3.7 或更高版本才能运行,检查是否已安装

在这里插入图片描述
安装Python

sudo apt-get install -y python3-pip

三、安装依赖

sudo apt-get install python-dev python3-dev build-essential libjpeg-dev libpq-dev libjpeg8-dev libxml2-dev libssl-dev libffi-dev libmysqlclient-dev libxslt1-dev zlib1g-dev libsasl2-dev libldap2-dev liblcms2-dev 

web依赖

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

四、安装Wkhtmltopdf, odoo报表打印必须插件

# 创建文件夹
sudo mkdir odoo16
sudo wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.5/wkhtmltox_0.12.5-1.bionic_amd64.deb
sudo apt-get -f install
sudo dpkg -i wkhtmltox_0.12.5-1.bionic_amd64.deb 

五、安装数据库PostgreSQ

sudo apt-get install postgresql

六、创建用于处理Odoo数据库的数据库用户角色

sudo su - postgres

# 接下来,应该为不同用户定义一个密码,稍后在conf文件中需要这个密码
createuser --createdb --username postgres --no-createrole --no-superuser --pwprompt odoo16
# 为odoo16设置密码

# 将定义的用户设置为超级用户
psql
ALTER USER odoo16 WITH SUPERUSER;

# 退出psql和Postgres用户
\q 
exit

七、下载odoo16源码,放在/home/odoo目录下

在这里插入图片描述

sudo apt-get install git
git clone --branch 16.0 --single-branch https://www.github.com/odoo/odoo.git odoo16.0

八、安装所需的Python包,Odoo需要安装一些python包,这些包列在odoo16目录下的requirement.txt文件中

在这里插入图片描述

cd odoo-16.0
sudo pip3 install -r requirements.txt

九、在源码根目录下创建 odoo.conf

将以下块粘贴到odoo.conf文件中,您应该更改db_password,这是您在前面的步骤中为数据库用户odoo16设置的密码

[options]
; Is This The Password That Allows Database Operations:
admin_passwd = admin
db_host = localhost
db_port = 5432
db_user = odoo16
db_password = (db_user=odoo16的密码)
addons_path = /home/odoo/odoo-16.0/addons
http_port = 8069

十、启动ODOO服务

/home/odoo/odoo-16.0/odoo-bin -c /home/odoo/odoo-16.0/odoo.conf

十一、浏览器访问ODOO16, http://云服务IP:8069

在这里插入图片描述

十二、设置服务自启动

1. 创建serivice文件,/etc/systemd/system/odoo16.service

输入如下内容

[Unit]
Description=odoo16
After=postgresql.service

[Service]
Type=simple
User=odoo16
Group=odoo16
ExecStart=/home/odoo/odoo-16.0/odoo-bin -c /home/odoo/odoo-16.0/odoo.conf
StandardOutput=journal+console

[Install]
WantedBy=multi-user.target
# 通知systemd我们创建了一个新的单元文件并通过执行以下命令来启动Odoo服务:
sudo systemctl daemon-reload

# 启动服务命令:
sudo systemctl start odoo16

# 使用以下命令检查服务状态:
sudo systemctl status odoo16

# 如果没有错误,您可以启用Odoo服务在启动时自动启动:
sudo systemctl enable odoo16

# 如果你想查看Odoo服务记录的消息,你可以使用下面的命令:
sudo journalctl -u odoo16

十三、错误解决

1. 系统打印报表报错:在此系统上找不到Wkhtmltopdf。报表将以html格式显示

解决措施

sudo apt-get -f install
sudo dpkg -i wkhtmltox_0.12.5-1.bionic_amd64.deb 
2. 打印报表,中文字体乱码
# 安装中文字体
sudo apt-get install ttf-wqy-zenhei -y
# 重启系统,输入命令
reboot
3. 切换ODOO16用户,执行sudo命令报错:odoo16 is not in the sudoers file. This incident will be reported.

在这里插入图片描述

# 1.以 root 用户登录
su root
# 2.输入命令 
visudo  /etc/sudoers
# 在打开的文件中,添加
odoo16  ALL=(ALL:ALL) ALL
# 然后按 Ctrl+O 保存文件,如果提示输入文件名,确认或输入文件名,然后按回车
# 编辑完成后按 Ctrl+X 退出 nano
4. 停止ODOO16服务后,还是提示端口被占用(Address already in use)
# 找到ODOO服务的端口号,查看进程
sudo lsof -i:8069
# 关闭进程
sudo kill PID
# 重新启动ODOO服务即可
sudo systemctl odoo16 restart
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值