安装先决条件
在开始安装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。以下是安装步骤:
- 切换到系统用户:
sudo su - odoo14
- 克隆Odoo 14源代码:
git clone https://www.github.com/odoo/odoo --depth 1 --branch 14.0 /opt/odoo14/odoo
- 创建Python虚拟环境并激活它:
cd /opt/odoo14 python3 -m venv odoo-venv source odoo-venv/bin/activate
- 使用pip3安装所需的Python模块:
pip3 install wheel pip3 install -r odoo/requirements.txt
- 创建自定义插件目录:
mkdir /opt/odoo14/odoo-custom-addons
- 离开虚拟环境:
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安装成功。
将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
暂无评论内容