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

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