前言
我在上一次,已经写了odoo16在Debian12的安装方式,可以使用,但是发现无法打印表头,又倒回来折腾了一圈。表头打印,官方说建议手动安装的,我看有这个软件包,版本也一致就安装了,能通过,但还是有问题。这个和lxc容器无关。
但是,使用官方的安装流程,在lxc安装一定要注意语言环境。我就是因为这个一直安装失败。
官方指引
链接如下,又是读了几百遍安装不成功的指引
https://www.odoo.com/documentation/16.0/zh_CN/administration/on_premise/source.html
避坑处理
如果是LXC安装,一定要注意语言环境!我是pve,里面的容器默认未配置的。用root用户创建。
sudo locale-gen en_US.UTF-8 sudo dpkg-reconfigure locales #选中en_US.UTF-8 最后重启,用locale命令查看是否准确
多学一点
如果你没操作,下面安装成功了,在运行时会报错数据库无法初始化。
Odoo 要求数据库编码为 UTF8,通过下面的数据库查询创建的是SQL_ASCII。
即使删除数据库,并且按下面的操作生成了正确的语言环境也无法更改。只能通过命令另外生成。
这么麻烦,你为什么不重新开一个容器,重新安装呢
sudo -u postgres psql \l #检查数据库列表 \du #检查用户列表 DROP DATABASE l; #不能修改,只能删除数据库。如果你创建了 CREATE DATABASE l OWNER l ENCODING 'UTF8' TEMPLATE template0 LC_COLLATE='en_US.UTF-8' LC_CTYPE='en_US.UTF-8'; #完成新建动作 DROP ROLE l; #无需删除用户,这里备忘。因为用户不影响。
开始安装
个人使用,能看懂就看吧。
sudo apt install git python3-pip fonts-wqy-microhei -y #中文字体是打印表单用的 git clone https://www.github.com/odoo/odoo --depth 1 --branch 16.0 #下面是手动安装打印表单用的软件。我在虚拟机和容器都装了一遍,提示缺失的依赖我这里都补了。还有自己加 sudo apt install fontconfig libxrender1 xfonts-75dpi xfonts-base xfonts-utils libfontenc1 x11-common xfonts-encodings libxext6 -y wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6.1-3/wkhtmltox_0.12.6.1-3.bullseye_amd64.deb sudo dpkg -i wkhtmltox_0.12.6.1-3.bullseye_amd64.deb #安装数据库。会创建用户名l,数据库l。当然,实际请不要这样。教程为方便 sudo apt install postgresql postgresql-client -y sudo -u postgres createuser -d -R -S $USER createdb $USER #自动安装所需依赖 cd odoo sudo ./setup/debinstall.sh #正常首次运行这个命令,初始化l数据库。访问 IP:8069登录。默认的用户名和密码都是admin。 #数据库管理访问 IP:8069/web/database/manager。这里会提示你设置密码。如果你有一个导出的数据库文件需要导入,也是在这里。 python3 odoo-bin -i base --addons-path=addons -d l #后续不用初始化了,导入成功后,如果数据库名称不一致的,记得修改下面的-d 数据库名称 python3 odoo-bin --addons-path=addons -d l