在做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. 在插件中得到,调用 插件的id

    <!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8" ...

  2. matlab练习程序(点云表面法向量)

    思路还是很容易想到的: 1.首先使用KD树寻找当前点邻域的N个点,这里取了10个,直接调用了vlfeat. 2.用最小二乘估计当前邻域点组成的平面,得到法向量. 3.根据当前邻域点平均值确定邻域质心, ...

  3. windows下,下载pip安装

    windows下,下载pip安装 https://pypi.python.org/pypi/pip#downloads 找到source那个压缩文件,下载下来解压. 参考: windows下面安装Py ...

  4. 语句调优基础知识-set statistics time on

    set statistics time on --清空缓存数据 dbcc dropcleanbuffers go --清空缓存计划 dbcc freeproccache go set statisti ...

  5. C#获取一个实体类的属性名称、属性值

    using System.Reflection; Type t = obj.GetType();//获得该类的Type foreach (PropertyInfo pi in t.GetPropert ...

  6. python——作用域之LEGB规则

    1 变量的作用域 Python是静态作用域,也就是说在Python中,变量的作用域源于它在代码中的位置:在不同的位置,可能有不同的命名空间.命名空间是变量作用域的体现形式. 2 LEGB各自代表的含义 ...

  7. Java入门(七):方法

    方法,在日常生活中可以理解成解决问题或处理事情的技巧,一个方法的形成,需要思考和分析,从而形成一步一步的步骤,最后在实际执行过程中验证自己的思路.在Java中,方法的形成亦是如此. 方法,指用于封装一 ...

  8. java操作elasticsearch实现聚合查询

    1.max 最大值 //max 求最大值 @Test public void test30() throws UnknownHostException{ //1.指定es集群 cluster.name ...

  9. 平方根的C语言实现(一) —— 浮点数的存储

    版权申明:本文为博主窗户(Colin Cai)原创,欢迎转帖.如要转贴,必须注明原文网址 http://www.cnblogs.com/Colin-Cai/p/7203254.html 作者:窗户 Q ...

  10. python list和tuple

    list列表简介:列表是python的基础数据类型之⼀ ,其他编程语⾔也有类似的数据类型. 比如JS中的数组, java中的数组等等. 它是以[ ]括起来, 每个元素⽤' , '隔开⽽且可以存放各种数 ...