概述
我承认以前的centos安装上有错误,这次,我重新记录一下安装过程
注意,我使用pyenv来管理python的版本
安装开始
环境是ubuntu16.04阿里云的ecs
首先更新下系统
sudo apt update && sudo apt upgrade
接着移除旧内核
sudo apt autoremove
因为ubuntu是不用重启就可以安装好内核的,所以你可以不重启
新建gooderp用户
首先新建一个用户来管理gooderp
groupadd gooderp
useradd -g gooderp gooderp
passwd gooderp
接着让gooderp用户可以使用sudo命令
visudo
在这个文件中添加
gooderp ALL=(ALL:ALL) ALL
之后切换成gooderp用户
su gooderp
下载源码包
首先安装git
sudo 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包管理工具去安装nodejs
sudo apt install npm
默认nodejs的二进制文件是nodejs而不是node,项目中使用的是node所以要建立一个链接
ln -s /usr/bin/nodejs /usr/bin/node
接着安装less
sudo npm install -g less
安装python
首先安装pyenv
curl -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
安装python
pyenv install 2.7.14
之后别忘记切换python的版本,把从system切换到2.7.14
pyenv global 2.7.14
之后安装依赖
pip install -r base/requirements.txt
安装的时候会报错,我贴我的报错信息
Could not find function xmlCheckVersion in library libxml2. Is libxml2 installed?
安装libxml2-dev
sudo 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-dev
sudo apt install libxslt-dev
继续报错
Modules/errors.h:8:18: fatal error: lber.h: No such file or directory
安装libldap2-dev
sudo 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
安装postgresql
sudo 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/
启动gooderp
python 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
重启验证
欢迎关注我的博客www.bboy.app
Have Fun