真正的小白可操作,让搭建网站一部成功!

环境:

系统:CentOS Linux release 7.9.2009 (Core)

网络:外网通讯良好

安装包下载链接(不用wget,防止版本问题)

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

具体需要下载的包请看截图:

总共7个包哦

用Scrt或者Xshell连接centos7服务器,将上述7个包上传到/usr/src

然后在root目录下用vim创建如下脚本:

#!/bin/bash
#function:install apache  mysql    php
#author:tommypeng 20220701 final version
##########################################if[  "$USER"  != "root"   ]
thenecho "错误:非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
dorpm -e --nodeps   $PKGNAME   &&  echo  "老旧包已经清理完毕"
done
rm -rf  /root/888.txt  &&  echo "临时文件已删除"
sleep 8
tarbagp=/usr/src#判断文件是否存在,如果存在就不用下载了
function is_exist()
{if [ ! -f $tarbagp/$1 ];thenecho  "请上传$1到/usr/src"   return 2fi
}#Install httpd web serverfunction httpd_install()
{if [[ "$1" -eq "1" ]];thencd $tarbagp;#判断文件是否存在is_exist httpd-2.4.25.tar.gzif [ $? -eq "2" ] ;thenecho "请上传httpd-2.4.25.tar.gz到$tarbagp"exit 0fiif [ $? -eq 0 ];thenyum -y install gcc* apr-devel apr-util-devel pcre-develsleep 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 ];thenmake && make installif [ $? -eq 0 ];thenecho "#chkconfig:35 85 21" >> /etc/init.d/httpd && echo  "http安装成功"fifielse echo "遇到致命错误,即将退出"exit 1fi
fi
}#Install Mysql  serverfunction mysql_install(){if [[ "$1" -eq "2" ]];thencd $tarbagp;#判断文件是否存在is_exist mysql-5.5.62.tar.gzif [ $? -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 elseecho "请上传mysql-5.5.62.tar.gz到$tarbagp"exit 1fifi}####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.gzif [ $? -ne "0" ] ;thenecho "请上传libmcrypt-2.5.8.tar.gz到$tarbagp"exit 0fiif [ $? -eq 0 ];thenyum –y install zlib* libxml2*sleep 10  tar zxvf $tarbagp/libmcrypt-2.5.8.tar.gz -C $tarbagp && cd  $tarbagp/libmcrypt-2.5.8 && ./configureif [ $? -eq 0 ];thenmake && make installif [ $? -eq 0 ];thenecho  "libmcrypt安装成功"fielse echo "遇到致命错误,即将退出"exit 1fi
fi
##################cd $tarbagp;#判断文件是否存在is_exist mhash-0.9.9.9.tar.gzif [ $? -ne "0" ] ;thenecho "请上传mhash-0.9.9.9.tar.gz到$tarbagp"exit 0fiif [ $? -eq 0 ];thentar zxvf $tarbagp/mhash-0.9.9.9.tar.gz -C $tarbagp && cd  $tarbagp/mhash-0.9.9.9 && ./configureif [ $? -eq 0 ];thenmake && make installfiif [ $? -eq 0 ];thenln -s /usr/local/lib/libmhash* /usr/lib/  &&  echo  "mhash安装成功"fielse echo "遇到致命错误,即将退出"exit 1fi################################cd $tarbagp;#判断文件是否存在is_exist mcrypt-2.6.8.tar.gzif [ $? -ne "0" ] ;thenecho "请上传mcrypt-2.6.8.tar.gz到$tarbagp"exit 0fiif [ $? -eq 0 ];thentar 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  && ./configureif [ $? -eq 0 ];thenmake && make installif [ $? -eq 0 ];thenecho  "mcrypt安装成功"fifielse echo "遇到致命错误,即将退出"exit 14fi
}
#Install PHP serverfunction php_install()
{
yum  install  -y  gcc     libxml2   libxml2-devel
mysql_conf
sleep 15
install_phpex
sleep 15
cd $tarbagp
if [ ! -f $tarbagp/php-5.5.38.tar.gz ];thenecho  "请上传php-5.5.38.tar.gz到$tarbagp"exit 1
elseif [[ "$1" -eq "3" ]];thentar 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-mbstringif [ $? -eq 0 ];thenmake && make installecho -e "\n\033[32m-----------------------------------------------\033[0m"echo -e "\033[32mThe php Server Install Success !\033[0m"elseecho -e "\033[32mThe  Make or Make install ERROR,Please Check......"exit 0fifi
fi
}function lamp_config()
{
if [[ "$1" -eq "4" ]];thensed -i '/    AddType application\/x-gzip .gz .tgz/a\\    AddType application\/x-httpd-php-source .phps'  /usr/local/httpd/conf/httpd.confsed -i '/    AddType application\/x-gzip .gz .tgz/a\\    AddType application\/x-httpd-php .php'  /usr/local/httpd/conf/httpd.confsed -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.confecho  "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';"/usr/local/mysql/bin/mysql -u root  -e "flush privileges;"/usr/local/mysql/bin/mysql -u root  -e "flush privileges;"#chmod  777  -R  /usr/local/httpd/htdocssleep  5sed -i 's/#password  = your_password/password  = your_password/g'   /etc/my.cnfIP=$(ip a  | grep "inet "|grep "ens33" | awk '{print $2}' | awk -F  /  '{print $1}')echo "通过如下地址访问 http://$IP/ 数据库已创建用户youdian,密码为pwd@123 "cat >/usr/local/httpd/htdocs/index.php <<EOF
<?php
phpinfo();
?>
EOF
fi
}############cms####
function cms_install(){
if [[ "$1" -eq "5" ]];thenif [ ! -f $tarbagp/youdiancms9.3.0.zip ];thenecho  "请上传youdiancms9.3.0.zip到$tarbagp"exit 1
elserm -rf  /usr/local/httpd/htdocs/*cp  /usr/src/youdiancms9.3.0.zip  /usr/local/httpd/htdocs/ cd /usr/local/httpd/htdocs/   &&  unzip youdiancms9.3.0.zip  &&  chmod  777  -R  /usr/local/httpd/htdocsIP=$(ip a  | grep "inet "|grep "ens33" | awk '{print $2}' | awk -F  /  '{print $1}')echo "通过如下地址访问友点CMS  http://$IP/ 数据库默认已创建用户youdian,密码为pwd@123 "fi
fi
}
#select choicePS3="请你选择需要安装的服务,无人值守请按6:"
select i in http mysql php config   cms  all exit
docase $i inhttp)httpd_install 1;;mysql)mysql_install 2;;php)php_install 3;;config)lamp_config 4;; cms)cms_install 5;; all)httpd_install 1mysql_install 2php_install 3lamp_config 4cms_install 5;;exit)echo "The system exit"exit
esacdone

具体操作如下:

脚本名称可自行定义。

按i键进入编辑模式,右键粘贴脚本文本,最后输入:wq  (注意冒号不能丢),回车后就保存好了

sh  66.sh开始运行脚本,无人值守安装请按6。

等待即可。

安装完成页面会提示数据库账号和密码,以及登录地址,用浏览器打开登录地址完成cms设置。

现在你需要的就是更改网站的内容了,赶紧部署你自己的网站吧!!!

shell脚本:一键部署网站含内容管理器相关推荐

  1. shell脚本 一键部署 Lnmp 及社区论坛 服务架构

    shell脚本 一键部署 Lnmp 一键部署 Lnmp 一键部署 注:亲,记得把所需要的软件包,先放到/opt目录中:以及该机子的内存大小.核数先设置好! #!/bin/bash #先配置好yum e ...

  2. shell脚本一键部署lnmp架构

    shell脚本一键部署lnmp架构 1. 创建存放脚本的目录 2. 创建脚本文件 3. 编写脚本 4. 通过IP地址直接访问PHP界面 1. 创建存放脚本的目录 [root@localhost ~]# ...

  3. shell脚本一键部署LNMP

    前言 使用shell脚本一键部署LNMP需要的安装包 nginx-1.15.9.tar.gz mysql-boost-5.7.20.tar.gz php-7.1.10.tar.bz2 Discuz_X ...

  4. centos7 ssr一键脚本_RHEL7(Centos7)下使用shell脚本一键部署服务

    今天配置服务觉得有些麻烦,想着写一个能一键配置nfs服务端的shell脚本,当然在安装之前需要配置一个yum源,所以我一并将这些功能写在了一个shell脚本里. 脚本如下: #author:Roya ...

  5. 使用shell脚本一键部署LNMP架构

    #/bin/bash##将需要的安装包传到/opt目录下,并关闭防火墙 systemctl stop firewalld systemctl disable firewalld &>/d ...

  6. 使用shell脚本一键部署DNS正向解析

    #!/bin/bash#先判断是否挂载,并检查bind软件包是否安装 yum -y install bind &>/dev/null if [ $? -ne 0 ];then mount ...

  7. php批量替换文件内容,Shell脚本实现批量替换文件内容

    Shell脚本实现批量替换文件内容 今天同事发现内部服务器的硬盘空间不够了,上面有很多备份,我又不能删除,重新找了个320g的硬盘挂载了上,想以后shell脚本下的备份都转移到新硬盘上,给老硬盘腾出空 ...

  8. SHELL脚本自动化部署MFS分布式文件系统

    前言:在我们运维中,最常见的文件存储系统大概就是NFS了,但是随着网站压力不断增加,NFS渐渐不能满足企业数据增长需求,有木有自动扩展.高效.部署.实施方便快捷的分布式存储供我们使用呢?那我们来看一下 ...

  9. shell脚本一键装机(pxe配合kickstart无人值守)

    shell脚本一键装机(pxe配合kickstart无人值守) shell脚本实现无人值守安装 图文详细步骤可以参前期博文: PXE批量网络装机(超详细实验教程)教会你自动化批量安装linux 系统 ...

最新文章

  1. 如何发布ActiveX 控件
  2. 从linux小白到进大厂,我是怎么做到的?
  3. 稳压源 GPD-3303系列 控制指令笔记
  4. wukong引擎源码分析之索引——part 2 持久化 直接set(key,docID数组)在kv存储里...
  5. Ganglia 应用实践
  6. 12/7个人站立会议
  7. php编程怎么和mysql链接_php编程怎么和mysql连接
  8. appweb ejs_EJS部分
  9. springboot整合elasticjob
  10. Windows下学习Objective-C 2.0
  11. mysql top virt_linux top命令VIRT,RES,SHR,DATA的含义
  12. 说说你对工厂模式的理解
  13. 指标的检测及检测仪器
  14. 《深入剖析Tomcat》一3.3 小结
  15. “DropDownList1”有一个无效 SelectedIndex,因为它不在项目列表中。
  16. 提高linux运行速度,教你如何提高Linux操作系统的运行速度
  17. 记一次 “HTTP 405 Method Not Allowed”的解决方法
  18. 意法半导体终于拥抱Cortex-A架构发布STM32MP1 MPU
  19. 一个Java开发h5牌九棋牌网站开发细节
  20. 修改mp3图片和信息——BesMp3Editor

热门文章

  1. 一文带你识别移动端主流加固的方案
  2. M3DGIS全息裸眼三维电子沙盘数字沙盘大数据系统开发教程视频第6课
  3. 中国移动MobileMarket重点支持机型信息
  4. 【M365运维】扩充OneDrive存储空间
  5. springboot jar包 一键部署,开机自动启动
  6. 当安全遇上AI 阿里聚安全算法挑战赛 队伍经验分享
  7. LPDDR4特点和基本概念--基于Hynix H9HCNNNBPUMLHR系列
  8. 秒懂云通信:短信也能玩出新花样?听阿里云产品运营畅聊“智能消息”服务
  9. 最新!国产操作系统大盘点(附链接)
  10. display:Wayland Architecture