首页 > 系统相关 >linux下shell脚本实现wordpress搭建

linux下shell脚本实现wordpress搭建

时间:2023-09-28 18:35:49浏览次数:35  
标签:www shell echo html wordpress user linux var


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 <<END 2>/dev/null
  drop database wordpress_db;
END

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

  mysql <<END 2>/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
<VirtualHost *:80>
  DocumentRoot /var/www/html/wordpress
</VirtualHost>
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

登录验证(http://192.168.10.208/wp-admin/):

linux下shell脚本实现wordpress搭建_linux

linux下shell脚本实现wordpress搭建_linux_02

脚本中所用wordpress-4.9.4-zh_CN.tar.gz,如果需要,请留言。

谢谢!

标签:www,shell,echo,html,wordpress,user,linux,var
From: https://blog.51cto.com/ztj1216/7641603

相关文章

  • Shell Scripts
    ShellScriptsShell编程笔记基本语法模块指定脚本解析器#!/bin/bash#!/bin/shbash是最常用的解析器,sh等其他shell解析器与bash有语法上的区别变量变量名:字母、数字、下划线,数字不可开头变量赋值:user="festu"user=festu"festu" #festufestuuser=festu#......
  • 玩转Redhat Linux 8.0系列 | 使用BASH SHELL执行命令
    今天继续分享一些RedhatLinux8.0的知识,记得关注,会一直更新~基本命令语法GNUBourne-AgainShell(bash)这一程序可以解读用户键入的命令。当您准备好执行命令时,请按Enter键。在单独的行上键入每个命令。系统会显示命令输出,然后显示下一shell提示符。[user@host]$whoamiuser[u......
  • 13 | Linux系统安全:多人共用服务器,如何防止别人干“坏事”?
    Linux中的安全模型内核层防护:确保使用官方的镜像并保持更新用户层防护:确保正确配置权限 黄金法则应用Linux中的认证机制安全问题:认证是linux内核提供的,在用户层只需要关注弱密码导致的身份信息泄露防护:在/etc/shadow中,制定适当的密码策略;使用已知的弱密码库来检测linux中......
  • [Linux] shell文本处理记录 - 查找、增删特定行及附近行
    转:https://blog.csdn.net/wy_hhxx/article/details/127416595查找username所在行并删除此行,输出到新文件sed'/username/,+d'04filename.log>04filename_new.log 目录1.grep查找关键字所在行号、查找关键字前后行2.sed删除指定行及其前后若干行3.sed在匹配行前或后添......
  • Linux任务的状态机制
    task的生命周期Linux内核调度就是管理CPU硬件资源,同时决定多任务系统的每一个task应该什么时候上CPU,上CPU运行多久的一个机制。因此调度的机制涉及到两个方面一个是task侧,一个是CPU侧,任务是被管理的对象之一,会随着调度和运行改变状态。因此从task的角度来理解调度机制我认为是一......
  • linux安装redis
    一、下载redissudoaptinstallredis-server 二、修改配置文件sudovim/etc/redis/redis.conf daemonizeyes    后端模式启动bind0.0.0.0     外网可访问,且去除ipv6限制requirepass     修改密码 三、服务管理1、重启服务sudoserviceredis-se......
  • linux系统升级ssh
    升级ssh7.7,linux安全问题安装包1.上传压缩包到指定的目录/home1.1或者rz-y上传2.进入home目录cd/home#有的系统缺少,安装gcc插件yuminstallgcc-y#解压unzipopenssh_update_ssh.zipcdopenssh#指定安装脚本./update_ssh.sh......
  • Powershell 获取AD Certificate 详细信息
    get-aduser-SearchBase$ou-Filter*-Propertiesdisplayname,usercertificate|ForEach-Object{$displayname=$_.displayname$_|select-ExpandPropertyusercertificate|ForEach-Object{$cert=[System.Security.Cryptography.X509Certifi......
  • 《Unix/linux系统编程》教材第7、8章学习笔记
    第七章:文件操作文件操作级别(1)硬件级别fdisk:将硬盘、U盘或SDC盘分区mkfs:格式化磁盘分区,为系统做好准备fsck:检查和维修系统碎片整理:压缩文件系统中的文件(2)操作系统内核中的文件系统函数前缀为k表示内核函数(3)系统调用:用户模式程序使用系统调用来访问内核函数open()、read......
  • ORACLE 11204 for Linux(RAC) 环境配置及数据库参数最佳实践
    ORACLE11204forLinux(RAC)环境配置及数据库参数最佳实践针对Linux6.6(+)版本:1、Linux内核参数配置vm.dirty_ratio=20vm.dirty_background_ratio=3vm.dirty_writeback_centisecs=100vm.dirty_expire_centisecs=500vm.swappiness=10vm.min_free_kbytes=524288##需要根据SGA......