odoo16安装教程,全球第一开源ERP平台
虚拟机版本
ubuntu-22.10,本人用的是这个版本的ubuntu系统,也可以使用最新版本的。
准备工作
打开虚拟机,ubuntu系统。进入终端。

更新系统
sudo apt-get update
sudo apt-get upgrade
配置服务器安全
sudo apt-get install openssh-server fail2ban
创建系统用户odoo16
创建一个系统用户以确保安全和履行Odoo角色。该用户只能有限地访问Odoo中的某些文件和位置。之后,我们将限制此用户对链接到Odoo的所有文件和目录的访问
sudo adduser --system --home=/opt/odoo16 --group odoo16
安装所需要的包
Pip包:
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
这里可能会有点问题:不过没关系后面可以解决
一些依赖项:
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
安装Postgresql数据库
sudo apt-get install postgresql
设置超级用户:
sudo su – postgres
创建用户odoo16:
此外,您必须在此时更改用户Odoo16的密码。您必须在安装过程结束时在Odoo配置文件中输入新密码。
createuser --createdb --username postgres --no-createrole --no-superuser --pwprompt odoo16
将用户指定为超级用户才能获得更多权限
psql
ALTER USER odoo16 WITH SUPERUSER;
退出 psql 和 Postgres 用户:
q
exit
安装GIT,下载odoo16源码
sudo apt-get install git
进入git bash:
sudo su - odoo16 -s /bin/bash
使用git 命令下载源码
git clone https://www.github.com/odoo/odoo --depth 1 --branch 16.0 --single-branch
完成后退出git:
exit
下载python的工具包
使用用户odoo16进入源码文件
sudo su – odoo16
这里会有一个报错,当前账户不可用

要解决这个报错,我们先查看用户权限

可以看出,odoo16是/sbin/nologin禁止登录的。只要修改这个模式就可以了
sudo usermod -s /bin/bash odoo16

权限修改完成我们这时候就可以进入了


到这里我们就进入到了/opt/odoo16文件夹下了
开始下载包:我没有使用python venv环境
安装wheel:
pip install wheel
pip install --upgrade pip
pip install setuptools --upgrade
安装好wheel之后我们开始安装requirements.txt
pip install -r /opt/odoo16/requirements.txt

这时候出现2个错误:psycopg2、和python-ldap这2个包安装失败

这时候我们退回到根目录:
exit
使用命令安装python-ldap包的依赖:
sudo apt-get install libsasl2-dev python-dev libldap2-dev libssl-dev
但是他这里说被其他包占用了,我们将上面代码中的pyhton-dev 换成python-dev-is-python3

同样我们使用命令安装psycopg2包的依赖:这里代码我就不改了,希望你们能看懂报错,自己修改
sudo apt-get install libpq-dev python-dev
同样将上面代码中pyhton-dev 换成python-dev-is-python3

完成后我们继续安装requirements.txt
sudo su - odoo16
pip install -r /opt/odoo/requirements.txt
这样就完成了
安装wkhtmltopdf
sudo apt install wkhtmltopdf
设置confg文件
sudo cp /opt/odoo16/debian/odoo.conf
/etc/odoo16.conf
sudo nano /etc/odoo16.conf
修改配置文件
[options]
; This is the password that allows database operations:
admin_passwd = xuxin2000
db_host = 127.0.0.1
db_port = 5432
db_user = odoo16
db_password = odoo16
addons_path = /opt/odoo16/addons
logfile = /var/log/odoo/odoo16.log
修改好之后退出,输入下面代码
sudo chown odoo16: /etc/odoo16.conf
sudo chmod 640 /etc/odoo16.conf
sudo mkdir /var/log/odoo
sudo chown odoo16:root /var/log/odoo
odoo服务文件
sudo nano /etc/systemd/system/odoo16.service
[Unit]
Description=Odoo16
Documentation=http://www.odoo.com
[Service]
# Ubuntu/Debian convention:
Type=simple
User=odoo16
ExecStart=/opt/odoo16/odoo-bin -c /etc/odoo16.conf
[Install]
WantedBy=default.target
sudo chmod 755 /etc/systemd/system/odoo16.service
sudo chown root: /etc/systemd/system/odoo16.service
运行odoo16
sudo systemctl start odoo16.service
sudo systemctl status odoo16.service
在浏览器输入:
"http://<your_domain_or_IP_address>:8069"