如何在 Ubuntu 22.04 上安装 Odoo ERP 软件
Odoo 以前称为 OpenERP,是用于管理业务流程的领先 ERP 软件之一。 它配备了与业务相关的应用程序和模块,如 CRM、销售、计费、会计、制造、仓库等。 对于小型企业和一些中型企业来说,这是一个很好的 ERP 解决方案。 Odoo ERP 应用于许多行业,包括制造公司、分销公司、研发公司、服务公司、会计师事务所等。
这篇文章将向您展示如何在 Ubuntu 22.04 上安装 Odoo 15 ERP。
先决条件
- 运行 Ubuntu 22.04 的服务器。
- 有效域名指向您的服务器 IP。
- 服务器上配置了 root 密码。
入门
在开始之前,建议将所有系统软件包更新到最新版本。 您可以通过运行以下命令来更新它们:
apt update -y
系统更新后,使用以下命令安装 Python 和其他依赖项:
apt install python3-pip wget python3-dev python3-venv python3-wheel libxml2-dev libpq-dev libjpeg8-dev liblcms2-dev libxslt1-dev zlib1g-dev libsasl2-dev libldap2-dev build-essential git libssl-dev libffi-dev libmysqlclient-dev libjpeg-dev libblas-dev libatlas-base-dev -y
安装所有 Python 依赖项后,使用以下命令安装 wkhtmltopdf 包:
apt-get install wkhtmltopdf -y
接下来,使用以下命令验证 wkhtmltopdf 的版本:
wkhtmltopdf --version
您应该看到以下输出:
wkhtmltopdf 0.12.6
Odoo 使用 PostgreSQL 作为数据库后端,因此您还需要将其安装在您的服务器上。 您可以使用以下命令安装它:
apt install postgresql -y
安装 PostgreSQL 后,使用以下命令为 Odoo 创建 PostgreSQL 用户:
su - postgres -c "createuser -s odoo15"
安装和配置 Odoo 15
在开始之前,最好创建一个专用用户来运行 Odoo 实例。 您可以使用以下命令创建一个名为 odoo15 的新用户:
useradd -m -d /opt/odoo15 -U -r -s /bin/bash odoo15
创建用户后,将用户切换到 Odoo15 并使用以下命令下载最新版本的 Odoo:
su - odoo15
git clone https://www.github.com/odoo/odoo --depth 1 --branch 15.0 /opt/odoo15/odoo
接下来,将目录更改为 Odoo15 并使用以下命令创建 Python 虚拟环境:
cd /opt/odoo15
python3 -m venv odoo15-venv
接下来,使用以下命令激活虚拟环境:
source odoo15-venv/bin/activate
接下来,使用以下命令安装wheel包:
pip3 install wheel
接下来,编辑requirements.txt文件并更新一些要求:
nano /opt/odoo15/odoo/requirements.txt
更改以下行:
gevent>=20.9.0 ; python_version >= '3.8' greenlet>=0.4.17 ; python_version > '3.7'
保存并关闭文件,然后使用以下命令安装所有依赖项:
pip3 install -r odoo/requirements.txt
安装所有依赖项后,使用以下命令从虚拟环境中停用:
deactivate
接下来,创建一个目录来存储 Odoo 插件并使用以下命令退出 Odoo 用户:
mkdir /opt/odoo15/custom-addons
exit
接下来,使用以下命令编辑 Odoo 配置文件:
nano /etc/odoo15.conf
添加以下行:
[options] ; This is the password that allows database operations: admin_passwd = adminpassword db_host = False db_port = False db_user = odoo15 db_password = False xmlrpc_port = 8069 logfile = /var/log/odoo15/odoo.log addons_path = /opt/odoo15/odoo/addons,/opt/odoo15/custom-addons
保存并关闭文件,然后创建一个目录来存储 Odoo 日志并更改所有权:
mkdir /var/log/odoo15
chown odoo15:root /var/log/odoo15
为 Odoo 15 创建 Systemd 服务文件
接下来,您需要创建一个 systemd 服务文件来管理 Odoo 服务。 您可以使用以下命令创建它:
nano /etc/systemd/system/odoo15.service
添加以下行:
[Unit] Description=Odoo15 Requires=postgresql.service After=network.target postgresql.service [Service] Type=simple SyslogIdentifier=odoo15 PermissionsStartOnly=true User=odoo15 Group=odoo15 ExecStart=/opt/odoo15/odoo15-venv/bin/python3 /opt/odoo15/odoo/odoo-bin -c /etc/odoo15.conf StandardOutput=journal+console [Install] WantedBy=multi-user.target
保存并关闭文件,然后使用以下命令重新加载 systemd 守护进程:
systemctl daemon-reload
接下来,启动 Odoo 服务并使其在系统重新启动时启动:
systemctl enable --now odoo15
您现在可以使用以下命令检查 Odoo 服务的状态:
systemctl status odoo15
您应该在以下输出中看到 Odoo 实例的活动状态:
? odoo15.service - Odoo15 Loaded: loaded (/etc/systemd/system/odoo15.service; enabled; vendor preset: enabled) Active: active (running) since Sun 2022-05-22 10:08:36 UTC; 9s ago Main PID: 74016 (python3) Tasks: 4 (limit: 2292) Memory: 110.3M CPU: 1.403s CGroup: /system.slice/odoo15.service ??74016 /opt/odoo15/odoo15-venv/bin/python3 /opt/odoo15/odoo/odoo-bin -c /etc/odoo15.conf May 22 10:08:36 ubuntu2204 systemd[1]: Started Odoo15.
将 Nginx 配置为 Odoo 的反向代理
将 Nginx 配置为 Odoo 的反向代理是个好主意。 首先,使用以下命令安装 Nginx 软件包:
apt-get install nginx -y
安装 Nginx 后,为 Odoo 创建 Nginx 虚拟主机配置文件:
nano /etc/nginx/conf.d/odoo15.conf
添加以下行:
# Odoo servers upstream odoo { server 127.0.0.1:8069; } upstream odoochat { server 127.0.0.1:8072; } server { listen 80; server_name odoo15.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; # log files access_log /var/log/nginx/odoo.access.log; error_log /var/log/nginx/odoo.error.log; # Handle longpoll requests location /longpolling { proxy_pass http://odoochat; } # Handle / requests location / { proxy_redirect off; proxy_pass http://odoo; } # Cache static files location ~* /web/static/ { proxy_cache_valid 200 90m; proxy_buffering on; expires 864000; proxy_pass http://odoo; } # Gzip gzip_types text/css text/less text/plain text/xml application/xml application/json application/javascript; gzip on; }
保存并关闭文件,然后验证 Nginx 是否存在任何语法配置错误:
nginx -t
您应该看到以下输出:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
最后,重新启动 Nginx 服务以应用更改:
systemctl restart nginx
接下来,编辑 Odoo 配置文件并启用代理设置:
nano /etc/odoo15.conf
添加以下行:
proxy_mode = True
保存并关闭文件,然后重新启动 Odoo 服务以应用更改:
systemctl restart odoo15
您现在可以使用以下命令验证 Nginx 状态:
systemctl status nginx
您将得到以下输出:
? nginx.service - A high performance web server and a reverse proxy server Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled) Active: active (running) since Sun 2022-05-22 10:10:55 UTC; 18s ago Docs: man:nginx(8) Process: 74717 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS) Process: 74718 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS) Main PID: 74719 (nginx) Tasks: 2 (limit: 2292) Memory: 2.6M CPU: 28ms CGroup: /system.slice/nginx.service ??74719 "nginx: master process /usr/sbin/nginx -g daemon on; master_process on;" ??74720 "nginx: worker process" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" May 22 10:10:55 ubuntu2204 systemd[1]: Starting A high performance web server and a reverse proxy server... May 22 10:10:55 ubuntu2204 systemd[1]: Started A high performance web server and a reverse proxy server.
完成后,您可以继续访问 Odoo 15 Web 界面。
访问 Odoo 15 Web 界面
现在,打开 Web 浏览器并使用 URL http://odoo15.example.com 访问 Odoo 15 Web 界面。 您应该看到 Odoo 15 数据库配置页面:
提供您的 Odoo 主密码、电子邮件和数据库,然后单击“创建数据库”按钮。 您应该在以下页面上看到 Odoo 15 仪表板:
结论
恭喜 您已在 Ubuntu 22.04 上成功安装 Odoo 15,并使用 Nginx 作为反向代理。 您现在可以在公司中使用 Odoo 并开始管理业务流程。 如果您有任何疑问,请随时问我。
资讯来源:由a0资讯编译自THECOINREPUBLIC。版权归作者A0资讯所有,未经许可,不得转载