这是Odoo系列文章的CentOS 7下的安装方法,有关 Ubuntu 下 Odoo 的安装在10分钟带你搭建史上最强的ERP系统-Odoo最新版一文中,完整目录请见最好用的免费ERP系统Odoo 11开发指南
1 2 3 4 5 6 7 8 9 |
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 # 或直接执行 sudo yum -y install python36 python36-devel # 安装其它所需依赖 sudo yum -y install git gcc wget nodejs-less libxslt-devel bzip2-devel openldap-devel libjpeg-devel freetype-devel postgresql-devel |
添加新用户(可选)
1 |
sudo useradd -m -U -r -d /opt/odoo -s /bin/bash odoo |
安装和配置 PostgreSQL
1 2 3 4 5 6 7 8 |
sudo yum -y install postgresql-server # 初始化 sudo postgresql-setup initdb # 启动服务 sudo systemctl enable postgresql sudo systemctl start postgresql # 创建用户(可任选名称,与前面创建的系统用户名需相同) sudo su - postgres -c "createuser -s odoo" |
安装Wkhtmltopdf
1 2 3 4 |
wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.1/wkhtmltox-0.12.1_linux-centos7-amd64.rpm sudo yum localinstall wkhtmltox-0.12.1_linux-centos7-amd64.rpm # 中文字体 yum install -y wqy-microhei-fonts wqy-zenhei-fonts |
安装 Odoo
用户准备
不设置执行后述操作时会报出xxx is not in the sudoers file. This incident will be reported.
1 2 3 4 |
su - root visudo # 在root ALL=(ALL) ALL下添加相应用户 odoo ALL=(ALL) ALL |
安装及配置
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
# 切换用户 sudo su - odoo git clone https://www.github.com/odoo/odoo --depth 1 --branch 11.0 /opt/odoo/odoo11 cd /opt/odoo python3 -m venv odoo11-venv source odoo11-venv/bin/activate # 或者 Virtualenvwrapper(使用这种方法/etc/systemd/system/odoo11.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 # 安装依赖包,若安装时卡在reportlab,请尝试将 requirements.txt 中对应部分修改为 reportlab==3.4.0 pip3 install -i https://pypi.douban.com/simple -r odoo11/requirements.txt deactivate # 创建自定义插件目录 mkdir 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/odoo11.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/odoo11/addons ; If you are using custom modules ; addons_path = /opt/odoo/odoo11/addons,/opt/odoo/local-addons |
小技巧:Git clone提速
通过http://tool.chinaz.com/dns/查询如下两个域名,查了几次后选择一个响应比较快的IP
1 2 3 |
# 在/etc/hosts中添加(更换如下IP部分),配置好后重启网络 151.101.229.194 github.global.ssl.fastly.net 151.101.228.133 assets-cdn.github.com |
添加服务
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
sudo vi /etc/systemd/system/odoo11.service [Unit] Description=Odoo11 Requires=postgresql.service After=network.target postgresql.service [Service] Type=simple SyslogIdentifier=odoo11 PermissionsStartOnly=true User=odoo Group=odoo WorkingDirectory=/opt/odoo Environment=/opt/odoo/odoo11-venv/bin/activate ExecStart=/opt/odoo/odoo11-venv/bin/python3 /opt/odoo/odoo11/odoo-bin -c /etc/odoo11.conf # ExecStart=/usr/bin/scl enable rh-python36 -- /opt/odoo/odoo11-venv/bin/python3 /opt/odoo/odoo11/odoo-bin -c /etc/odoo11.conf StandardOutput=journal+console [Install] WantedBy=multi-user.target # 启动服务 sudo systemctl daemon-reload sudo systemctl start odoo11 |
如果启动有问题可以通过sudo journalctl -u odoo11 –since today查看日志,启动正常后访问http://<your_domain_or_IP_address>:8069即可进入安装页面
注:请先确定防火墙是否开启或屏蔽了默认的8069端口,可选择关闭或者开放该端口访问
1 2 |
sudo firewall-cmd --zone=public --add-port=8069/tcp --permanent sudo firewall-cmd --reload |
参考链接:https://linuxize.com/post/install-odoo-11-on-centos-7/
常见问题:
1、odoo odoo.modules.registry: At least one model cache has been invalidated, signaling through the database.
浏览器的 console 中显示Missing dependencies: (2) [“web.session”, “web.WebClient”]
解决方法:尚未找到彻底的解决方案,链接中添加?debug=assets可以确保正常访问
2.页面 js,css 等静态文件在安装界面显示为404
检查 addons_path 的设置
3.NameError: variable @color-white-50 is undefined in – on line 3350
这一错误在打开网站前端页面时出现,可能是由于一系列操作偶然产生,解决方法
a. 在对应的 less 文件中添加@color-white-50或其它报错内容的定义,本例文件为addons/website/static/src/less/website.snippets.less
1 |
@color-white-50: fade(white, 50%); |
b.在后台 Apps 中找到Web Editor并点击 Upgrade
4.Uncaught TypeError: Cannot read property ‘colspan’ of undefined
这一错误为编辑项目中的 Task时出现的,不排除在其它地方同样会存在
1 2 3 4 5 6 |
# vi +396 addons/web/static/src/js/views/form/form_renderer.js # 在其它测试环境打印也是 NaN,但执行流畅,临时解决方案为 var colspan = parseInt(child.attrs.colspan, 10); # 修改为 // var colspan = parseInt(child.attrs.colspan, 10); var colspan = 0; |