linux下shell脚本实现wordpress搭建

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介: linux下shell脚本实现wordpress搭建

wordpress_auto_install.sh

!/bin/bash

user=$(whoami)

function wordpress_auto_install () {
if [ $user == "root" ];then
echo "前提:调整系统配置,如关闭selinux、firewall等!"
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
sleep 0.2
iptables -F
systemctl stop firewalld
systemctl disable firewalld
sleep 0.2
echo "安装lamp所需rpm包"
echo "Step1->lamp安装日志,请查看/$user/wordpress_auto_install.log"

/$user/wordpress_auto_install.log
echo "请确保本地yum源或网络yum源,二者之一必须可用!"
yum install httpd mariadb mariadb-libs mariadb-server mariadb-devel php php-mysql -y >> /$user/wordpress_auto_install.log

echo $?

systemctl enable mariadb
systemctl enable httpd
systemctl restart mariadb
systemctl restart httpd
else
echo "您不是root管理员,没有权限操作!"
exit 3
fi

echo "Step2->mariadb数据库中针对wordpress创建数据库和用户"
mysql </dev/null
drop database wordpress_db;
END

mysql </dev/null
create database wordpress_db;
END

mysql </dev/null
grant all privileges on wordpress_db.* to 'wordpress_user'@'localhost' identified by '123456';
END

mysql </dev/null
flush privileges;
END

echo "Step3->将wordpress包拷贝至httpd的/var/www/html目录并解压"
cp /$user/wordpress-4.9.4-zh_CN.tar.gz /var/www/html/
tar -zxvf wordpress-4.9.4-zh_CN.tar.gz -C /var/www/html/ >> /$user/wordpress_auto_install.log
rm -rf /var/www/html/wordpress-4.9.4-zh_CN.tar.gz
chown -R root:root /var/www/html/wordpress/

echo "Step4->更改wordpress配置文件指定数据库、用户名和密码"
cp /var/www/html/wordpress/wp-config-sample.php /var/www/html/wordpress/wp-config.php
sed -i 's/database_name_here/wordpress_db/' /var/www/html/wordpress/wp-config.php
sed -i 's/username_here/wordpress_user/' /var/www/html/wordpress/wp-config.php
sed -i 's/password_here/123456/' /var/www/html/wordpress/wp-config.php
cat /var/www/html/wordpress/wp-config.php | grep -E "DB_NAME|DB_USER|DB_PASSWORD"

echo "Step5->配置httpd虚拟主机"
cat << END >> /etc/httpd/conf/httpd.conf


DocumentRoot /var/www/html/wordpress

END

sleep 0.2
systemctl restart httpd

echo "Step6->wordpress后台部署成功,请通过浏览器打开http://`ifconfig |grep -A 1 "ens[0-9]*" |tail -1 |awk '{print $2}'`:80完成接下的部署"
}

if [ $user != "root" ];then
echo "请以root管理员用户进行部署!"
exit 1
fi

ls /$user |grep -E "^wordpress-4.9.4-zh_CN.tar.gz$" &> /dev/null
if [ $? -eq 0 ];then
wordpress_auto_install
else
echo "请上传wordpress-4.9.4-zh_CN.tar.gz至/$user目录下!"
exit 2
fi

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
17天前
|
Web App开发 Java Linux
Linux之Shell基本命令篇
Linux之Shell基本命令篇
Linux之Shell基本命令篇
|
4天前
|
Java 关系型数据库 MySQL
Elasticsearch【问题记录 01】启动服务&停止服务的2类方法【及 java.nio.file.AccessDeniedException: xx/pid 问题解决】(含shell脚本文件)
【4月更文挑战第12天】Elasticsearch【问题记录 01】启动服务&停止服务的2类方法【及 java.nio.file.AccessDeniedException: xx/pid 问题解决】(含shell脚本文件)
28 3
|
1天前
|
监控 Shell 应用服务中间件
第十二章 Shell脚本编写及常见面试题(二)
第十二章 Shell脚本编写及常见面试题(二)
|
1天前
|
监控 关系型数据库 Shell
第十二章 Shell脚本编写及常见面试题(一)
第十二章 Shell脚本编写及常见面试题(一)
|
1天前
|
监控 Shell
生产环境Shell脚本Ping监控主机是否存活(多种方法)
生产环境Shell脚本Ping监控主机是否存活(多种方法)
|
1天前
|
运维 Shell
Shell脚本判断IP是否合法性(多种方法)
Shell脚本判断IP是否合法性(多种方法)
|
3天前
|
Linux Shell Android开发
自动化脚本之GPIO/LED相关适用于Android/Linux
自动化脚本之GPIO/LED相关适用于Android/Linux
13 0
|
7天前
|
运维 监控 Shell
利用Shell脚本编写局域网监控软件:实时监测主机连接情况
本文介绍了如何使用Shell脚本创建一个局域网监控工具,以实时检查主机连接状态。脚本包括扫描IP地址范围检测主机可达性及使用`netstat`监控ESTABLISHED连接。此外,还展示了如何每60秒将连接数数据自动提交到指定网站API,以便实时跟踪网络活动。这个自动化监控系统有助于提升网络安全性和故障排查效率。
31 0
|
8天前
|
Shell
Shell脚本之流程控制语句
Shell脚本之流程控制语句
|
9天前
|
JSON 运维 监控
训练shell常用脚本练习(三)
【4月更文挑战第14天】shell代码训练(三)
30 1