Ubuntu通过源码安装Odoo16

Odoo16需要Python3.8支持,否则有些功能可能有所限制

第一步:安装Python和依赖包

sudo apt-get update
sudo apt-get install openssh-server fail2ban
sudo apt-get install -y python3-pip
sudo apt install git python3-pip build-essential wget python3-dev python3-venv \
    python3-wheel libfreetype6-dev libxml2-dev libzip-dev libldap2-dev libsasl2-dev \
    python3-setuptools node-less libjpeg-dev zlib1g-dev libpq-dev \
    libxslt1-dev libldap2-dev libtiff5-dev libjpeg8-dev libopenjp2-7-dev \
    liblcms2-dev libwebp-dev libharfbuzz-dev libfribidi-dev libxcb1-dev

 Python 依赖安装好之后,还需要安装一些前端所需的依赖包:

sudo apt-get install -y npm
sudo ln -s /usr/bin/nodejs /usr/bin/node
sudo npm install -g less less-plugin-clean-css
sudo apt-get install -y node-less

  

通过网上搜到的往往有两个坑:

  1. Package ‘libmysqlclient-dev’ has no installation candidate 使用default-libmysqlclient-dev来代替
  2. libjpeg8-dev和libjpeg-dev冲突,导致无法安装,选一个就好,ITGeeker技术奇客用的libjpeg8-dev包

第二步:安装 PostgreSQL 数据库

PostgreSQL用12或者13版本都没问题,有些自带11的问题也不大

sudo apt-get install postgresql  #安装数据库

创建数据库用户

sudo su - postgres -c "createuser -s odoo"
psql
\q
exit

此步可以跳过。让odoo成为Postgresql的超级用户,否则启动的时候会有个错误提示,不知道是不是新版本的bug

sudo -u postgres psql

ALTER USER odoo WITH SUPERUSER;

第三步:给系统添加一个odoo的用户用于运行

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

###sudo adduser --system --home=/opt/odoo --group odoo
 为创建的用户帐户设置密码

#sudo passwd odoo
Changing password for user odoo.
New password:输入自己设置的密码
Retype new password:再次输入自己设置的密码
passwd: all authentication tokens updated successfully.

第四步:获取odoo的源代码

代码可以根据自己的渠道获取

第五步:安装Python的工具包

此处建议使用python venv环境来运行,这样你的系统如果要使用其它python包的时候不会有冲突,可保持系统稳定运行。

sudo su - odoo
cd /opt/odoo
python3 -m venv odoo-venv
source odoo-venv/bin/activate
python -m pip install --upgrade pip
先把pip3切换到阿里源:
  1. mkdir ~/.pip

    vi ~/.pip/pip.conf

    # 然后将下面这两行复制进去就好了

    [global]

    index-url = https://mirrors.aliyun.com/pypi/simple



pip install wheel
pip install --upgrade pip
pip install setuptools --upgrade

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

 

 

成功安装后,停用虚拟环境,

$deactivate
$exit

创建Odoo日志文件:

sudo touch /var/log/odoo/odoo.log

设置正确的目录权限:

sudo chown -R odoo:odoo /opt/odoo/ /var/log/odoo/odoo.log

 

如果安装速度太慢,那就采用镜像加速的方式来安装吧:

国内PIP安装加速 临时和永久设置镜像的方法

 

第六步:安装Wkhtmltopdf

Odoo打印PDF报告都要用到这个模块,如果直接安装版本太低,就下载到本地安装。

cd /tmp && sudo wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.5/wkhtmltox_0.12.5-1.bionic_amd64.deb
sudo dpkg -i wkhtmltox_0.12.5-1.bionic_amd64.deb
sudo apt install -f
#直接安装
sudo apt install wkhtmltopdf

第七步:创建conf文件

sudo cp /opt/odoo/odoo_source/debian/odoo.conf /etc/odoo.conf
sudo nano /etc/odoo.conf

添加配置内容

[options]
   ; This is the password that allows database operations:
   admin_passwd = admin
   db_host = False
   db_port = False
   db_user = odoo
   db_password = False
   addons_path = /opt/odoo/odoo/addons
   logfile = /var/log/odoo/odoo.log

更改权限

sudo chown odoo: /etc/odoo.conf
sudo chmod 640 /etc/odoo.conf

 

第八步:odoo服务文件

sudo nano /etc/systemd/system/odoo.service

添加内容

[Unit]
Description=odoo
Documentation=https://www.geekercloud.com
[Service]
# Ubuntu/Debian convention:
Type=simple
User=odoo
#ExecStart=/opt/odoo/odoo_source/odoo-bin -c /etc/odoo.conf
ExecStart=/opt/odoo/odoo_venv/bin/python3 /opt/odoo/odoo_source/odoo-bin -c /etc/odoo.conf
[Install]
WantedBy=default.target

调整权限

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

 

第十步:查看日志Log

sudo tail -f /var/log/odoo/odoo.log

----------

 重新加载系统服务:

sudo systemctl daemon-reload

启动创建的odoo服务。

sudo systemctl start odoo
sudo systemctl restart odoo

使它在启动时启动。

$ sudo systemctl enable odoo
Created symlink /etc/systemd/system/multi-user.target.wants/odoo.service → /etc/systemd/system/odoo.service.

确认Odoo服务是否设置为在启动时启动。

$ systemctl is-enabled odoo
enabled

检查是否正在运行。

$ systemctl status odoo

 

posted @ 2022-01-22 10:29  郑道杰  阅读(4004)  评论(0编辑  收藏  举报