#首先更新系统的软件包列表,并将现有软件包升级到最新版本
sudo apt update
sudo apt upgrade
#查看系统Python3版本
python3 -V
#安装Python 3.10
sudo apt-get install python3.10 -y
#查看系统已存在的所有python版本
ls -l /usr/bin/python*
#挂载多版本
update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 1
update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.10 2
设定默认版本
update-alternatives --config python3
#安装和配置 PostgreSQL
sudo apt install postgresql -y
#在安装过程中,当要求确认时,按“Y”继续。安装完成后,继续设置与上一步中选择的名称匹配的 Postgres 用户:
sudo su - postgres -c "createuser -s odoo17"
进入数据库
sudo -u postgres psql
查看Postgres版本
pg_config --version
退出数据库链接
\q
#安装 Wkhtmltopdf
wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6.1-3/wkhtmltox_0.12.6.1-3.jammy_amd64.deb
sudo apt install ./wkhtmltox_0.12.6.1-3.jammy_amd64.deb
#从源代码安装 Odoo
sudo git clone https://www.github.com/odoo/odoo --depth 1 --branch 17.0 --single-branch
#设置 Python 环境
#创建 Python 虚拟环境并激活它:
python3 -m venv venv && source venv/bin/activate
#安装Odoo所需的Python包:
pip3 install wheel
pip3 install -r requirements.txt
#设置 Odoo 配置文件
sudo vim /etc/odoo17.conf
[options]
; Database operations password:
admin_passwd = PASSWORD
db_host = False
db_port = False
db_user = odoo
db_password = False
addons_path = /opt/odoo17/odoo/addons,/opt/odoo17/odoo/custom_addons
logfile = /var/log/odoo17.log
log_level = debug
#查看日志
tail -f /var/log/odoo17.log
#制作 Odoo systemd 单元文件
sudo vim /etc/systemd/system/odoo17.service
[Unit]
Description=Odoo 17.0 Service
Requires=postgresql.service
After=network.target postgresql.service
[Service]
Type=simple
SyslogIdentifier=odoo
PermissionsStartOnly=true
User=odoo17
Group=odoo17
ExecStart=/opt/odoo17/odoo/venv/bin/python3 /opt/odoo17/odoo/odoo-bin -c /etc/odoo17.conf
StandardOutput=journal+console
[Install]
WantedBy=multi-user.target
重新加载 systemd 守护程序:
sudo systemctl daemon-reload
启动并启用Odoo服务:
sudo systemctl enable --now odoo17.service
检查服务的状态:
sudo systemctl status odoo17.service
sudo systemctl stop postgresql ### 关闭数据库服务
sudo systemctl status postgresql ### 确认数据库服务处于关闭状态
sudo apt-get purge 'postgresql-*' ### 卸载数据库
sudo apt-get autoremove 'postgresql-*' ### 卸载数据库依赖包
sudo rm -r /etc/postgresql/ ### 删除配置文件
sudo rm -r /etc/postgresql-common/ ### 删除配置文件
sudo rm -r /var/lib/postgresql/ ### 删除数据目录
sudo userdel -r postgres ### 删除用户
sudo groupdel postgres ### 删除用户组
安装Nginx
sudo apt install nginx -y
配置防火墙(443/80)
sudo ufw allow 80sudo ufw allow 443
验证防火墙是否已经放开
sudo ufw status
nginx启动命令
systemctl restart nginx # 启动nginxsystemctl status nginx
# 查看nginx状态
启动服务:sudo systemctl start odoo.service
停止服务:sudo systemctl stop odoo.service
重启服务:sudo systemctl restart odoo.service
查看服务状态:sudo systemctl status odoo.service