首页 公告 项目 RSS

ubuntu安装gooderp终极指南

February 4, 2018 本文有 1065 个字 需要花费 3 分钟阅读

概述

我承认以前的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