在虚拟环境中安装Odoo 14 以及使用Nginx作为反向代理的部署

图片[1]-在虚拟环境中安装Odoo 14 以及使用Nginx作为反向代理的部署-山海云端论坛

安装先决条件

在开始安装Odoo 14之前,首先需要安装一些先决条件。请运行以下命令以安装所需的软件包和工具:

sudo apt update sudo apt install git python3-pip build-essential wget python3-dev python3-venv \ python3-wheel libfreetype6-dev libxml2-dev libzip-dev libldap2-dev libsasl2-dev \ python3-setuptools node-less libjpeg-dev zlib1g-dev libpq-dev \ libxslt1-dev libldap2-dev libtiff5-dev libjpeg8-dev libopenjp2-7-dev \ liblcms2-dev libwebp-dev libharfbuzz-dev libfribidi-dev libxcb1-dev

创建一个系统用户

为了提高安全性,我们将创建一个专门用于运行Odoo服务的系统用户。您可以使用以下命令创建该用户:

sudo useradd -m -d /opt/odoo14 -U -r -s /bin/bash odoo14

安装和配置PostgreSQL

Odoo需要使用PostgreSQL作为其数据库后端。您可以使用以下命令安装PostgreSQL:

shellCopy code

sudo apt install postgresql

安装完成后,为Odoo创建一个与系统用户相对应的PostgreSQL用户:

sudo su - postgres -c "createuser -s odoo14"

安装wkhtmltopdf

为了支持PDF报告,您需要安装wkhtmltopdf工具。以下是下载和安装wkhtmltopdf的命令:

sudo wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6-1/wkhtmltox_0.12.6-1.bionic_amd64.deb sudo apt install ./wkhtmltox_0.12.6-1.bionic_amd64.deb

安装和配置Odoo 14

我们将使用Python虚拟环境安装Odoo 14。以下是安装步骤:

  1. 切换到系统用户:sudo su - odoo14
  2. 克隆Odoo 14源代码:git clone https://www.github.com/odoo/odoo --depth 1 --branch 14.0 /opt/odoo14/odoo
  3. 创建Python虚拟环境并激活它:cd /opt/odoo14 python3 -m venv odoo-venv source odoo-venv/bin/activate
  4. 使用pip3安装所需的Python模块:pip3 install wheel pip3 install -r odoo/requirements.txt
  5. 创建自定义插件目录:mkdir /opt/odoo14/odoo-custom-addons
  6. 离开虚拟环境:deactivate

创建系统单位文件

创建Odoo 14的系统单位文件以管理其服务。以下是创建该文件的命令:

sudo nano /etc/systemd/system/odoo14.service

在打开的文件中,添加以下内容:

[Unit] Description=Odoo14 Requires=postgresql.service After=network.target postgresql.service [Service] Type=simple SyslogIdentifier=odoo14 PermissionsStartOnly=true User=odoo14 Group=odoo14 ExecStart=/opt/odoo14/odoo-venv/bin/python3 /opt/odoo14/odoo/odoo-bin -c /etc/odoo14.conf StandardOutput=journal+console [Install] WantedBy=multi-user.target

保存并关闭文件。然后通知systemd新的单位文件已创建:

sudo systemctl daemon-reload

启动Odoo 14服务并设置其在系统启动时自动启动:

sudo systemctl enable --now odoo14

可以使用以下命令验证服务状态:

sudo systemctl status odoo14

测试安装

在浏览器中输入Odoo的地址(通常为http://<your_domain_or_IP_address>:8069),并确保能够访问Odoo界面。这标志着Odoo安装成功。

图片[2]-在虚拟环境中安装Odoo 14 以及使用Nginx作为反向代理的部署-山海云端论坛

将Nginx配置为SSL终止代理

为了提高安全性,我们将Nginx配置为SSL终止代理。这将使Odoo通过HTTPS提供服务。以下是Nginx配置文件的示例:

sudo nano /etc/nginx/sites-enabled/example.com

替换example.com为您的域名,并设置正确的SSL证书路径。以下是示例配置文件的内容:

# Odoo servers upstream odoo { server 127.0.0.1:8069; } upstream odoochat { server 127.0.0.1:8072; } # HTTP -> HTTPS server { listen 80; server_name www.example.com example.com; include snippets/letsencrypt.conf; return 301 https://example.com$request_uri; } # WWW -> NON WWW server { listen 443 ssl http2; server_name www.example.com; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem; include snippets/ssl.conf; include snippets/letsencrypt.conf; return 301 https://example.com$request_uri; } server { listen 443 ssl http2; server_name example.com; proxy_read_timeout 720s; proxy_connect_timeout 720s; proxy_send_timeout 720s; # Proxy headers proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Real-IP $remote_addr; # SSL parameters ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem

© 版权声明
THE END
喜欢就支持一下吧
点赞7 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容