在做ODOO的前提下需要PostgreSQL,  SO....

#!/bin/bash
PID=`echo $$`
echo -e "\033[35m
该脚本只在CentOS 7.4.1708版本上进行了测试,
其他Linux发行版本并未进行测试(如Ubuntu、Debian、Mint、Fedora、FreeBSD、SUSE等)
\033[0m
"
get_char()
{
  SAVEDSTTY=`stty -g`
  stty -echo
  stty raw
  dd if=/dev/tty bs=1 count=1 2> /dev/null
  stty -raw

  stty echo
  stty $SAVEDSTTY
}

kk=11
echo "按任意键开始安装....."
while [ $kk -gt 0 ];do
  echo -n $kk
  sleep 1
  kk=$(($kk - 1))
  echo -ne "\r \r"
done

char=`get_char`
if [ $char == 'q' ];then
kill -9 $PID
fi

groupadd gooderp
useradd -g gooderp gooderp
echo "123456" | passwd --stdin gooderp
usermod -aG wheel gooderp

#设置gooderp用户权限
sed -i '/%wheel/a\gooderp ALL=(ALL) NOPASSWD: ALL' /etc/sudoers

#判断GIT

opop="git wget"
for i in $opop
do
    which $i
    if [ $? -ne 0 ];then
  yum -y install $i
 fi
done

#下载源码:
su - gooderp -c "sudo mkdir /source_package"
su - gooderp -c "cd /source_package && sudo git clone http://github.com/osbzr/gooderp_addons"
su - gooderp -c "cd /source_package && sudo git clone http://github.com/osbzr/base"
su - gooderp -c "cd ~ && curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.2/install.sh | bash"

#安装nodejs
su - gooderp -c "curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.2/install.sh | bash"
su - gooderp -c "echo export NVM_DIR="\$HOME/.nvm" >> ~/.bashrc"

su - gooderp -c 'echo "[ -s \"\$NVM_DIR/nvm.sh\" ] && \. \"\$NVM_DIR/nvm.sh\"" >> ~/.bashrc'
su - gooderp -c 'echo "[ -s \"\$NVM_DIR/bash_completion\" ] && \. \"\$NVM_DIR/bash_completion\"" >> ~/.bashrc'
sleep 3
su - gooderp -c 'source ~/.bashrc'

#安装nodejs
su - gooderp -c 'nvm install --lts'
#安装less
su - gooderp -c 'npm install -g less'

#安装postgresql(使用root用户)
cd /source_package
wget https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-redhat10-10-2.noarch.rpm
yum -y install pgdg-redhat10-10-2.noarch.rpm
#安装服务端
yum -y install postgresql10-server
#安装客户端
yum -y install postgresql10
#初始化postgresql数据库
/usr/pgsql-10/bin/postgresql-10-setup initdb
#启动postgresql
systemctl start postgresql-10
#设置开机启动服务
systemctl enable postgresql-10

#安装python(pyenv)

su - gooderp -c 'curl -L https://raw.githubusercontent.com/pyenv/pyenv-installer/master/bin/pyenv-installer | bash'
su - gooderp -c 'echo export PATH="/home/gooderp/.pyenv/bin:\$PATH" >> ~/.bashrc'
su - gooderp -c 'echo eval \"\$\(pyenv init -\)\" >> ~/.bashrc'
su - gooderp -c 'echo eval \"\$\(pyenv virtualenv-init -\)\" >> ~/.bashrc'
su - gooderp -c 'source ~/.bashrc'
#安装python
yum -y install readline-devel zlib-devel bzip2-devel libsqlite3x-devel openssl-devel
su - gooderp -c 'pyenv install 2.7.14'
su - gooderp -c 'pyenv global 2.7.14 && pip install --upgrade pip'
yum -y install libxml2-devel python-devel openldap-devel libxslt libxslt-devel gcc*
su - gooderp -c 'pip install -r /source_package/base/requirements.txt'
su - gooderp -c 'pip install simplejson httplib2' #如果这两个没有安装则安装界面会没有css样式

#安装wkhtmltopdf
su - gooderp -c 'cd /source_package && sudo wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.2.1/wkhtmltox-0.12.2.1_linux-centos7-amd64.rpm'
su - gooderp -c 'sudo yum -y install /source_package/wkhtmltox-0.12.2.1_linux-centos7-amd64.rpm'

#配置数据库
echo -e "\033[31m自定义建立数据库用户:\033[0m"
echo -e "-d: --createdb \033[31m此角色可以创建新数据库\033[0m"
echo -e "-U: --username=USERNAME \033[31m联接用户(不是要创建的用户名)\033[0m"
echo -e "-R: --no-createrole \033[31m这个角色没有创建其它角色的权限(默认)\033[0m"
echo -e "-S: --no-superuser \033[31m角色不能是超级用户(默认)\033[0m"

echo -e "-P: --pwprompt \033[31m给新角色指定口令\033[0m"
echo -e "\033[35m gooderp \033[0m是要在postgres数据库中创建的新用户"
echo -e "\033[34m请牢记自己接下来输入的密码\033[0m"

su - postgres -c 'createuser -d -U postgres -R -S -P gooderp'

#修改两个文件夹的权限不然会报错(以root用户执行)
chown -Rf gooderp.gooderp /source_package/{base,gooderp_addons}
#之后启动gooderp
su - gooderp -c 'cd /source_package/ && python base/odoo-bin --addons-path=gooderp_addons &'
#postgres Ident 认证设置
sudo sed -i '/# IPv6 local connections/i\host all all 0.0.0.0/0 md5' /var/lib/pgsql/10/data/pg_hba.conf
echo "[Service]" >> /usr/lib/systemd/system/gooderp.service
echo "Type=simple" >> /usr/lib/systemd/system/gooderp.service
echo "User=gooderp" >> /usr/lib/systemd/system/gooderp.service
echo "ExecStart=/home/gooderp/.pyenv/versions/2.7.14/bin/python /source_package/base/odoo-bin --addons-path=/source_package/gooderp_addons" >> /usr/lib/systemd/system/gooderp.service
echo "[Install]" >> /usr/lib/systemd/system/gooderp.service
echo "WantedBy=multi-user.targe" >> /usr/lib/systemd/system/gooderp.service
#让配置文件生效
sudo systemctl daemon-reload
#开机自启
sudo systemctl enable gooderp.service

gooderp安装的更多相关文章

  1. 在vmware中 centos7安装gooderp

    环境为windows 10系统,vmware 12,centos 7.4.centos安装了gnome桌面,用里面的终端来安装,自带的firefox浏览器. 增加用户 首先要新建一个用户来管理good ...

  2. ODOO(ERP源码安装)

    cat /etc/centos-release CentOS Linux release 7.4.1708 (Core) uname -r 3.10.0-693.el7.x86_64 IP:192.1 ...

  3. docker——容器安装tomcat

    写在前面: 继续docker的学习,学习了docker的基本常用命令之后,我在docker上安装jdk,tomcat两个基本的java web工具,这里对操作流程记录一下. 软件准备: 1.jdk-7 ...

  4. 网络原因导致 npm 软件包 node-sass / gulp-sass 安装失败的处理办法

    如果你正在构建一个基于 gulp 的前端自动化开发环境,那么极有可能会用到 gulp-sass ,由于网络原因你可能会安装失败,因为安装过程中部分细节会到亚马逊云服务器上获取文件.本文主要讨论在不变更 ...

  5. Sublime Text3安装JsHint

    介绍 Sublime Text3使用jshint依赖Nodejs,SublimeLinter和Sublimelinter-jshint. NodeJs的安装省略. 安装SublimeLinter Su ...

  6. Fabio 安装和简单使用

    Fabio(Go 语言):https://github.com/eBay/fabio Fabio 是一个快速.现代.zero-conf 负载均衡 HTTP(S) 路由器,用于部署 Consul 管理的 ...

  7. gentoo 安装

    加载完光驱后 1进行ping命令查看网络是否通畅 2设置硬盘的标识为GPT(主要用于64位且启动模式为UEFI,还有一个是MBR,主要用于32位且启动模式为bois) parted -a optima ...

  8. Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part3:db安装和升级

    Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part3:db安装和升级 环境:OEL 5.7 + Oracle 10.2.0.5 RAC 5.安装Database软件 5. ...

  9. Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part1:准备工作

    Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part1:准备工作 环境:OEL 5.7 + Oracle 10.2.0.5 RAC 1.实施前准备工作 1.1 服务器安装操 ...

随机推荐

  1. git常用命令总结以及用github来展示你的前端页面

    命令小结 命令  功能 git init 把当前文件夹初始化为默认的git库 git add 文件名 向git库中添加一个文件 git rm 文件名 从git库中删除一个文件 git status 查 ...

  2. mybatis的三种批量插入以及次效率比较

    1.表结构 CREATE TABLE `t_user` ( `id` varchar(32) CHARACTER SET utf8 NOT NULL COMMENT '主键', `name` varc ...

  3. Python 标准类库-Windows特殊服务之msvcrt

    标准类库-Windows特殊服务之msvcrt   by:授客 QQ:1033553122 广告:出售自研自动化小平台(无需编码也可用),有需要请联系 测试环境 win7 64位 Python 3.4 ...

  4. C#-继承(十一)

    继承概念 承用于创建可重用.扩展和修改在其他类中定义的行为的新类 创建一个类的时候,不是要写全新的数据成员和成员函数,可以指定新的类继承一个已经存在的类的成员.已有的类称为基类,新的类称为派生类 派生 ...

  5. Function、Object、Prototype 之间的关系解析

    前提:js中所有的内置对象都是Function 的实例. 例如:Array\String\Number... 等 原理剖析: 对象属性搜索的原理就是按照对象的 __proto__ 属性进行搜索,直到_ ...

  6. MySQL open_tables和opened_tables

    官网解释参见:https://dev.mysql.com/doc/refman/5.7/en/table-cache.html 其他可供参考的文章有: 关于表限制参数的使用:https://dba.s ...

  7. 3d max 动作Take 001改名

    问题描述 带动作的Fbx文件导入Unity之后,动作名字为Take 001,如下所示: 在max那边是没有办法改名的,只能在Unity中改名. 方法1 1. 选中动画文件,按Ctrl + D,复制一份 ...

  8. Django中间件的使用

    Django中间件的使用 中间件(middleware) 中间件应用于request与服务端之间和服务端与response之间,客户端发起请求到服务端接收可以通过中间件,服务端返回响应与客户端接收响应 ...

  9. react 之 reflux 填坑

    注意:老铁些,在看这篇文章的之前,最好了解一下react 的全局状态管理库哦,不然可能会坐飞机. ^_^ React 之reflux (它是一个功能模块,需要安装引入): import Reflux ...

  10. MySQL高级知识(二)——Join查询

    前言:该篇主要对MySQL中join语句的七种情况进行总结. 0.准备 join主要根据两表或多表之间列的关系,从这些表中进行数据的查询. 首先创建两张表:tb_emp(员工表)和tb_dept(部门 ...