ubuntu源码安装Odoo

序言:时间是我们最宝贵的财富,珍惜手上的每个时分

Odoo具有非常多的安装方式,除了我最爱用的 apt-get install,我们还可以使用git拉取Odoo源码进行安装。

本次示例于ubuntu20.04 Desktop上进行操作,理论上在ubuntu14.04之后都可以用此操作。

目录

1.准备工作

1.1更换国内源

1.2更新软件包

1.3添加odoo用户

1.4安装git

1.5安装npm

1.6安装python

1.7安装postgres

2.安装Odoo

2.1克隆代码

2.2下载Odoo的python依赖

[2.3 Odoo.conf设置](#2.3 Odoo.conf设置)

2.4尝试启动Odoo

[2.5 odoo.service](#2.5 odoo.service)


1.准备工作

正式安装Odoo前,我们需要做如下准备工作

1.1更换国内源

将apt源换成阿里云(其他的国内源也行)

bash 复制代码
vi /etc/apt/sources.list

将文件内容替换为:
eb http://mirrors.aliyun.com/ubuntu/ focal main restricted
deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted
deb http://mirrors.aliyun.com/ubuntu/ focal universe
deb http://mirrors.aliyun.com/ubuntu/ focal-updates universe
deb http://mirrors.aliyun.com/ubuntu/ focal multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-updates multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted
deb http://mirrors.aliyun.com/ubuntu/ focal-security universe
deb http://mirrors.aliyun.com/ubuntu/ focal-security multiverse

替换后的样子

1.2更新软件包

输入以下内容即可

bash 复制代码
apt-get update

1.3添加odoo用户

我们需要一个专门的odoo用户,运行odoo服务(虽然我很想在root下运行,但是由于postgres的安全原因,是不允许的,实际上我们可以直接在postgres用户下运行,但是不推荐)

输入如下命令即可新建odoo用户

bash 复制代码
adduser odoo

依据提示输入所有内容

用户新建成功后,需要修改权限

bash 复制代码
vi /etc/sudoers  修改odoo用户权限

新增odoo为sudoer

1.4安装git

输入如下命令安装git

bash 复制代码
sudo apt-get install git

1.5安装npm

输入如下命令安装npm

bash 复制代码
sudo apt-get install -y npm

1.6安装python

输入如下命令安装python

bash 复制代码
sudo apt-get install -y python3-pip

需要注意的是odoo与python对应的版本

1.7安装postgres

运行如下命令安装postgres

bash 复制代码
sudo apt-get install -y postgresql

安装完成后还需要新建postgres 的odoo数据库用户

bash 复制代码
su postgres  #	切换到postgres
psql #进入数据库的shell
create_role odoo superuser login password '123456';  #创建数据的 odoo用户,密码是123456

输入完成后回车,看到 CREATE ROLE 字样 即为数据库用户创建成功 。

2.安装Odoo

做完如上操作,我们终于可以开始安装Odoo了。

2.1克隆代码

进入odoo主目录(你可以选择任意目录)

bash 复制代码
cd /home/odoo

选择你想要的版本进行克隆,此处是odoo16,也可以改为odoo17 或者 odoo15。按自己需要操作即可

bash 复制代码
git clone https://github.com/odoo/odoo.git odoo16 -b 16.0 --depth=1

2.2下载Odoo的python依赖

进入git 克隆下来的odoo目录,当前示范的目录是 /home/odoo/odoo16,该目录下有requirement.txt文件,输入如下指令一键安装依赖。

bash 复制代码
pip3 install -r requirements.txt -i https://pypi.doubanio.com/simple //一键安装odoo依赖包

如果一键安装依赖报错,尝试手动升级pip 或者手动安装python库

bash 复制代码
pip install --upgrade pip
sudo apt-get install libpq-dev
sudo apt-get install libldap2-dev libsasl2-dev
sudo apt-get install libpq-dev
sudo apt-get install libpq-dev

2.3 Odoo.conf设置

在/home/odoo/odoo16文件夹下新建一个odoo.conf文件

注意:db_password 为 安装postgres时创建的odoo用户的password

2.4尝试启动Odoo

bash 复制代码
cd /home/odoo/odoo16
python3 odoo-bin  -c odoo.conf#启动odoo

如果一切正常,可以在控制台上看到如下界面

浏览器访问localhost:8069,也可以看到内容。

2.5 odoo.service

如果运行成功,我们还需最后一步:创建 odoo.service,方便操作与运行。

创建一个名为odoo.service的文件,将其放在/etc/systemd/system/目录下

bash 复制代码
sudo touch /etc/systemd/system/odoo.service
vim /etc/systemd/system/odoo.service

文件内容

bash 复制代码
[Unit]
Description=Odoo Service
After=network.target

[Service]
User=odoo
Group=odoo
WorkingDirectory=/home/odoo/odoo16
ExecStart=/home/odoo/odoo16/odoo-bin -c /home/odoo/odoo16/odoo.conf
Restart=always

[Install]
WantedBy=multi-user.target

注意:Odoo文件夹的位置不要写错了

继续输入如下内容,将odoo服务加入系统

bash 复制代码
sudo systemctl daemon-reload
sudo systemctl enable odoo.service

干完如上内容后,可以使用以下命令来启动、停止或重启Odoo服务

bash 复制代码
sudo service odoo start

sudo service odoo stop

sudo service odoo restart

完结,撒花

qq:543127346 (穆尘)

相关推荐
韩楚风2 小时前
【linux 多进程并发】linux进程状态与生命周期各阶段转换,进程状态查看分析,助力高性能优化
linux·服务器·性能优化·架构·gnu
陈苏同学2 小时前
4. 将pycharm本地项目同步到(Linux)服务器上——深度学习·科研实践·从0到1
linux·服务器·ide·人工智能·python·深度学习·pycharm
Ambition_LAO2 小时前
解决:进入 WSL(Windows Subsystem for Linux)以及将 PyCharm 2024 连接到 WSL
linux·pycharm
Pythonliu72 小时前
茴香豆 + Qwen-7B-Chat-Int8
linux·运维·服务器
你疯了抱抱我2 小时前
【RockyLinux 9.4】安装 NVIDIA 驱动,改变分辨率,避坑版本。(CentOS 系列也能用)
linux·运维·centos
追风赶月、2 小时前
【Linux】进程地址空间(初步了解)
linux
栎栎学编程2 小时前
Linux中环境变量
linux
挥剑决浮云 -3 小时前
Linux 之 安装软件、GCC编译器、Linux 操作系统基础
linux·服务器·c语言·c++·经验分享·笔记
小O_好好学4 小时前
CentOS 7文件系统
linux·运维·centos
哲伦贼稳妥4 小时前
一天认识一个硬件之机房地板
运维·网络·经验分享·其他