ubuntu安装gooderp终极指南

概述

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

1
2
3
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 下载公钥更新软件源

1
2
3
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 添加

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
[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