概述
我承认以前的centos安装上有错误,这次,我重新记录一下安装过程
注意,我使用pyenv来管理python的版本
安装开始
环境是ubuntu16.04阿里云的ecs
首先更新下系统sudo apt update && sudo apt upgrade
接着移除旧内核sudo apt autoremove
因为ubuntu是不用重启就可以安装好内核的,所以你可以不重启
新建gooderp用户
首先新建一个用户来管理gooderpgroupadd gooderp
useradd -g gooderp gooderp
passwd gooderp
接着让gooderp用户可以使用sudo命令visudo
在这个文件中添加gooderp ALL=(ALL:ALL) ALL
之后切换成gooderp用户su gooderp
下载源码包
首先安装gitsudo apt install git
在/home下新建gooderp目录sudo mkdir /home/gooderp
修改目录所有者sudo chown -Rf gooderp:gooderp /home/gooderp
接着切换到gooderp目录下载源码包cd ~
git clone http://github.com/osbzr/gooderp_addons
git clone http://github.com/osbzr/base
安装nodejs
因为环境变量的关系,所以我就没有使用nvm来管理nodejs版本了,直接使用apt包管理工具去安装nodejssudo apt install npm
默认nodejs的二进制文件是nodejs而不是node,项目中使用的是node所以要建立一个链接ln -s /usr/bin/nodejs /usr/bin/node
接着安装lesssudo npm install -g less
安装python
首先安装pyenvcurl -L https://raw.githubusercontent.com/pyenv/pyenv-installer/master/bin/pyenv-installer | bash
编辑.bashrc加入vim .bashrc
export PATH="/home/gooderp/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
使环境变量生效source .bashrc
安装 一些依赖,让python可以安装完整,就是下面这些sudo apt install zlib1g-dev libreadline-dev libssl-dev libbz2-dev libsqlite3-dev
安装pythonpyenv install 2.7.14
之后别忘记切换python的版本,把从system切换到2.7.14pyenv global 2.7.14
之后安装依赖pip install -r base/requirements.txt
安装的时候会报错,我贴我的报错信息Could not find function xmlCheckVersion in library libxml2. Is libxml2 installed?
安装libxml2-devsudo apt install libxml2-dev
接着报错src/lxml/includes/etree_defs.h:14:31: fatal error: libxml/xmlversion.h: No such file or directory
执行下面命令export C_INCLUDE_PATH=/usr/include/libxml2/
之后又报错src/lxml/includes/etree_defs.h:23:32: fatal error: libxslt/xsltconfig.h: No such file or directory
安装libxslt-devsudo apt install libxslt-dev
继续报错Modules/errors.h:8:18: fatal error: lber.h: No such file or directory
安装libldap2-devsudo apt install libldap2-dev
继续报错Modules/LDAPObject.c:18:18: fatal error: sasl.h: No such file or directory
安装下面这个包sudo apt-get install libsasl2-dev
最后下面这两个库没有安装可能会导致css样式有问题pip install simplejson httplib2
安装wkhtmltopdf
这个必须安装,不安装不能打印会计凭证,感谢jeff wang
首先下载wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.2.1/wkhtmltox-0.12.2.1_linux-trusty-amd64.deb
安装sudo apt install ./wkhtmltox-0.12.2.1_linux-trusty-amd64.deb
安装postgresql
新建下面这个文件 /etc/apt/sources.list.d/pgdg.list
在里面添加deb http://apt.postgresql.org/pub/repos/apt/ xenial-pgdg main
下载公钥更新软件源
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | \
sudo apt-key add -
sudo apt-get update
安装postgresqlsudo apt-get install postgresql-9.6
设置开机启动postgresql服务sudo systemctl enable postgresql
建立gooderp数据库用户
切换到postgresql用户su root
su postgres
建立gooderp用户createuser -d -U postgres -R -S -P gooderp
切换到gooderp用户su gooderp
修改两个文件夹用户权限chown -Rf gooderp:gooderp base/ gooderp_addons/
启动gooderppython base/odoo-bin --addons-path=gooderp_addons &
设置开机启动
编辑下面这个文件sudo vim /lib/systemd/system/gooderp.service
添加
[Unit]
Description=GoodERP
Documentation=http://www.gooderp.org/
After=network.target postgresql.service
[Service]
Type=simple
User=gooderp
ExecStart=/home/gooderp/.pyenv/versions/2.7.14/bin/python /home/gooderp/base/odoo-bin --addons-path=/home/gooderp/gooderp_addons
[Install]
WantedBy=multi-user.target
接着运行sudo systemctl enable gooderp
重启验证
欢迎关注Bboysoul的博客www.bboysoul.com
Have Fun