LAMP部署脚本附安装包-亲测可用

环境:

1,外网通

2,centos7.9

3,安装包请看文章最后百度网盘链接

具体部署步骤:

请先将所有安装包上传到/usr/src/目录下。用Scrt链接服务器,使用rz命令即可。

将如下shell脚本复制到剪贴板,在centos7服务器vim  888.sh

进入后按一下i键,进入编辑模式,右键点击(Scrt链接右键点击既是粘贴)

按ESC退出编辑,输入  :wq保存退出。

 

 这样脚本就可以了。

脚本如下:(以下内容要粘贴完全哦)

#!/bin/bash
#function:install apache  mysql    php
#author:tommypeng 20220701 final version
##########################################
 if
  [  "$USER"  != "root"   ]
then
   echo "错误:非root用户,权限不足!"
  exit  0
fi
###############防火墙及SElinux############
systemctl stop firewalld && systemctl disable firewalld  && echo "防火墙已经关闭"
sed -i 's/SELINUX=.*/SELINUX=disabled/g'  /etc/selinux/config  && echo "关闭selinux"
sleep 10
echo  "###########清理旧版本###########"
rpm -qa | grep mariadb >  /root/888.txt
rpm -qa | grep mysql  >>  /root/888.txt
PLIST=$(cat  /root/888.txt)
for  PKGNAME   in    $PLIST
do
      rpm -e --nodeps   $PKGNAME   &&  echo  "老旧包已经清理完毕" 
done
rm -rf  /root/888.txt  &&  echo "临时文件已删除"
sleep 8
tarbagp=/usr/src

#判断文件是否存在,如果存在就不用下载了
function is_exist()
{
	if [ ! -f $tarbagp/$1 ];then
		echo  "请上传$1到/usr/src"	
		return 2
	fi
}

#Install httpd web server

function httpd_install()
{

if [[ "$1" -eq "1" ]];then
   cd $tarbagp;
   #判断文件是否存在
   is_exist httpd-2.4.25.tar.gz
   if [ $? -eq "2" ] ;then
   	echo "请上传httpd-2.4.25.tar.gz到$tarbagp"
   	exit 0
   fi
   if [ $? -eq 0 ];then
   	yum -y install gcc* apr-devel apr-util-devel pcre-devel
    sleep 10	
  	tar zxvf $tarbagp/httpd-2.4.25.tar.gz -C $tarbagp && cd  $tarbagp/httpd-2.4.25
./configure \
--prefix=/usr/local/httpd \
--enable-so \
--enable-rewrite \
--enable-charset-lite \
--enable-cgi  
   	if [ $? -eq 0 ];then
      		make && make install
		if [ $? -eq 0 ];then
			echo "#chkconfig:35 85 21" >> /etc/init.d/httpd && echo  "http安装成功"
		fi
   	fi
    else 
	echo "遇到致命错误,即将退出"
	exit 1
   fi
fi
}

#Install Mysql  server

function mysql_install(){
	if [[ "$1" -eq "2" ]];then
   cd $tarbagp;
   #判断文件是否存在
   is_exist mysql-5.5.62.tar.gz
 if [ $? -eq "0" ] ;then
 ###########安装依赖包##############
yum -y install make gcc-c++ cmake bison-devel ncurses-devel perl openssl-devel autoconf  
    ############添加用户及组###########
groupadd mysql  &&  useradd mysql -g mysql -M -s /sbin/nologin
#########解压安装包##########
cd $tarbagp   &&  tar -zxvf mysql-5.5.62.tar.gz   && cd mysql-5.5.62
############开始编译##########
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DSYSCONFDIR=/etc \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DMYSQL_UNIX_ADDR=/tmp/mysqld.sock \
-DMYSQL_TCP_PORT=3306 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci  
 ##########开始安装#############
 make && make install  
 #########账户权限配置###########
 chown mysql:mysql /usr/local/mysql
 ###########安全初始化##########
 yum -y install autoconf  && echo  "Dumper模块安装成功"
 cd /usr/local/mysql  && ./scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysql/data 
 else
   	echo "请上传mysql-5.5.62.tar.gz到$tarbagp"
   	exit 1
  fi
 fi
 }
 
 ####mysql_conf#########
 function mysql_conf(){
 ############重建my-default.cnf#############
cat >> /usr/local/mysql/support-files/my-default.cnf << EOF
# Example MySQL config file for medium systems.  

[client]
default-character-set=utf8
#password   = your_password  
port        = 3306  
socket = /tmp/mysql.sock
##################socket=/var/lib/mysql/mysql.sock  
[mysqld]
character-set-server=utf8
init_connect='SET NAMES utf8
port        = 3306  
socket = /tmp/mysql.sock
skip-external-locking  
key_buffer_size = 16M  
max_allowed_packet = 1M  
table_open_cache = 64  
sort_buffer_size = 512K  
net_buffer_length = 8K  
read_buffer_size = 256K  
read_rnd_buffer_size = 512K  
myisam_sort_buffer_size = 8M  
character-set-server=utf8  
init_connect='SET NAMES utf8' 
log-bin=mysql-bin  
binlog_format=mixed  
server-id   = 1      
[mysqldump]  
quick  
max_allowed_packet = 16M  
[mysql]  
no-auto-rehash  
# Remove the next comment character if you are not familiar with SQL  
#safe-updates  
default-character-set=utf8             
[myisamchk]  
key_buffer_size = 20M  
sort_buffer_size = 20M  
read_buffer = 2M  
write_buffer = 2M          
[mysqlhotcopy]  
interactive-timeout
EOF
 ############配置文件#############
 cp /usr/local/mysql/support-files/my-default.cnf  /etc/my.cnf   ##/usr/local/mysql/support-files/my-default.cnf###
 cat >> /root/mysql.txt << EOF
datadir=/usr/local/mysql/data
default-storage-engine=InnoDB
lower_case_table_names=1
EOF
sed  -i '/\[mysqld\]/r   /root/mysql.txt'    /etc/my.cnf
sed -i 's#PATH=\$PATH:\$HOME/bin#PATH=\$PATH:\$HOME/bin:/usr/local/mysql/bin:/usr/local/mysql/lib#g'  /root/.bash_profile
sleep  10
rm -rf /usr/bin/mysql*
source /root/.bash_profile 
source /root/.bash_profile 
#############删除临时文件##############
rm -rf  mysql.txt    &&  echo "临时文件已经删除"
##########启动数据库################
/usr/local/mysql/support-files/mysql.server start  &&   echo "数据库已启动"    
ln -s /usr/local/mysql/bin/mysql* /usr/bin   &&  echo  "完成,请使用mysql  -u root 登录(无密码)"
sleep  10                   
}

#install  phpex
function install_phpex(){
   cd $tarbagp;
   #判断文件是否存在
   is_exist libmcrypt-2.5.8.tar.gz
   if [ $? -ne "0" ] ;then
   	echo "请上传libmcrypt-2.5.8.tar.gz到$tarbagp"
   	exit 0
   fi
   if [ $? -eq 0 ];then
   	yum –y install zlib* libxml2*
    sleep 10	
  	tar zxvf $tarbagp/libmcrypt-2.5.8.tar.gz -C $tarbagp && cd  $tarbagp/libmcrypt-2.5.8 && ./configure
   	if [ $? -eq 0 ];then
      		make && make install
		if [ $? -eq 0 ];then
			echo  "libmcrypt安装成功"
   	fi
    else 
	echo "遇到致命错误,即将退出"
	exit 1
   fi
fi
##################
   cd $tarbagp;
   #判断文件是否存在
   is_exist mhash-0.9.9.9.tar.gz
   if [ $? -ne "0" ] ;then
   	echo "请上传mhash-0.9.9.9.tar.gz到$tarbagp"
   	exit 0
   fi
   if [ $? -eq 0 ];then
	
  	tar zxvf $tarbagp/mhash-0.9.9.9.tar.gz -C $tarbagp && cd  $tarbagp/mhash-0.9.9.9 && ./configure
   	if [ $? -eq 0 ];then
      		make && make install
        fi
		if [ $? -eq 0 ];then
			ln -s /usr/local/lib/libmhash* /usr/lib/  &&  echo  "mhash安装成功"
		fi
    else 
	echo "遇到致命错误,即将退出"
	exit 1
   fi

################################

   cd $tarbagp;
   #判断文件是否存在
   is_exist mcrypt-2.6.8.tar.gz
   if [ $? -ne "0" ] ;then
   	echo "请上传mcrypt-2.6.8.tar.gz到$tarbagp"
   	exit 0
   fi
   if [ $? -eq 0 ];then
	
  	tar zxvf $tarbagp/mcrypt-2.6.8.tar.gz -C $tarbagp && cd  $tarbagp/mcrypt-2.6.8 && export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH  && ./configure
   	if [ $? -eq 0 ];then
      		make && make install
		if [ $? -eq 0 ];then
		 echo  "mcrypt安装成功"
		fi
   	fi
    else 
	echo "遇到致命错误,即将退出"
	exit 14
   fi
}
#Install PHP server

function php_install()
{
yum  install  -y  gcc     libxml2   libxml2-devel
mysql_conf
sleep 30
install_phpex
sleep 30
cd $tarbagp
if [ ! -f $tarbagp/php-5.5.38.tar.gz ];then
	echo  "请上传php-5.5.38.tar.gz到$tarbagp"
	exit 1
else
	if [[ "$1" -eq "3" ]];then
        	tar zxf $tarbagp/php-5.5.38.tar.gz -C $tarbagp && cd $tarbagp/php-5.5.38 
        	sleep 10
#mkdir  /usr/local/php5 
./configure \
--prefix=/usr/local/php5 \
--with-mcrypt \
--with-apxs2=/usr/local/httpd/bin/apxs \
--with-mysql=/usr/local/mysql \
--with-mysqli=/usr/local/mysql/bin/mysql_config \
--with-config-file-path=/usr/local/php5 \
--enable-mbstring
        	if [ $? -eq 0 ];then
                	make && make install
                	echo -e "\n\033[32m-----------------------------------------------\033[0m"
                	echo -e "\033[32mThe php Server Install Success !\033[0m"
        	else
                	echo -e "\033[32mThe  Make or Make install ERROR,Please Check......"
                	exit 0
        	fi
	fi
fi
}

function lamp_config()
{
if [[ "$1" -eq "4" ]];then
   sed -i '/    AddType application\/x-gzip .gz .tgz/a\\    AddType application\/x-httpd-php-source .phps'  /usr/local/httpd/conf/httpd.conf
   sed -i '/    AddType application\/x-gzip .gz .tgz/a\\    AddType application\/x-httpd-php .php'  /usr/local/httpd/conf/httpd.conf
   sed -i '/DirectoryIndex/s/index.html/index.php index.html/g' /usr/local/httpd/conf/httpd.conf
   /usr/local/httpd/bin/apachectl start
   /usr/local/mysql/support-files/mysql.server start
   echo "AddType     application/x-httpd-php .php" >>/usr/local/httpd/conf/httpd.conf
   echo  "ServerName localhost:80" >> /usr/local/httpd/conf/httpd.conf
   /usr/local/mysql/bin/mysql -u root  -e "grant all  on  *.*  to   'youdian'@'%'  identified  by  'pwd@123';"
   IP=IP=$(ip a  | grep "inet "|grep "ens33" | awk '{print $2}' |awk -F / '{print $1}')
   echo "You can access http://$IP/ 数据库已创建用户youdian,密码为pwd@123 "

cat >/usr/local/httpd/htdocs/index.php <<EOF
<?php
phpinfo();
?>
EOF
fi
}



#select choice

PS3="Please enter you select install menu:"
select i in http mysql php config  all exit
do

case $i in
    http)
    httpd_install 1
    ;;
    mysql)
    mysql_install 2
    ;;
    php)
    php_install 3
    ;;
    config)
    lamp_config 4
    ;; 
    all)
    httpd_install 1
    mysql_install 2
    php_install 3
    lamp_config 4
    ;;
    exit)
    echo "The system exit"
    exit
esac

done

使用sh   888.sh  来运行脚本

 脚本运行起来后

按1安装apache

按2安装mysql

按3安装php

按4完善配置

当然你嫌麻烦可以直接按5,以上四步一起完成

按6退出脚本运行。

码字不易,感谢收藏与点赞。

https://www.huoshichong.cn/index.php/download.html

  • 10
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IT大白鼠

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值