设为首页 收藏本站
查看: 729|回复: 0

Linux Shell十二 一键安装Discuz_v2

[复制链接]

尚未签到

发表于 2018-8-22 06:39:25 | 显示全部楼层 |阅读模式
#!/bin/bash  
#
  
#Target: Auto install Discuz!
  
#Date: 2015-05-07
  
#Author: Jacken
  
#QQ:654001593
  
#QQ Group:170544180
  
#Version: 2.0
  
#Note
  
#Define Function ,Add Select View,Auto Install ALL,More Stronger
  
#
  
#
  
###########################################################################################
  
#Httpd define path variable
  
H_FILES=httpd-2.2.29.tar.gz
  
H_FILES_DIR=httpd-2.2.29
  
H_URL='http://mirror.bit.edu.cn/apache/httpd/'
  
H_PREFIX='/usr/local/apache'
  
###########################################################################################
  
#Mysql define path variable
  
M_FILES='mysql-5.1.63.tar.gz'
  
M_FILES_DIR='mysql-5.1.63'
  
M_URL='http://downloads.mysql.com/archives/mysql-5.1/'
  
M_PREFIX='/usr/local/mysql'
  
###########################################################################################
  
#Php define path variable
  
P_FILES='php-5.3.28.tar.bz2'
  
P_FILES_DIR='php-5.3.28'
  
P_URL='http://mirrors.sohu.com/php/'
  
P_PREFIX='/usr/local/php5'
  
###########################################################################################
  
#Discuz define path variable
  
D_FILES='Discuz_X3.2_SC_UTF8.zip'
  
D_URL='http://download.comsenz.com/DiscuzX/3.2/'
  
D_DIR='/var/www/html'
  
MYSQL_PASSWD=mysqlpassword
  
###########################################################################################
  
#Only for super user to execute!
  
if [ $UID -ne 0 ];then
  
echo 'Error,Just for Super user.'
  
exit 2
  
fi
  
###########################################################################################
  
###########################################################################################
  
#Install Environment
  
function ENVIRONMENT (){
  
yum -y install apr-devel apr-util-devel gcc ncurses-devel gcc-c++ libxml2 libxml2-devel
  
if [ $? -eq 0 ];then
  
echo -e '\e[32mThe Environment Install Successful!\e[0m'
  
else
  
echo -e '\e[31mThe Environment Install Failure!\e[0m'
  
exit 2
  
fi
  
}
  
###########################################################################################
  
###########################################################################################
  
#Install Apache
  
function INSTALL_APACHE(){
  
  wget -c $H_URL$H_FILES && tar -zxf $H_FILES && cd $H_FILES_DIR && ./configure --prefix=$H_PREFIX && make && make install
  
if [ "$?" -eq "0" ];then
  
echo -e '\e[32mApache Server Install Success!\e[0m'
  
else
  
echo -e '\e[31mApache Server Install Failure!\e[0m'
  
exit 2
  
fi
  
}
  
###########################################################################################
  
###########################################################################################
  
#Install Mysql DB
  
function INSTALL_MYSQL (){
  
  wget -c $M_URL$M_FILES && tar -zxf $M_FILES && cd $M_FILES_DIR && ./configure --prefix=$M_PREFIX --enable-assembler && make && make install
  
if [ "$?" -eq "0" ];then
  
echo -e  '\e[32mMysql Server Install Success!\e[0m'
  
else
  
echo -e '\e[31mMysql Server Install Failure!\e[0m'
  
exit 2
  
fi
  
}
  
###########################################################################################
  
###########################################################################################
  
#Configure Mysql
  
function CONFIGURE_MYSQL(){
  
\cp ${M_PREFIX}/share/mysql/my-medium.cnf  /etc/my.cnf && \cp ${M_PREFIX}/share/mysql/mysql.server /etc/init.d/mysqld &&  chkconfig --add mysqld && chkconfig --level 345 mysqld on || echo -e '\e[31mMysql Server Configuue Failure!\e[0m' exit 2
  
#Useradd mysql user
  
id mysql>/dev/null 2>&1 || useradd mysql
  
cd $M_PREFIX
  
chown -R mysql.mysql $M_PREFIX && ${M_PREFIX}/bin/mysql_install_db --user=mysql > /dev/null 2>&1 &&
  
chown -R mysql var && /usr/local/mysql/bin/mysqld_safe --user=mysql& > /dev/null 2>&1 &&
  
if [ $? -eq 0 ];then
  
echo -e '\e[32mMysql Server Configure Success!\e[0m'
  
else
  
echo -e '\e[31mMysql Server Configuue Failure!\e[0m'
  
exit 2
  
fi
  
}
  
###########################################################################################
  
###########################################################################################
  
#Install Php
  
function INSTALL_PHP(){
  
wget -c $P_URL$P_FILES && tar -jxf $P_FILES && cd $P_FILES_DIR && ./configure  --prefix=$P_PREFIX  --with-config-file-path=${P_PREFIX}/etc  --with-apxs2=${H_PREFIX}/bin/apxs --with-mysql=$M_PREFIX && make && make install
  
if [ $? -eq 0 ];then
  
echo -e '\e[32mPhp Install Success!\e[0m'
  
else
  
echo -e '\e[31mPhp Install Failure!\e[0m'
  
exit 2
  
fi
  
}
  
###########################################################################################
  
###########################################################################################
  
# Integrate Php and Mysql
  
function INTEGRATE_PHP_MYSQL(){
  
sed -i '311a AddType     application/x-httpd-php .php' $H_PREFIX/conf/httpd.conf &&
  
sed -i 's/index.html/index.php index.html/' $H_PREFIX/conf/httpd.conf
  
if [ $? -eq 0 ];then
  
echo -e '\e[32mIntegrate is Success!\e[0m'
  
$H_PREFIX/bin/apachectl start >/dev/null 2>&1
  
else
  
echo -e '\e[31mIntegrate is Failure!\e[0m'
  
exit 2
  
fi
  
}
  
###########################################################################################
  
###########################################################################################
  
#Configure Discuz
  
function CONFIGURE_DISCUZ() {
  
wget -c $D_URL$D_FILES && unzip $D_FILES -d $H_PREFIX/htdocs/ && cd $H_PREFIX/htdocs/ && \mv upload/* . && chmod -R o+w data/ config/ uc_server/ uc_client/
  
if [ $? -eq 0 ];then
  
echo -e '\e[32mConfigure Discuz Success!\e[0m' &&
  
#Create discuz database
  
$M_PREFIX/bin/mysql -uroot -p$MYSQL_PASSWD -e 'create database discuz' &&
  
#Grant user password
  
$M_PREFIX/bin/mysql -uroot -p$MYSQL_PASSWD -e "grant all on *.* to discuz@'localhost' identified by 'discuz'" &&
  
#Flush privileges
  
$M_PREFIX/bin/mysql -uroot -e 'flush privileges'
  
if [ $? -eq 0 ];then
  
echo -e '\e[32mDiscuz Mysql Configure Success!\e[0m'
  
#Start Apache Server
  
$H_PREFIX/bin/apachectl start>/dev/null 2>&1 &&
  
#Start Mysql Server
  
$M_PREFIX/bin/mysqld_safe --user=mysql&>/dev/null 2>&1
  
if [ $? -eq 0 ];then
  
echo -e '\e[32mApache and Mysql Start Success!\e[0m'
  
else
  
echo -e '\e[31mApache and Mysql Start Failure!\e[0m'
  
exit 2
  
fi
  
else
  
echo -e '\e[31mDiscuz Mysql configure Failure!\e[0m'
  
exit 2
  
fi
  
else
  
echo -e '\e[31mConfigure Discuz Failure!\e[0m'
  
exit 2
  
fi
  
}
  
###########################################################################################
  
###########################################################################################
  
###########################################################################################
  
#Define PS3
  
PS3="Please Enter Your choose: "
  
select i in'Yum install Environment' 'Install Apache' 'Install Mysql' 'Configure Mysql' 'Install Php' 'Integrate Php and Mysql' 'Automatic Install LAMP' 'Configure Discuz' 'Automatic Install ALL' 'Exit'
  
do
  
CHOOSE=$REPLY
  
case $CHOOSE in
  
1)
  
ENVIRONMENT
  
if [ $? -eq 0 ];then
  
echo -e '\e[32mYum Install Environment Successful!\e[0m'
  
else
  
echo -e '\e[31mYum Install Environment Failure!\e[0m'
  
exit 2
  
fi
  
;;
  
###########################################################################################
  
2)
  
INSTALL_APACHE
  
if [ $? -eq 0 ];then
  
echo -e  '\e[32mApache Install Successful!\e[0m'
  
else
  
echo -e '\e[31mApache Install Failure!\e[0m'
  
exit 2
  
fi
  
;;
  
###########################################################################################
  
3)
  
INSTALL_MYSQL
  
if [ $? -eq 0 ];then
  
echo -e  '\e[32mMysql Install Successful!\e[0m'
  
else
  
echo -e '\e[31mMysql Install Failure!\e[0m'
  
exit 2
  
fi
  
;;
  
###########################################################################################
  
4)
  
CONFIGURE_MYSQL
  
if [ $? -eq 0 ];then
  
echo -e  '\e[32mConfigure Mysql  Successful!\e[0m'
  
else
  
echo -e '\e[31mConfigure Mysql Failure!\e[0m'
  
exit 2
  
fi
  
;;
  
###########################################################################################
  
5)
  
INSTALL_PHP
  
if [ $? -eq 0 ];then
  
echo -e  '\e[32mPhp Install Successful!\e[0m'
  
else
  
echo -e '\e[31mPhp Install Failure!\e[0m'
  
exit 2
  
fi
  
;;
  
###########################################################################################
  
6)
  
INTEGRATE_PHP_MYSQL
  
if [ $? -eq 0 ];then
  
echo -e  '\e[32mIntegrate php and mysql Successful!\e[0m'
  
else
  
echo -e '\e[31mIntegrate Failure!\e[0m'
  
exit 2
  
fi
  
;;
  
###########################################################################################
  
7)
  
ENVIRONMENT &&
  
INSTALL_APACHE &&
  
INSTALL_MYSQL  &&
  
CONFIGURE_MYSQL &&
  
INSTALL_PHP &&
  
INTEGRATE_PHP_MYSQL
  
if [ $? -eq 0 ];then
  
echo -e '\e[32mLamp is ok!\e[0m'
  
exit 0
  
else
  
echo -e '\e[31mLamp Error,Please Check. exit....\e[0m'
  
exit 2
  
fi
  
;;
  
###########################################################################################
  
8)
  
CONFIGURE_DISCUZ
  
if [ $? -eq 0 ];then
  
echo -e  '\e[32mConfigure Discuz Successful!\e[0m'
  
else
  
echo -e '\e[31mConfigure Discuz Failure!\e[0m'
  
exit 2
  
fi
  
;;
  
###########################################################################################
  
9)
  
ENVIRONMENT &&
  
INSTALL_APACHE &&
  
INSTALL_MYSQL  &&
  
CONFIGURE_MYSQL &&
  
INSTALL_PHP &&
  
INTEGRATE_PHP_MYSQL &&
  
CONFIGURE_DISCUZ
  
if [ $? -eq 0 ];then
  
echo -e '\e[32mEverything is ok!\e[0m'
  
exit 0
  
else
  
echo -e '\e[31mWrong,Please Check. exit....\e[0m'
  
exit 2
  
fi
  
;;
  
###########################################################################################
  
10)
  
echo -e '\e[32mExit....\e[0m'
  
exit 0
  
;;
  
###########################################################################################
  
*)
  
echo -e '\e[31mIncorect Number,Please Enter Again!\e[0m';;
  
esac
  
done



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-554812-1-1.html 上篇帖子: 粗浅的增量代码上线shell脚本--菜鸟版 下篇帖子: 使用Shell脚本实现NFS挂载自动切换
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表