在本文中,我们将向您展示如何在CentOS 8 VPS上安装Odoo 14。Odoo是有史以来最受欢迎的开源ERP业务管理平台之一。由于它的模块化设计,有超过一万个模块(或应用程序)可用,Odoo可以适应你的企业的需求,提高你的团队的生产力。它使用Python构建,并利用PostgreSQL作为其数据库。 最新的Odoo 14更新带来了很多令人兴奋的新功能,包括全新的网站生成器、新的商业智能工具、新的和改进的库存和MRP菜单等等。 先决条件 启用了root权限的CentOS 8 服务器或一个有sudo权限的用户,内存至少2GB。 1、通过SSH登录并更新服务器 首先,您将需要使用SSH作为root用户登录到CentOS 8 VPS: ssh root@IP_ADDRESS -p PORT_NUMBER 用正确的服务器IP地址和SSH端口号替换IP_ADRRESS和PORT_NUMBER。默认端口号是22,但是您的服务器可能具有唯一的一组端口。 接下来,运行以下命令以升级VPS上所有已安装的软件包: dnf update -y 更新所有软件包后,请重新启动系统以应用需要重新引导的所有更改。这样可以确保我们将在其上安装Odoo 14实例的状态良好。 2、安装所需的依赖项 在开始安装Odoo之前,您需要在系统上安装Python 3和其他一些Odoo依赖项。您可以使用以下命令安装所有组件: dnf install python3 python3-devel git gcc redhat-rpm-config libxslt-devel bzip2-devel openldap-devel libjpeg-devel freetype-devel curl unzip -y 一旦安装了所有软件包,您还需要wkhtmltopdf 在系统中安装软件包。Wkhtmltopdf是一个开源工具,可用于将HTML格式转换为PDF,这样Odoo可以导出PDF报告。 您可以通过运行以下命令来安装它: dnf install https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.5/wkhtmltox-0.12.5-1.centos8.x86_64.rpm 验证wkhtmltopdf服务器上是否已安装:
# wkhtmltopdf --version wkhtmltopdf 0.12.5 (with patched qt)完成此操作后,您可以继续下一步。 3、安装和配置PostgreSQL Odoo使用PostgreSQL来存储其数据。您可以使用以下命令安装PostgreSQL服务器: dnf install postgresql postgresql-server postgresql-contrib -y 安装完成后,使用以下命令初始化数据库: postgresql-setup initdb 要启动PostgreSQL服务并使它能够在每次服务器重新启动后自动启动,请运行以下命令: systemctl start postgresql systemctl enable postgresql 接下来,使用以下命令登录PostgreSQL shell并为您的Odoo数据库创建一个新的PostgreSQL用户。我们使用的名称是odoo14,但是您可以使用任何喜欢的名称。记住,您在此处设置的用户名必须与下一步要创建的系统用户相同: su - postgres -c “createuser -s odoo14” 4、在CentOS 8上安装和配置Odoo 14 在本节中,我们将从官方的Git存储库下载Odoo 14并将其安装在Python虚拟环境中。 首先,我们需要为Odoo安装创建一个新的系统用户。确保用户名与上一步中创建的PostgreSQL用户相同: useradd -m -U -r -d /opt/odoo14 -s /bin/bash odoo14 接下来,以新创建的odoo14用户身份登录并从官方Git存储库下载Odoo 14: su - odoo14 git clone https://www.github.com/odoo/odoo --depth 1 --branch 14.0 /opt/odoo/odoo14 下载完成后,使用以下命令为Odoo 14安装创建一个新的Python虚拟环境: cd /opt/odoo14 && python3 -m venv odoo14-venv 使用以下命令激活虚拟环境: source odoo14-venv/bin/activate 您现在可以使用以下pip3命令安装所需的python模块,如下所示: (odoo14-venv) $ pip3 install wheel (odoo14-venv) $ pip3 install -r odoo14/requirements.txt 一旦成功安装了所有必需的模块,请停用虚拟环境,并使用以下命令切换回sudo或root用户: (odoo14-venv) $ deactivate && exit 接下来,为Odoo的自定义插件/应用程序创建一个单独的目录。最佳做法是在单独的目录中安装自定义Odoo模块。这样可以确保如果某些自定义模块不起作用,则可以轻松删除它,而不会冒着删除常规安装附带的默认模块的风险。 mkdir /opt/odoo/odoo14-custom-addons chown odoo: /opt/odoo/odoo14-custom-addons 以下命令将为新的Odoo 14安装创建一个日志文件: mkdir /var/log/odoo14 && touch /var/log/odoo14/odoo14.log chown -R odoo14: /var/log/odoo14/ 现在,您可以为Odoo安装创建配置文件: nano /etc/odoo14.conf 打开该文件,然后输入以下信息:
[options] ; This is the password that allows database operations: admin_passwd = master_password db_host = False db_port = False db_user = odoo14 db_password = False xmlrpc_port = 8069 ; longpolling_port = 8072 logfile = /var/log/odoo14/odoo14.log logrotate = True addons_path = /opt/odoo/odoo14/addons,/opt/odoo/odoo14-custom-addons确保设置master_password是一个复杂强大的密码。 完成后,保存并关闭文件。 5、为Odoo 14创建系统单位文件 现在,我们将创建一个systemd单位文件,以便我们可以将Odoo 14实例作为服务运行。 您可以使用以下命令创建服务: 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/venv/bin/python3 /opt/odoo14/odoo/odoo-bin -c /etc/odoo14.conf StandardOutput=journal+console [Install] WantedBy=multi-user.target保存并关闭文件,然后systemd使用以下命令重新加载守护程序列表: systemctl daemon-reload 现在,您可以启动Odoo 14服务,并使用以下命令使其在启动时启动: systemctl start odoo14 systemctl enable odoo14 现在,您可以通过以下方式验证Odoo 14服务的状态: systemctl status odoo14 6、将Nginx配置为反向代理 您的Odoo 14安装已完成,现在可以在CentOS 8服务器的公共IP上以邮政编码8069进行访问。但是,如果要使用域名而不是在URL中键入IP地址和端口号来访问Odoo应用程序,则必须在服务器上配置反向代理。 我们将向您展示如何使用Nginx Web服务器实现反向代理配置。Nginx是一款功能强大的高性能Web服务器,专注于自定义和性能。 首先,使用以下命令安装Nginx: dnf install nginx -y 安装后,创建一个新的Nginx虚拟主机配置文件。请替换www.a5idc.net替换为您自己的域名: nano /etc/nginx/conf.d/www.a5idc.net.conf 添加以下行:
upstream odoo { server 127.0.0.1:8069; } upstream odoochat { server 127.0.0.1:8072; } server { listen 80; server_name www.a5idc.net; 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; # log files access_log /var/log/nginx/www.a5idc.net.log; error_log /var/log/nginx/www.a5idc.net.log; # Handle longpoll requests location /longpolling { proxy_pass http://odoochat; } # Cache static files location ~* /web/static/ { proxy_cache_valid 200 90m; proxy_buffering on; expires 864000; proxy_pass http://odoo; } gzip_types text/css text/less text/plain text/xml application/xml application/json application/javascript; gzip on; }确保将其中的www.a5idc.net替换成您自己的域名。 现在,您可以启动Nginx服务,并使用以下命令使其在启动时启动: systemctl start nginx systemctl enable nginx 您还需要将Odoo配置为使用代理。您可以通过编辑Odoo配置文件来做到这一点: nano /etc/odoo14.conf 并将以下行添加到文件末尾: proxy_mode = True 保存并关闭文件,然后重新启动Odoo 14服务以实施更改: systemctl restart odoo14 7、访问Odoo 14实例 现在,您应该可以使用您的域名访问Odoo 14实例如下图。
恭喜,如果您认真遵循了本教程中的说明,那么您已成功在CentOS 8 服务器上成功安装了最新的Odoo 14 。您可以创建第一个数据库并开始使用最新版本的Odoo。A5互联https://www.a5idc.net/