cat /etc/centos-release
CentOS Linux release 7.4.1708 (Core)
uname -r
3.10.0-693.el7.x86_64
IP:192.168.1.233
PostgreSQL + Python = GoodERP
#手動安裝:
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
#下載源碼:
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用戶)
yum -y install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/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[35mgooderp\033[0m 是要在postgres數據庫中創建的新用戶"
echo -e "\033[34m請牢記自己下來輸入的密碼\033[0m"
su - postgres -c 'createuser -d -U postgres -R -S -P gooderp'
#修改兩個文件夾的權限不然會報錯
su - gooderp -c 'sudo chown -Rf gooderp.gooderp /source_package/{base,gooderp_addons}'
#之后啟動gooderp
su - gooderp -c 'cd /source_package/ && python base/odoo-bin --addons-path=gooderp_addons &'
#注:gooderp用戶的密碼為123456
VIA: https://www.jianshu.com/p/8e808d65dc43
腳本安裝:(如復制腳本可能會出現編碼不對情況,請注意)
#!/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
which git
if [ $? -ne 0 ];then
yum -y install git
fi
#下載源碼:
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
瀏覽器訪問: IP:8069
歡迎加入QQ群一起討論Linux、開源等技術