centos安装gooderp

概述

上次讲过在windows下安装gooderp的,简直就是傻瓜式操作,安装之后连gooderp是什么语言写的什么数据库的都不知道,现在介绍下centos下安装的过程

增加用户

首先要新建一个用户来管理gooderp
groupadd gooderp
useradd -g gooderp gooderp
之后给这个用户分配密码
passwd gooderp
切换到刚才新建的用户
su gooderp

下载源代码

cd ~
git clone http://github.com/osbzr/gooderp_addons
git clone http://github.com/osbzr/base
之后你会发现当前目录下多了两个文件夹

1
2
$ ls
base gooderp_addons

安装nodejs

这个我是使用nvm来安装的
首先安装nvm
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.2/install.sh | bash
之后输入nvm,如果提示没有找到命令,那么是环境变量的问题,把下面的环境变量添加到.bashrc中

1
2
3
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion

之后使环境变量生效
source .bashrc
就好了
之后安装nodejs
nvm install --lts
接着安装less
npm install -g less

安装postgresql

切换到root用户
su root
安装postgresql软件源
yum install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-redhat10-10-1.noarch.rpm
安装postgresql客户端
yum install postgresql10
安装postgresql服务端
yum install postgresql10-server
初始化postgresql数据库
/usr/pgsql-10/bin/postgresql-10-setup initdb
设置开机启动服务
systemctl enable postgresql-10
启动postgresql
systemctl start postgresql-10

安装python

切换到gooderp用户
su gooderp
我使用的是pyenv安装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
pyenv install 2.7.14
编译安装的时候可能会有一些库提示没有找到,大部分就是下面这些库

  • readline-devel
  • zlib-devel
  • bzip2-devel
  • libsqlite3x-devel
  • openssl-devel

记住上面的库安装完成之后要切回gooderp用户之后再安装python
如果你不想像上面这么麻烦直接把用户加入sudo用户组中
visudo
接着在文本末添加下面这句话
gooderp ALL=(ALL:ALL) ALL
切换python版本pyenv global 2.7.14
pip install -r base/requirements.txt
下面两个如果没有安装的话安装界面会没有css样式
pip install simplejson httplib2
安装的时候可能会报错,我把我的报错还有解决方法贴上来

  • /tmp/xmlXPathInititHmQc.c:1:26: 致命错误:libxml/xpath.h:没有那个文件或目录
    安装下面这个包就好
    sudo yum install libxml2-devel

  • 致命错误:Python.h:没有那个文件或目录
    安装下面这个包
    sudo yum install python-devel

  • 致命错误:libxml/xmlversion.h:没有那个文件或目录
    安装下面两个包libxslt,libxslt-devel

  • 致命错误:lber.h:没有那个文件或目录
    安装下面这个包
    sudo yum install openldap-devel
    之后就顺利安装完成了

安装wkhtmltopdf

下载
wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.2.1/wkhtmltox-0.12.2.1_linux-centos7-amd64.rpm
因为阿里云的服务器连接外网速度等于断网,所以我是本地挂代理下载然后传到服务器上的
安装
sudo rpm -ivh wkhtmltox-0.12.2.1_linux-centos7-amd64.rpm

配置数据库

首先切换到root用户
su root
之后切换到postgresql用户
su postgres
建立数据库用户
createuser -d -U postgres -R -S -P gooderp
之后退出来
exit
切换到gooderp用户
su gooderp
修改两个文件夹的权限不然会报错
chown -Rf gooderp:gooderp base/ gooderp_addons/
之后启动gooderp
python base/odoo-bin --addons-path=gooderp_addons &
目前gooderp的端口是8069所以ip:8069访问就好

设置开机启动

我们使用systemed来开机启动gooderp
创建下面这个文件
vim /usr/lib/systemd/system/gooderp.service
输入下面内容

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

开机自启
sudo systemctl enable gooderp.service

欢迎关注Bboysoul的博客www.bboy.app
Have Fun

欢迎关注我的其它发布渠道