如何在 Ubuntu 20.04 上安装 Odoo 14 ERP 软件如何在 Ubuntu 20.04 上安装 Odoo 14 ERP 软件如何在 Ubuntu 20.04 上安装 Odoo 14 ERP 软件如何在 Ubuntu 20.04 上安装 Odoo 14 ERP 软件
  • 业务
  • 目标
  • 支持
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容

如何在 Ubuntu 20.04 上安装 Odoo 14 ERP 软件

发表 admin at 2025年2月28日
类别
  • 未分类
标签

本教程适用于这些操作系统版本

  • Ubuntu 15.04(Vivid Vervet)

在此页

  1. 先决条件
  2. 配置防火墙规则
  3. 分配主机名
  4. 安装和配置 PostgreSQL
    1. 配置基于主机的身份验证
    2. 配置PostgreSQL监听地址
    3. 启用并启动 PostgreSQL 服务

    1. 安装依赖项并准备安装
    2. 下载 Odoo 文件
    3. 设置 Virtualenv Python 环境
    4. 安装 Python 依赖项

    1. 创建 Odoo 服务
    2. 设置文件权限
    3. 启动 Odoo 服务器

    Odoo(以前称为 OpenERP)是一个包含 10,000 多个开源应用程序的自托管套件,适用于各种业务需求,包括 CRM、电子商务、会计、库存、项目管理和销售点。这些应用程序完全集成并可通过通用 Web 界面进行访问。

    在本教程中,我们将学习在基于 Ubuntu 20.04 的服务器上安装 Odoo 14 Stack。

    先决条件

    1. A Ubuntu 20.04 based server with a minimum of 2GB RAM to host Odoo Stack.

    2. A second Ubuntu 20.04 based server with a minimum of 2GB RAM for hosting the PostgreSQL database. You can however install the database on the same server as Odoo but for production environments, it is highly recommended that you install it on a separate server. You can also choose any of the managed database options available from any provider of your choice.

    3. RAM requirement will depend on the number of concurrent users that will be using the stack. A detailed guide on how to calculate system requirements can be found in Odoo's documentation.

    4. Keep your systems updated.

      $ sudo apt update
      $ sudo apt upgrade
      
    5. A non-root user with sudo privileges on both servers.

    配置防火墙规则

    出于本教程的目的,我们假设您在两台服务器上都安装了 ufw 防火墙。

    在 Odoo 服务器上,我们需要打开端口 22、80、443、6010、5432 和 8069。 22 用于 SSH,80 用于 HTTP,443 用于 HTTPS,6010 用于 Odoo 通信,5432 用于 PostgreSQL,8069 用于 Odoo 服务器应用程序。

    运行以下命令在 Odoo 服务器上打开所需的端口。

    $ sudo ufw allow "OpenSSH"
    $ sudo ufw allow 80,443,6010,5432,8069,8072/tcp
    $ sudo ufw allow 80/tcp
    $ sudo ufw allow 443/tcp
    $ sudo ufw allow 6010/tcp
    $ sudo ufw allow 5432/tcp
    $ sudo ufw allow 8069/tcp
    $ sudo ufw allow 8072/tcp
    

    在 PostgreSQL 服务器上,我们需要打开端口 22、6010 和 5432。使用我们刚才讨论的命令打开它们。

    分配主机名

    您可以使用服务器的 IP 地址或使用它们的完全限定域名 (FQDN)(如果可用)。对于我们的教程,我们将使用 FQDN,为此,我们需要在两台服务器上设置主机名。

    在 Odoo 服务器上,打开 /etc/hosts 文件。

    $ sudo nano /etc/hosts
    

    确保它看起来像下面这样。

    127.0.0.1 	localhost
    127.0.0.1	odoo.yourdomain.com		odoo
    10.1.1.10	postgresql.yourdomain.com	postgresql
    

    在 PostgreSQL 服务器上,打开文件并确保其如下所示。

    127.0.0.1 	localhost
    127.0.0.1	postgresql.yourdomain.com	postgresql
    10.1.2.10	odoo.yourdomain.com		odoo
    

    按 Ctrl + X 关闭编辑器,并在提示保存文件时按 Y。

    安装和配置 PostgreSQL

    Ubuntu 20.04 默认附带 PostgreSQL 12,我们将安装它。在 PostgreSQL 服务器上运行以下命令。

    $ sudo apt install postgresql-12 postgresql-server-dev-12
    

    接下来,我们需要创建一个数据库用户 odoo.

    $ sudo -u postgres createuser odoo -U postgres -dP
    

    选项 -u 以 postgres 用户身份执行命令。

    选项 -U 表示连接的用户名。

    选项 -d 授予用户创建数据库的权限。

    选项 -p 提示输入新用户密码。

    配置基于主机的身份验证

    我们需要授予 PostgreSQL 服务权限才能连接到 Odoo 服务器。

    首先,停止 PostgreSQL 服务。

    $ sudo systemctl stop postgresql
    

    打开文件 /etc/postgresql/12/main/pg_hba.conf 进行编辑。

    $ sudo nano /etc/postgresql/12/main/pg_hba.conf
    

    在末尾粘贴以下行。

    host		all		odoo		odoo.yourdomain.com		md5
    

    此行向 odoo 用户授予连接到此服务器中所有数据库的权限。您也可以指定数据库的名称,而不是使用 all 关键字。

    按 Ctrl + X 关闭编辑器,并在提示保存文件时按 Y。

    配置PostgreSQL监听地址

    接下来,我们需要让数据库服务器监听远程连接。打开文件 /etc/postgresql/12/main/postgresql.conf 进行编辑。

    $ sudo nano /etc/postgresql/12/main/postgresql.conf
    

    将 listen_addresses 行从

    #listen_addresses = 'localhost' # what IP address(es) to listen on;
    

    到。

    #From CONNECTIONS AND AUTHENTICATION Section
    listen_addresses = '*'
    

    * 表示它将监听所有的 IP 地址。您可以将其更改为您的 odoo 实例的 IP 地址。

    按 Ctrl + X 关闭编辑器,并在提示保存文件时按 Y。

    启用并启动 PostgreSQL 服务

    由于我们的配置已完成,是时候启动并启用 PostgreSQL 服务了。

    $ sudo systemctl start postgresql && sudo systemctl enable postgresql
    

    安装 Odoo

    安装依赖项并准备安装

    创建一个新的系统用户来管理 Odoo 服务器上的 Odoo 进程。

    $ sudo adduser --system --home=/opt/odoo --group odoo
    

    我们需要安装一些系统依赖项,但首先,我们需要启用源代码库。为此,请备份原始源列表,然后启用所有源存储库并更新存储库列表。

    $ sudo cp /etc/apt/sources.list /etc/apt/sources.list~
    $ sudo sed -Ei 's/^# deb-src /deb-src /' /etc/apt/sources.list
    $ sudo apt update
    

    安装 Odoo 14 设置所需的系统依赖项。

     $ sudo apt install python3-pip python3-suds python3-all-dev python3-venv python3-dev python3-setuptools python3-tk libxml2-dev libxslt1-dev libevent-dev libsasl2-dev libldap2-dev pkg-config libtiff5-dev libjpeg8-dev libjpeg-dev zlib1g-dev libfreetype6-dev liblcms2-dev liblcms2-utils libwebp-dev tcl8.6-dev tk8.6-dev libyaml-dev fontconfig xfonts-75dpi xfonts-base xfonts-encodings xfonts-utils libpq-dev
    $ sudo apt build-dep lxml
    

    安装节点。

    $ sudo curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -
    $ sudo apt install nodejs
    

    使用 Node 安装 Less CSS 包。

    $ sudo npm install -g less less-plugin-clean-css
    

    下载 wkhtmltopdf 版本 0.12.6 包。

    $ cd /tmp
    $ wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6-1/wkhtmltox_0.12.6-1.focal_amd64.deb
    

    安装软件包。

    $ sudo dpkg -i wkhtmltox_0.12.6-1.focal_amd64.deb
    

    为确保 wkhtmltopdf 正常运行,将二进制文件复制到 /usr/bin 并授予它们适当的权限。

    $ sudo cp /usr/local/bin/wkhtmlto* /usr/bin/
    $ sudo chmod a+x /usr/bin/wk*
    $ cd ~
    

    下载 Odoo 文件

    将 Odoos Github 存储库克隆到您的系统。

    $ sudo git clone https://github.com/odoo/odoo.git --depth 1 --branch 14.0 --single-branch /opt/odoo
    

    出于我们的目的,我们将 Odoo 从安装位置复制到 /opt/odoo 目录。

    设置 Virtualenv Python 环境

    此步骤是可选的,但建议执行,因为 Odoo 的虚拟 Python 环境将有助于避免与操作系统的 Python 模块发生冲突,尤其是在执行操作系统升级时。

    为此,我们将使用 virtualenv。

    1. Create a new virtualenv environment for Odoo.

      $ python3 -m venv /home/<username>/odoo-env
      
    2. Activate the virtual environment. We are creating an environment under the system user's home directory. You are free to choose any location you like.

      $ source /home/<username>/odoo-env/bin/activate
      
    3. Update PIP just in case.

      (odoo-env) $ pip3 install --upgrade pip
      
    4. Install Python's wheel in the virtual environment.

      $ pip3 install wheel
      

    安装 Python 依赖项

    安装 Odoo 14 所需的 Python 依赖项。

    $ pip3 install -r /opt/odoo/doc/requirements.txt
    $ pip3 install -r /opt/odoo/requirements.txt
    

    安装这些要求需要一些时间,所以请耐心等待。

    通过检查已安装的 Python 模块列表来检查是否正确安装了要求。

    $ pip3 list
    Package                       Version
    ----------------------------- ---------
    alabaster                     0.7.12
    appdirs                       1.4.4
    attrs                         20.3.0
    Babel                         2.6.0
    beautifulsoup4                4.9.3
    cached-property               1.5.2
    certifi                       2020.12.5
    chardet                       3.0.4
    decorator                     4.3.0
    defusedxml                    0.7.1
    docutils                      0.14
    ebaysdk                       2.1.5
    feedparser                    5.2.1
    freezegun                     0.3.15
    gevent                        20.9.0
    greenlet                      0.4.17
    html2text                     2018.1.9
    idna                          2.6
    imagesize                     1.2.0
    isodate                       0.6.0
    Jinja2                        2.11.2
    libsass                       0.17.0
    lxml                          4.6.1
    Mako                          1.0.7
    MarkupSafe                    1.1.0
    num2words                     0.5.6
    ofxparse                      0.19
    packaging                     20.9
    passlib                       1.7.1
    Pillow                        8.0.1
    pip                           21.0.1
    pkg-resources                 0.0.0
    polib                         1.1.0
    psutil                        5.6.6
    psycopg2                      2.8.5
    pyasn1                        0.4.8
    pyasn1-modules                0.2.8
    pydot                         1.4.1
    Pygments                      2.8.1
    pyparsing                     2.4.7
    PyPDF2                        1.26.0
    pyserial                      3.4
    python-dateutil               2.7.3
    python-ldap                   3.1.0
    python-stdnum                 1.8
    pytz                          2019.1
    pyusb                         1.0.2
    qrcode                        6.1
    reportlab                     3.5.55
    requests                      2.21.0
    requests-toolbelt             0.9.1
    setuptools                    44.0.0
    six                           1.15.0
    snowballstemmer               2.1.0
    soupsieve                     2.2
    Sphinx                        3.5.2
    sphinx-patchqueue             1.0.4
    sphinxcontrib-applehelp       1.0.2
    sphinxcontrib-devhelp         1.0.2
    sphinxcontrib-htmlhelp        1.0.3
    sphinxcontrib-jsmath          1.0.1
    sphinxcontrib-qthelp          1.0.3
    sphinxcontrib-serializinghtml 1.1.4
    unidiff                       0.6.0
    urllib3                       1.24.3
    vobject                       0.9.6.1
    Werkzeug                      0.16.1
    wheel                         0.36.2
    xlrd                          1.2.0
    XlsxWriter                    1.1.2
    xlwt                          1.3.0
    zeep                          3.2.0
    zope.event                    4.5.0
    zope.interface                5.2.0
    

    退出 Python 虚拟环境。

    $ deactivate
    

    配置 Odoo

    复制默认的 Odoo 配置文件以创建一个新配置文件。

    $ sudo cp /opt/odoo/debian/odoo.conf /etc/odoo-server.conf
    

    打开文件进行编辑。

    $ sudo nano /etc/odoo-server.conf
    

    编辑该文件,使其如下所示。

    [options]
    ; This is the password that allows database operations:
    admin_passwd = admin
    db_host = postgresql.yourdomain.com
    db_port = False
    db_user = odoo
    db_password = odoo_password
    addons_path = /opt/odoo/addons
    xmlrpc_port = 8069
    

    按 Ctrl + X 关闭编辑器,并在提示保存文件时按 Y。

    选项 admin_passwd 是允许在 Odoo GUI 中进行管理操作的密码。请务必选择一个安全的密码。

    选项 db_host 是 PostgreSQL 服务器的 FQDN 或 IP 地址。

    由于正在使用默认的 PostgreSQL 端口 5432,因此选项 db_port 设置为 false。如果您想使用不同的端口,则需要更新此值。

    选项 db_user 是 PostgreSQL 用户的名称。

    选项 db_password 是我们之前在 PostgreSQL 服务器上创建的 PostgreSQL odoo 用户密码。

    选项 addons_path 是默认的 Addons 路径。您还可以为插件添加自定义路径,用逗号分隔它们。

    选项 xmlrpc_port 是 Odoo 监听的端口。

    创建 Odoo 服务

    为了确保即使在系统重启后 Odoo 也能继续运行,我们需要为它创建一个服务。

    创建文件 /lib/systemd/system/odoo-server.service 并打开它进行编辑。

    $ sudo nano /lib/systemd/system/odoo-server.service
    

    将以下代码粘贴到其中。

    [Unit]
    Description=Odoo Open Source ERP and CRM
    
    [Service]
    Type=simple
    PermissionsStartOnly=true
    SyslogIdentifier=odoo-server
    User=odoo
    Group=odoo
    ExecStart=/home/<username>/odoo-env/bin/python3 /opt/odoo/odoo-bin --config=/etc/odoo-server.conf --addons-path=/opt/odoo/addons/
    WorkingDirectory=/opt/odoo/
    StandardOutput=journal+console
    
    [Install]
    WantedBy=multi-user.target
    

    将 /home/ 替换为您选择用于安装 Python 虚拟环境的位置。

    按 Ctrl + X 关闭编辑器,并在提示保存文件时按 Y。

    设置文件权限

    在 odoo-server.service 文件上设置权限,以便只有 Odoo 用户可以读取或执行它。

    $ sudo chmod 755 /lib/systemd/system/odoo-server.service
    $ sudo chown odoo: /lib/systemd/system/odoo-server.service
    

    设置 Python 环境和 Odoo 安装目录的所有权。

    $ sudo chown -R odoo: /opt/odoo/
    $ sudo chown -R odoo: /home/<username>/odoo-env
    

    限制 Odoo 配置文件。

    $ sudo chown odoo: /etc/odoo-server.conf
    $ sudo chmod 640 /etc/odoo-server.conf
    

    启动 Odoo 服务器

    启动并启用 Odoo 服务器。

    $ sudo systemctl start odoo-server
    $ sudo systemctl enable odoo-server
    

    检查服务器的状态。

    $ sudo systemctl status odoo-server
    

    在浏览器中,打开 URL http://:8069 或 http://odoo.yourdomain.com:8069。如果一切正常,您应该会看到 Odoos 数据库创建屏幕。

    填写所有字段。检查 Demo Data 字段以使用示例数据填充数据库,然后单击创建数据库按钮。

    接下来,您将看到一个可以选择的应用程序列表。

    第一次创建数据库时,加载项页面需要一些时间来加载,所以不要刷新页面。

    安装和配置 Nginx

    到目前为止,我们一直在使用 Odoos 服务器来运行堆栈。但理想情况下,最好使用代理在 Nginx 上运行它,因为这将允许我们在其上安装 SSL。

    安装 Nginx。

    $ sudo apt install nginx
    

    要通过 Nginx 运行它,我们需要在本地主机上运行 Odoo。要更改它,请停止 Odoo 服务。

    $ sudo systemctl stop odoo-server
    

    打开 Odoo 服务器配置文件。

    $ sudo nano /etc/odoo-server.conf
    

    向其中添加以下行。

    xmlrpc_interface = 127.0.0.1
    proxy_mode = True
    

    为 Odoo 创建一个 Nginx 配置文件。

    $ sudo nano /etc/nginx/sites-available/odoo.conf
    

    粘贴下面的代码。

    #odoo server
    upstream odoo {
     server 127.0.0.1:8069;
    }
    upstream odoochat {
     server 127.0.0.1:8072;
    }
    
    # http -> https
    server {
       listen 80;
       server_name odoo.yourdomain.com;
       rewrite ^(.*) https://$host$1 permanent;
    }
    
    server {
     listen 443 ssl http2;
     server_name odoo.yourdomain.com;
     proxy_read_timeout 720s;
     proxy_connect_timeout 720s;
     proxy_send_timeout 720s;
    
     # Add Headers for odoo proxy mode
     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/odoo.yourdomain.com/fullchain.pem;
     ssl_certificate_key /etc/letsencrypt/live/odoo.yourdomain.com/privkey.pem;
     ssl_session_timeout 1d;
     ssl_session_cache shared:MozSSL:10m;  # about 40000 sessions
     ssl_session_tickets off;
     ssl_protocols TLSv1.2 TLSv1.3;
     ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
     ssl_prefer_server_ciphers off;
     ssl_dhparam /etc/ssl/certs/dhparam.pem;
    
     # log
     access_log /var/log/nginx/odoo.access.log;
     error_log /var/log/nginx/odoo.error.log;
    
     # Redirect longpoll requests to odoo longpolling port
     location /longpolling {
     proxy_pass http://odoochat;
     }
    
     # Redirect requests to odoo backend server
     location / {
       proxy_redirect off;
       proxy_pass http://odoo;
     }
    
     # common gzip
     gzip_types text/css text/scss text/plain text/xml application/xml application/json application/javascript;
     gzip on;
    }
    

    按 Ctrl + X 关闭编辑器,并在提示保存文件时按 Y。

    通过将此配置文件链接到 sites-enabled 目录来激活它。

    $ sudo ln -s /etc/nginx/sites-available/odoo.conf /etc/nginx/sites-enabled/
    

    测试 Nginx 配置。

    $ sudo nginx -t
    

    安装 SSL

    我们将使用 Lets Encrypt 服务安装 SSL。

    为此,安装 Certbot。

    $ sudo apt install certbot
    

    停止 Nginx,因为它会干扰 Certbot 进程。

    $ sudo systemctl stop nginx
    

    生成证书。我们还需要创建一个 DHParams 证书。

    $ sudo certbot certonly --standalone -d odoo.yourdomain.com --preferred-challenges http --agree-tos -n -m  --keep-until-expiring 
    $ sudo systemctl start nginx
    $ sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048
    

    我们还需要设置一个 cron 作业来自动更新 SSL。要打开 crontab 编辑器,请运行以下命令。

    $ sudo crontab -e
    

    将以下行粘贴到底部。

    25 2 * * * /usr/bin/certbot renew --quiet --pre-hook “systemctl stop nginx” --post-hook “systemctl start nginx”
    

    上面的 cron 作业将在每天凌晨 2:25 运行 certbot。您可以将其更改为任何您想要的。

    通过按 Ctrl + X 并在出现提示时输入 Y 来保存文件。

    启动Odoo

    现在一切都设置好了,我们可以再次启动 Odoo 服务器。

    $ sudo systemctl start odoo-server
    

    通过 https://odoo.yourdomain.com 在浏览器中启动 Odoo。您将看到前面描述的屏幕。输入创建数据库所需的详细信息,您应该登录到 Odoo 并看到这样的屏幕。

    结论

    我们关于在 Ubuntu 20.04 服务器上安装 Odoo 的教程到此结束。如果您有任何问题,请在下面的评论中发表。

©2015-2025 Norria support@alaica.com