新增 Odoo 12系列开发手册
➣第一章 使用开发者模式快速入门 Odoo 12
➣第二章 Odoo 12开发之开发环境准备
➣第三章 Odoo 12 开发之创建第一个 Odoo 应用
➣第四章 Odoo 12 开发之模块继承
➣第五章 Odoo 12开发之导入、导出以及模块数据
➣第六章 Odoo 12开发之模型 - 结构化应用数据
➣第七章 Odoo 12开发之记录集 - 使用模型数据
➣第八章 Odoo 12开发之业务逻辑 - 业务流程的支持
➣第九章 Odoo 12开发之外部 API - 集成第三方系统
➣第十章 Odoo 12开发之后台视图 - 设计用户界面
➣第十一章 Odoo 12开发之看板视图和用户端 QWeb
➣第十二章 Odoo 12开发之报表和服务端 QWeb
➣第十三章 Odoo 12开发之创建网站前端功能
➣第十四章 Odoo 12开发之部署和维护生产实例
Odoo 12已正式发布,在 Github 和Nigthly 均可下载源码,此前在博客上发布了Ubuntu 快速安装配置Odoo 12,本文探讨 CentOS 上安装 Odoo 12的相关内容。
sudo yum -y update
sudo yum -y install epel-release
# 添加Software Collections (SCL) 安装 Python
sudo yum -y install centos-release-scl
sudo yum -y install rh-python36
# 或直接执行(可能需要提前执行yum -y groupinstall "Development tools")
sudo yum -y install python36 python36-devel
# 又或者
curl -O https://www.python.org/ftp/python/3.6.7/Python-3.6.7rc2.tgz
tar xf Python-3.6.7rc2.tgz
cd Python-3.6.7rc2
./configure
make
sudo make install
# 安装其它所需依赖
sudo yum -y install git gcc wget nodejs-less libxslt-devel bzip2-devel openldap-devel libjpeg-devel freetype-devel
添加新用户(可选)
sudo useradd -m -U -r -d /opt/odoo -s /bin/bash odoo
安装和配置 PostgreSQL
yum install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-2.noarch.rpm
yum install postgresql10 postgresql10-server -y
# 初始化
/usr/pgsql-10/bin/postgresql-10-setup initdb
# 启动服务
systemctl enable postgresql-10
systemctl start postgresql-10
# 创建用户(可任选名称,与前面创建的系统用户名需相同)
su - postgres -c "createuser -s odoo"
注意:Odoo 12要求安装 PostgreSQL 10否则会出现报错:
Database creation error: relation "ir_model" does not exist LINE 1: SELECT * FROM ir_model WHERE state='manual'
安装Wkhtmltopdf
wget https://downloads.wkhtmltopdf.org/0.12/0.12.5/wkhtmltox-0.12.5-1.centos7.x86_64.rpm
sudo yum localinstall wkhtmltox-0.12.5-1.centos7.x86_64.rpm
# 中文字体
yum install -y wqy*
安装Sass
yum install -y sassc
安装 Odoo
用户准备
不设置执行后述操作时会报出xxx is not in the sudoers file. This incident will be reported.
su - root
visudo
# 在root ALL=(ALL) ALL下添加相应用户
odoo ALL=(ALL) ALL
安装及配置
# 切换用户
sudo su - odoo
cd /opt/odoo
wget http://nightly.odoo.com/12.0/nightly/src/odoo_12.0.latest.tar.gz
# 或git clone https://www.github.com/odoo/odoo --depth 1 --branch 12.0 /opt/odoo/odoo12
tar -zxvf odoo_12.0.latest.tar.gz
mv odoo-12.0.post20181019/ odoo12
# 当前使用 nightly 版本有一个坑,需要自行添加 odoo-bin 文件
#!/usr/bin/env python3
# set server timezone in UTC before time module imported
__import__('os').environ['TZ'] = 'UTC'
import odoo
if __name__ == "__main__":
odoo.cli.main()
#添加执行权限
chmod +x odoo12/odoo-bin
#环境搭建
python3 -m venv odoo12-venv
source odoo12-venv/bin/activate
# 或者 Virtualenvwrapper(使用这种方法/etc/systemd/system/odoo12.service也需调整)
curl "https://bootstrap.pypa.io/get-pip.py" -o "get-pip.py"
python36 get-pip.py
pip3 install virtualenvwrapper
# vi ~/.bashrc
export WORKON_HOME=/opt/virtualenvs
# export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python36
source /usr/bin/virtualenvwrapper.sh
#重载.bashrc
source ~/.bashrc
# 安装依赖包
pip3 install -i https://pypi.douban.com/simple -r odoo12/requirements.txt
deactivate
# 创建自定义插件目录
mkdir odoo12/local-addons
# 创建配置文件(<a href="https://www.jianshu.com/p/abf366d7319e" target="_blank" rel="noopener" data-mce-href="https://www.jianshu.com/p/abf366d7319e">配置项详解参考</a>)
# odoo11/odoo-bin --help也可进行查看
sudo vi /etc/odoo12.conf
[options]
; This is the password that allows database operations:
# 此处密码请自行修改
admin_passwd = superadmin_passwd
db_host = False
db_port = False
db_user = odoo
db_password = False
; addons_path = /opt/odoo/odoo12/odoo/addons
; If you are using custom modules
addons_path = /opt/odoo/odoo12/odoo/addons,/opt/odoo/odoo12/local-addons
添加服务
sudo vi /etc/systemd/system/odoo12.service
[Unit]
Description=Odoo12
Requires=postgresql-10.service
After=network.target postgresql-10.service
[Service]
Type=simple
SyslogIdentifier=odoo12
PermissionsStartOnly=true
User=odoo
Group=odoo
WorkingDirectory=/opt/odoo
Environment=/opt/odoo/odoo12-venv/bin/activate
ExecStart=/opt/odoo/odoo12-venv/bin/python3 /opt/odoo/odoo12/odoo-bin -c /etc/odoo12.conf
# ExecStart=/usr/bin/scl enable rh-python36 -- /opt/odoo/odoo12-venv/bin/python3 /opt/odoo/odoo12/odoo-bin -c /etc/odoo12.conf
StandardOutput=journal+console
[Install]
WantedBy=multi-user.target
# 启动服务
sudo systemctl daemon-reload
sudo systemctl start odoo12
本文首发地址:Alan Hou 的个人博客
网友评论