Odoo (OpenERP) 经验技巧和记录
开发环境的安装和配置:
WSL下源码安装odoo社区版本
资源:
- 官网: Installing Odoo
- 测试环境: WSL Ubuntu 20.04
- 流程:
- 更新apt :
sudo apt update
- 安装PostgreSQL:
sudo apt install postgresql -y
- 整个软链接, 从WSL目录指向 windows的目录方便管理
sudo ln -s /mnt/d/__dev/__appDev /mnt/app
1.
- 更新apt :
- 一键安装脚本:
- https://github.com/Yenthe666/InstallScript.git
- ubuntu 22.04可用
- 需要很长时间,odoo和pg需要安在一个镜像里面,不如用下面的 docker-compose
- 配置:
- /etc/odoo-server.conf 这里有master password ,还有插件安装位置
- logfile = /var/log/odoo/odoo-server.log log文件的位置
- https://github.com/Yenthe666/InstallScript.git
常见错误
- PostgreSQL:createdb: could not connect to database postgres: FATAL: Peer authentication failed for user “postgres”
- 解决方法:
- PostgreSQL:createdb: could not connect to database postgres: FATAL: Peer authentication failed for user “postgres”
- StackOverflow - Createuser: could not connect to database postgres: FATAL: role “tom” does not exist
sudo -u postgres psql
ORpsql -U postgres
- 亲测有效:
sudo su - postgres
然后执行createuser
- 解决方法:
No module named 'werkzeug.contrib'
- 解决方法:
- Github - Issue
- No module named 'werkzeug.contrib'
pip3 unistall Werkzeug (will uninstall earlier version)
pip3 install Werkzeug==0.11.15 (check the requirements.txt and installed that version)
- 解决方法:
未分类
sudo apt install git
sudo apt install postgresql postgresql-client
sudo apt install python3-dev libxml2-dev libxslt1-dev libldap2-dev libsasl2-dev
sudo apt install gcc
sudo apt install libpq-dev
pip install matplotlib
pip install setuptools wheel
pip install PyPDF2
pip install psycopg2
cat requirements.txt | grep Werk
pip uninstall Werkzeug
pip install Werkzeug==0.14.1
eCommerce:
pip install python-stdnum
下面是一个可以用的docker-compose 配置
参考官方文档: https://hub.docker.com/_/odoo
docker-compose up -d
web和db两个服务,需要数据库HOST,用户名,密码匹配
version: '3.1' services: web: image: odoo:16.0 depends_on: - db ports: - "8069:8069" volumes: - odoo-web-data:/var/lib/odoo - ./config:/etc/odoo - ./addons:/mnt/extra-addons environment: - HOST=db - USER=odoo - PASSWORD=8OiVZJ45xvBo db: image: postgres:15 environment: - POSTGRES_DB=postgres - POSTGRES_PASSWORD=8OiVZJ45xvBo - POSTGRES_USER=odoo - PGDATA=/var/lib/postgresql/data/pgdata volumes: - odoo-db-data:/var/lib/postgresql/data/pgdata ports: - "5432:5432" volumes: odoo-web-data: odoo-db-data:
弱网络环境下可以参考:(先下载deb文件让dockerFile使用)
如果遇到错误:【no matching manifest for linux/arm64/v8 in the manifest list entries】
- 在ARM平台会遇到这样的问题(Mac M1) 或者Oracle Cloud的Arm 平台
- 解决方案:
- 在image标签的同一级,上一行或者下一行,添加一行: 【- platform: linux/x86_64】
- 参考网页:
在ARM平台,使用docker-compose运行odoo的方法:
使用odoo官方镜像
nginx 413 request entity too large
- 使用nginx默认配置做反向代理的时候,在odoo17里面保存blog内容,(图片多的时候)很容易有
http 413 request entity too large
- 方案
- 原因: 用Nginx反向代理服务器,进行附件相关的操作时,当文件大小超过1M,会出现413 Request Entity Too Large,这是由于nginx客户端默认的最大请求体是1M
- 解决: 为虚拟主机的server 增加配置:
client_max_body_size 10m;
- 使用nginx默认配置做反向代理的时候,在odoo17里面保存blog内容,(图片多的时候)很容易有
http://localhost:8069/web/database/manager
sudo snap install docker 这个不太通用
- 运行一个独立的PG容器
sudo docker run -it -p 8069:8069 -p 5432:5432 -v /home/ubuntu/docker_odoo_data:/var/lib/postgresql/data/pgdata ubuntu bash
以下是一个可用的odoo docker-compose.yml 文件配置 (环境是intel,不是ARM。 ARM需要改配置或者用另外的方案)
version: '3.1'
services:
web:
image: odoo:17.0
depends_on:
- db
ports:
- "8069:8069"
volumes:
- odoo-web-data:/var/lib/odoo
- ./config:/etc/odoo
- ./addons:/mnt/extra-addons
environment:
- HOST=db
- USER=odoo
- PASSWORD=odoo
db:
image: postgres:15
environment:
- POSTGRES_DB=postgres
- POSTGRES_PASSWORD=odoo
- POSTGRES_USER=odoo
- PGDATA=/var/lib/postgresql/data/pgdata
volumes:
- odoo-db-data:/var/lib/postgresql/data/pgdata
ports:
- "5432:5432"
volumes:
odoo-web-data:
odoo-db-data:
- 启动odoo服务:直接: sudo docker-compose up -d
- 新版本以后要用: docker compose up -d (没有中间的-)
- 注意:
- web的 USER,PASSWORD 要跟 db的 POSTGRES_USER, POSTGRES_PASSWORD一致
- 启动后,第一次打开odoo,要输入管理员的用户名和密码(不是连接PG数据库的密码)
- 会提示一个默认的 master password ,要尽快改掉
- 第一次打开 database selector,动作是create
- 所以这里是新建数据库(账套),而不是选用一个已有的数据库
666 · 1
(点赞功能开发中)