在做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. MongoDB 3.0 WT引擎参考配置文件

    单实例: systemLog: destination: file ###日志存储位置 path: /data/mongodb/log/mongod.log logAppend: true stora ...

  2. writing objects : 值%停住

    在git bush 中使用命令:git config --global http.postBuffer 524288000 因为git上传,限定一次push命令的buffer大小.

  3. Spinner的简单使用

    <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=&quo ...

  4. Servlet以及单例设计模式

    1.Servlet概述 a)Servlet,全城是Servlet Applet,服务器端小程序,是一个接口,定义了若干方法,要求所有的Servlet必须实现. b)Servlet用于接收客户端的请求, ...

  5. cmd输出控制台传递的参数

    public class Test2{ public static void main(String[] args){ System.out.println(args[0]); System.out. ...

  6. Spring MVC HelloWorld入门及运行机制 (一)

    完整的项目案例: springmvc.zip 介绍 SpringMVC是一款Web MVC框架. 它跟Struts框架类似,是目前主流的Web MVC框架之一. 文章通过实例来介绍SpringMVC的 ...

  7. solidity高级理论(三):时间单位与view

    solidity高级理论(三):时间单位与view 关键字:时间单位.view.Gas优化 solidity使用自己的本地时间单位 变量 now 将返回当前的unix时间戳(自1970年1月1日以来经 ...

  8. Android 自定义ListView单击事件失效

    因为自带的listView不能满足项目需求,通过实现自己的Adapter去继承ArrayAdapter 来实现自定义ListView的Item项目. 出现点击ListView的每一项都不会执行setO ...

  9. adb 的常见问题与处理办法两三

    问题1:无法安装手机驱动, 解决方法:安装强大的豌豆荚,通常能都能解决问题 问题2: adb devices 时出现 adb devicesadb server is out of date.  ki ...

  10. wordpress安装后访问博客只显示文字的解决办法

    按着网上的教程,买了腾讯云服务器,上面的镜像已经安装好WordPress了.但是发现并不像网上十分钟搭建个人站点等的写的那么简单.遇到了一些问题,下面来详细讲一讲. 首先是用ip地址不能直接访问服务器 ...