0


Ubuntu22.04 LTS安装Odoo17 心路历程史![熬肝之琢]

安装odoo之前需要先理一下思路:

安装总计分为4大步骤:

  • 准备工作
  1. 网络环境搭建:

主要看应用是局域网内部使用还是互联网使用

  1. 局域网使用在本地化办公部署

  2. 互联网使用,可以建议使用云服务器部署

  3. 设备硬件要求

  4. 商用使用,建议使用服务器,做虚拟化,可以部署多个虚拟服务器,做虚拟集群化增加系统优化和服务高效。(有远程办公的小型公司)

  5. 小型公司本地化部署可以在本地服务器,硬件要求并不是很高,最低要求普通办公电脑就可以安装,CPU i5-12代支持虚拟化。内存16G以上,硬盘2TSSD+8THDD以上。就可以了。

  6. 系统适配:

  7. Windows

  8. Linux

  9. Mac

  10. 虚拟化(VM、KVM、Virtubox、OFweek)小型集成站(Docker、kubernetes、bitnami)

  • 安装系统

A、安装软件思路很重要:

  1. 先解决系统环境配置:python
  2. 在安装数据库依赖: postgresql
  3. 最后安装软件: Odoo17
  4. 安装postgresql 版本尽量不要安装最新的,我的是14版本,因为安装最新版本会出现一系列问题需要自己耐心排除和解决,再次踩坑提醒诸位。
  5. 在安装完成odoo17之后,启动是遇到配置运行报错:from ** import ** 问题一般都是版本安装错误,请查看requirments.txt文件所对应的依赖版本也可以在pyharm的setting中安装指定对应的版本,报错已消失。
  6. 在安装最后的 pip-install -r requirments.txt 文件中会有大量的软件包,有部分软件包的依赖包需要手动安装,不是错误,需要手动安装这些软件所依赖的包文件,手动安装完之后就可以在此运行命令 pip-install -r requirments.txt 文件,报错消失。
  7. 运行odoo 创建数据库,登录不上数据库,显示密码错误等,还有数据库不能连接或者数据库拒绝访问等问题,都可以在 /etc/odoo.conf中查看配置文件,是否输入的mastart 密码输错,或者关联的数据库名称错误。

B、【很重要需要理解明白才能正常正确使用odoo】

1、主控密码(master password)是数据库的管理密码,存储于odoo配置文件中,最新的几个版本会自动生成密码;

2、数据库名称(datebase name)是数据库的标识名称,同一台服务器上可以安装多个odoo数据库,使用独立的标识名称命名识别。

3 、Email是默认管理员用户登录名,并不一定要是email邮箱,默认未admin。

4、密码(password)是管理员登录所使用的密码

5、语音(language)是数据库使用的默认语言

6、国家、区域(country)是用于选择国家或区域的选项,设个可选项,与某些本地化特性相关,如发票和会计财务相关的。

7、默认为空数据库,但勾选演示数据(demo data)后会安装演示数据,开发测试环境建议勾选, 自己商用就不要勾选。

8、点击创建数据库(create database)新建数据库进行初始化,稍等一会,会跳转初登录界面。

注意: 管理员(admin)密码和主控(master)密码是两个不同的概念,主控密码是用于管理数据库,可以进行备份,还原及拷贝odoo数据库;管理员(admin)密码是默认管理员登录系统的密码,具有配置odoo数据库和管理用户的权限。

可以通过页面底部的管理数据(manage database)进入数据库管理页面。这个管理页面可以显示当前的数据列表,并对其进行备份,删除,拷贝或新建。

9、完成配置,可以通过直接访问:https:localhost:8069/web/database/manager页面进行管理数据。

10、数据库管理页面可进行一些高级权限管理操作,默认启用且没有密码保护。虽然方便,但安全威胁很高,请参考使用复杂的主控密码或最好管理这一功能。

主控密码在odoo配置文件中进行设置,内容为:admin_password = <your-complex-password>.可在配置文件中添加 list_db = False 禁用数据库管理页面。

C、开始安装odoo17

  1. 本次安装软件使用liunx系统做演示,系统采用Ubuntu22.04LTS 版本安装;
  2. 如果你的系统是刚安装的就可以先检查一下源和更新系统软件最新
  3. 更新系统

#sudo apt-get update


标题ht

  1. 更新软件和系统

#sudo apt-get upgrades

  1. 如果不是新安装的系统,本来就有这么一台电脑正好安装ubuntu系统,那也可以,不需要其他软件就需要恢复系统上面的所有软件,可以使用如下命令:
  2. 切换到root用户

#sudo su -

  1. 清除所有软件包及其配置文件(该命令会清除系统上所有软件包和配置文件【慎用】)

Ps:因为我的系统之前有安装其他软件,我也不清楚,需要清楚干净。

#apt-get purge *

  1. 卸载不需要的依赖关系

#apt-get autoremove

  1. 清除所有残留文件

#apt-get clean

  1. 完成重启系统

#reboot

  1. 可以集成一行代码: sudo su - apt-get purge * apt-get autoremove apt-get clean
  2. 查看系统软件源:

sudo nano /etc/apt/sources.list

  1. 添加阿里云源

deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse

清华源:

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ trusty main universe restricted multiverse

deb http://archive.ubuntu.com/ubuntu/ trusty main universe restricted multiverse

————————————————

  1. 更新系统

sudo apt-get update

  1. 更新软件源,更换为国内源提升软件更新速度。

sudo apt-get dist-upgrade

sudo apt-get upgrade

  1. 系统基本安全升级加固

sudo apt-get install openssh-server fail2ban

  1. 先查看一下python3的版本

python3 -V

如果不是3.10.* 请更新到3.10

如果有多个python版本,请设置默认版本为3.10

命令:update-alternatives --conifig python3.10(默认就是python3.10可以跳过)

  1. 安装python3和相关依赖包

sudo apt-get install -y python3-pip

sudo apt-get install python-dev python3-dev libxml2-dev libxslt1-dev zlib1g-dev libsasl2-dev libldap2-dev build-essential libssl-dev libffi-dev libmysqlclient-dev libjpeg-dev libpq-dev libjpeg8-dev liblcms2-dev libblas-dev libatlas-base-dev

以上有部分需要手动安装,并且需要调试,我们一个一个安装再试试:

这些包需要我们手动安装;

手动安装lib依赖

sudo apt install python3-pip libldap2-dev libpq-dev libsasl2-dev

如果出现安装软件无法解析情况请考虑3点:

1)如果出现以上情况,请检查服务器的DNS师傅可以解析到源地址。

查看服务器NDS网关:

sudo cat /etc/resolv.conf

如果没有DNS或者DNS 有错误,请更换成和源地址一个服务商,例如:我使用的是aliyun,更换aliyun DNS:223.5.5.5、223.6.6.6

命令如下:

sudo vi /etc/resolv.conf

在现有的nameserver 下在添加一行

nameserver 223.5.5.5

nameserver 223.6.6.6

然后保存,更新.

sudo apt-get update

在重新下载安装更新依赖文件就解决了。

2)查看是否网络连接正常或防火墙网关限制;检查IP地址是否配置正常

要根据你的网络情况进行修改

# Let NetworkManager manage all devices on this system

network:

renderer: NetworkManager #如果networkmanager不生效就更换成 networkd

ethernets:

eno1: #网卡名称

addresses:

#这里的IP地址和子网掩码

  • 192.168.10.165/24

routes:

  • to: default

#这里的网关地址

      via: 192.168.10.1      

nameservers:

addresses:

#这里的DNS服务器地址

     - 192.168.10.1      

 - 114.114.114.114  

version: 2

22.04tls servers 版本默认网卡配置自动获取:

00-installer-config.yaml

====================================================

#This is the network config written by ‘subiquity’

network:

ethoernets:

ens:33:

Dhcp4: true

Version: 2

配置多静态IP修改配置

#This is the network config written by ‘subiquity’(servers版本)桌面版(networkmanager)

network:

ethoernets:

ens:33:

Dhcp4: no

addresses:

  • 192.168.10.118/24

nameservers:

addresses: [223.5.5.5.,223.6.6.6]

routes:

  • to: default

Via: 192.168.10.1

ethoernets:

ens:38:

Dhcp4: no

addresses:

  • 192.168.10.119/24

nameservers:

addresses: [223.5.5.5.,223.6.6.6]

routes:

  • to: default

Via: 192.168.10.1

Version: 2

sudo netplan apply

重启网卡应用配置:

查看接口ip地址:

sudo ip addr show ens33

在查看默认路由

ip route show

网卡配置文件内容说明

ethernets: 网卡数组

ens33: 网卡名字

dhcp4: 表示通过dhcp获取ip还是配置静态ip

addresses:配置ip地址与子网掩码

routes: 路由

to: 目标网络

via: 经那个网口与外部网络沟通

nameservers: dns服务器

addresses:地址列表

如果配置网络出现网卡配置不生效出现问题如下:

ens33 mtu 1500 qdisc noop state down group default qien 1000 aitname enp2s1

解决网卡无法启动方法如下:

sudo -i 切换到root用户

systemctl stop networkmanager

systemctl disable networkmanager

service network restart

service network-manager restart

sudo dhclient ens33

在查看一下ip

ip addr show ens33

3)、安装软件依赖包显示:E:无法定位软件包

·解决方案请查看 /var/lib/apt/lists/ 文件和报错文件是否有相似的,请删除。或者使用命令:

sudo rm /var/lib/apt/lists/* -vf

sudo apt-get update 更新一下系统

继续安装依赖包

sudo apt-get install -y npm

安装成功!

sudo ln -s /usr/bin/nodejs /usr/bin/node

sudo npm install -g less less-plugin-clean-css

出现红圈内的黑条,恭喜你安装成功!

然后按ctrl+C就可以结束了,继续安装.

sudo apt-get install -y node-less

  1. 安装数据库postgreSQL

Odoo使用的数据是PostgreSQL,用户可采用peer或密码方式进行数据链接(/etc/postgresql/x.x/main/pg_hba.conf)

sudo apt-get install postgres

sudo su - postgres

创建一个odoo用户,可以直接创建一个与用户名相同的用户账号。

#psotgres# createuser --createdb --username postgres --no-createrole --no-superuser --pwprompt odoo

红圈内的错误是:createuser:错误:连接到套接字“/var/run/postgresql/.s.PGSQL.5432”上的服务器失败:没有这样的文件或目录

解决方法:

修改配置文档:

nano /etc/postgresql/14/main/pg_hba.config

nano /etc/postgresql/14/main/postgresql.conf

Ubuntu22.04版本安装postgres数据库 创建用户问题解决方法:

先推出到root用户或者需要root权限安装一下字体 选择us-UTF-8

dpkg-reconfigure locales

选择en-utf-8

Ok

重启一下postgresql服务

systemctl stop postgres

systemctl start postgres

然后在创建用户

#psotgres# createuser --createdb --username postgres --no-createrole --no-superuser --pwprompt odoo

密码:odoo出入两次确认。

创建odoo17 用户需要配置一个密码:我配置为odoo,需要出入两次确认。

超级用户权限(*)可选

conf 文件需要用户和密码。Postgres 使用不同的系统用户来执行任务。若要在用户之间切换,请运行 sudo su -postgres。接下来,为 Odoo 17 创建数据库用户。

qsql

创建超级用户

ALTER USER odoo17 WITH SUPERUSER

注销postgres和PSQL

\q

exit 退出

安装wkhtmltopdf,安装PDF

出于打印相关目的,Odoo 17 需要高于 0.12.2 的 wkhtmltopdf 版本。Wkhtmltopdf是一个开源命令行工具,用于使用Qt webkit将HTML数据呈现为PDF格式。要在 Ubuntu 上安装 wkhtmltopdf 22.04 服务器, 请按照以下步骤操作.

下载pdf安装包

root@ubtu:~#wget

https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6.1-2/wkhtmltox_0.12.6.1-2.jammy_amd64.deb

编译安装文件:

dpkg -i wkhtmltox_0.12.6-1.focal_amd64.deb

安装报错,需要安装xfonts-75dpi

apt-get install xfonts-75dpi

根据提示继续安装

apt --fix-broken install -y

自动修复安装出现broken的package

再次安装,安装插件使用dpkg安装就不会报错了。

dpkg -i wkhtmltox_0.12.6-1.focal_amd64.deb

在服务器上安装

sudo apt install -f

安装 odoo 程序软件

安装git

sudo apt-get install git

  1. 先进入创建好的odoo目录,然后现在程序
  2. 切换odoo17用户安装 使用命令带到/opt/odoo17/目录并以odoo17用户身份登录。
  3. sudo su - odoo17

克隆最新odoo17 代码到odoo17目录

git clone https://www.github.com/odoo/odoo/ --depth i --branch master --single-bbranch

退出odoo17用户回到root用户

exit

按章其他依赖

注意需要进入该目录文件夹安装

cd /opt/odoo17/odoo/

执行:sudo pip3 install -r requirements.txt

或者找到该文件绝对路径如下:

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

有错误根据错误提示:

Build过程出现报错,这是需要case by case去解决:

sudo apt install python3-cffi

pip install --upgrade cffi==1.15.0

再次输入sudo pip3 install -r /opt/odoo17/odoo/requirements.txt

有如果在安装过程出现报错,请再次执行一边以上命令,直至不报错,这个原因是因为网络不稳定导致安装失败。

完成安装。

在odoo17用户下使用sudo ,编辑 /etc/sudoers

编辑odoo17配置文件,需要先备份一份。

sudo cp /opt/odoo17/odoo/debian/odoo..conf /etc/odoo17.conf

sudo vi /etc/odoo17.conf

[options]

; this is the password that allows database operations:

admin_passwd = admin

db_host = False

db_port = False

db_user = odoo17

db_password = False

addons_path = /opt/odoo17/odoo/addons

logfile = /opt/odoo17/log/odoo17/odoo17.log

  • db_user: 数据库用户名
  • db_password: 创建数据库用户时所设置的密码
  • admin_passwd: 用于管理数据库增删改查等操作的超级用户。
  • db_host: 数据库主机
  • db_port: 数据库端口
  • addons_path: Odoo 的插件目录,有多个目录时用逗号分隔
  • logfile: 日志文件路径

配置odoo17用户的访问权限

sudo chown odoo17: /etc/odoo17.conf

sudo chmod 640 /etc/odoo17.conf

添加日志存储目录

#sudo mkdir /opt/odoo17/log/odoo17

sudo chown odoo17:root /opt/odoo17/log/odoo17

配置odoo系统服务

sudo vi /etc/systemd/system/odoo17.service

[Unit]

Description=Odoo

Documentation=http://www.odoo.com

[service]

Ubuntu/Debian convention

Type=simple

User=odoo

Execstart=/opt/odoo17/odoo/odoo-bin -C /etc/odoo17.conf

[Install]

wantedBy=default.target

设置配置文件的权限

sudo chmod 755 /etc/systemd/system/odoo17.service

sudo chown root: /etc/systemd/system/odoo17.service

启动服务

sudo systemctl start odoo17.service

查看服务启动状态

#sudo systemctl status odoo17.service

手动启动:

/opt/odoo17/odoo/odoo-bin -c /etc/odoo17.conf

浏览器直接输入服务器的ip地址进行访问:

例如:http://192.168.10.2:8069

安装完之后需要安装中文字体,这个是ubuntu遗留问题,20.04和22.04都没有自带需要手动安装。

sudo apt-get install ttf-wqy-zenhei

sudo apt-get install ttf-wqy-microhei

标签: python pip linux

本文转载自: https://blog.csdn.net/MikeRoot/article/details/135713623
版权归原作者 MikeRoot 所有, 如有侵权,请联系我们删除。

“Ubuntu22.04 LTS安装Odoo17 心路历程史![熬肝之琢]”的评论:

还没有评论