在Rocky Linux 9环境下源码安装Odoo18

在Rocky Linux 9下源码安装Odoo18

准备工作

因工作需要,拟在本地环境部署CRM系统,调研了一番后发现Odoo和SuiteCRM两个开源系统还不错,前者使用Python开发后者则是PHP,结合团队技术栈和开源社区活跃程度,最终选定Odoo做私有化部署。

系统环境

  1. 服务器配置:生产环境建议4核CPU、8GB内存、SSD存储以上
  2. Liunx版本 :Rocky Linux release 9.4;
  3. Python版本: 3.10.14;(Rocky自带3.9,Odoo17以上至少要3.10以上)
  4. Odoo版本:18;

私有化部署

官方建议使用打包安装程序安装,但是文档里面Odoo18的repo源404了,Odoo17倒是有repo源,但是一番折腾后遇到各种问题,只好作罢,接着又尝试用websoft9进行部署,这东西跟宝塔类似,虽然运维出身的我很鄙视这类工具,但还是被懒惰打败了,尝试安装了一下,又是各种问题,还是老老实实用源码安装吧。

更新系统

这里把安装过的包都列出来了,各取所需吧

sudo dnf update -y
sudo dnf install wget make gcc bzip2-devel openssl-devel zlib-devel libffi-devel -y
sudo dnf groupinstall "Development Tools"
sudo dnf install readline-devel ncurses-devel openssl-devel sqlite-devel tk-devel gdbm-devel libc6-dev libbz2-dev libffi-dev zlib1g-dev -y
sudo dnf install -y git libxslt-devel bzip2-devel openldap-devel libjpeg-devel freetype-devel libpq-devel
sudo dnf install curl unzip yum-utils policycoreutils-python-utils -y

安装 PostgreSQL数据库

 sudo dnf install -y postgresql-server
 sudo postgresql-setup --initdb --unit postgresql
 sudo systemctl enable postgresql
 sudo systemctl start postgresql

配置 PostgreSQL数据库

创建odoo用户,家目录根据情况修改

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

把odoo用户加到sudoer里面
vim /etc/sudoers

## Allow root to run any commands anywhere 
root    ALL=(ALL)   ALL
odoo    ALL=(ALL)   ALL

修改postgres用户本地免密登录,和ipv4用密码登录,配置文件对应位置修改如下:
vim /var/lib/pgsql/data/pg_hba.conf

# "local" is for Unix domain socket connections only
local   all             all                                     trust
# IPv4 local connections:
host    all             all             0.0.0.0/32            md5

允许 PostgreSQL 接受来自所有 IP 地址的连接,按需配置。
vim /var/lib/pgsql/data/postgresql.conf

# - Connection Settings -

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

重启数据库

sudo systemctl restart postgresql

进到数据库里配置

sudo su - postgres

在psql提示符下,执行以下命令创建数据库和用户:

CREATE DATABASE odoo WITH OWNER = odoo;
CREATE USER odoo WITH PASSWORD 'odoo' CREATEDB;
GRANT ALL PRIVILEGES ON DATABASE odoo TO odoo;
\q

验证用户权限

sudo -u postgres psql -c "\du"  # 检查 odoo 用户是否包含 CREATEDB 属性[8](@ref)

测试用户连接数据库

psql -U odoo

进入命令行,则代表成功
在这里插入图片描述

安装依赖

升级node.js

Rocky Linux 9 附带 Node 18.x,升级到20.x。

sudo dnf remove nodejs npm
sudo dnf update -y && sudo dnf install -y gcc-c++ make
sudo curl -fsSL https://rpm.nodesource.com/setup_20.x | sudo bash -
sudo dnf install -y nodejs

验证升级后版本

node -v
#v20.19.2
npm -v
#11.4.0

安装 Less CSS 和rtlcss包

npm install -g npm@11.4.0
npm install -g less rtlcss

安装wkhtmltopdf

sudo dnf config-manager --set-enabled crb
sudo dnf update
sudo dnf install -y fontconfig libXext openssl urw-fonts xorg-x11-fonts-75dpi libXrender
sudo dnf install -y xorg-x11-fonts-75dpi.noarch xorg-x11-fonts-Type1.noarch
cd ~
wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6-1/wkhtmltox-0.12.6-1.centos8.x86_64.rpm
rpm -ivh wkhtmltox-0.12.6-1.centos8.x86_64.rpm
#验证是否安装成功
wkhtmltopdf --version

安装Odoo

切换用户安装

sudo su - odoo
git clone https://gitclone.com/github.com/odoo/odoo.git

设置 Virtualenv Python 环境

编译安装python 3.10

wget https://www.python.org/ftp/python/3.10.14/Python-3.10.14.tgz
tar xzf Python-3.10.14.tgz
cd Python-3.10.14
./configure --enable-optimizations
make altinstall
python3.10 -V

创建虚拟环境

sudo pip3 install virtualenv
sudo mkdir /odoo/venv
sudo virtualenv /odoo/venv
source /odoo/venv/bin/activate
pip3 install --upgrade pip
pip3 install wheel

进入Odoo目录,配置虚拟环境

pip3 install -r requirements.txt
#退出虚拟环境
deactivate

配置Odoo

vim odoo.conf

[options]
admin_passwd = admin
http_prot = 8069
db_host = False
db_port = False
db_name = odoo
db_user = odoo
db_password = odoo
db_filter = False
addons_path = /home/crm/odoo/addons
logfile = /home/crm/odoo/odoo.log

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

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

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

选项 db_name 是 PostgreSQL 数据库的名称。

选项 db_user 是 PostgreSQL 用户的名称。

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

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

选项logfile是日志路径。

创建 Odoo 服务

vim /etc/systemd/system/odoo.service

[Unit]
Description=Odoo
After=postgresql.service

[Service]
User=odoo
ExecStart=/odoo/venv/bin/python3 /home/crm/odoo/odoo-bin -c /home/crm/odoo/odoo.conf
Restart=always

[Install]
WantedBy=multi-user.target

设置文件权限

$ sudo chmod 755 /etc/systemd/system/odoo.service
$ sudo chown odoo: /etc/systemd/system/odoo.service

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

$ sudo chown -R odoo: /home/crm/odoo/
$ sudo chown -R odoo: /odoo/venv

限制 Odoo 配置文件。

$ sudo chown odoo: /home/crm/odoo/odoo.conf
$ sudo chmod 640 /home/crm/odoo/odoo.conf

启动 Odoo 服务器

第一次启动需要初始化数据库,进到安装目录下

cd /home/crm/odoo/
python odoo-bin -c odoo.conf -i base

没问题的话就Ctrl+C关掉进程,之后使用systemctl就可以了

sudo systemctl daemon-reload
sudo systemctl start odoo.service
sudo systemctl enable odoo.service

访问Odoo界面

http://your_server_ip:8069

应该能够看到 Odoo 的欢迎页面,用户名密码都是admin。
在这里插入图片描述

总结

以上就是在 Rocky Linux 9服务器上部署 Odoo 18的过程。遇到问题多问AI,祝你成功。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值