• SHELL wordpress.sh


    echo -e "33[5;32m 主人一起开始愉快的安装lamp和wordpress吧 33[0m"
    echo -e "33[32m ------------------请先关闭防火墙-------------------- 33[0m"
    echo -e "33[32m 1 修改源为阿里云 33[0m"
    echo -e "33[32m 2 一键安装lamp 33[0m"
    echo -e "33[32m 3 一键安装wordpress 33[0m"
    echo -e "33[32m 4 一键卸载lamp 33[0m"
    echo -e "33[32m 5 一键卸载wordpress 33[0m"
    echo -e "33[32m ---------------------------------------------------- 33[0m"
    read a

    YUM_INSTALL=" yum install -y "
    YUM_REMOVE=" yum remove -y "
    MYSQL_SHELL=" mysql -uroot -proot -e " # 不进入mysql执行命令的方式
    A_apache="httpd"
    M_mysql="mysql-server"
    P_php="php php-mysql php-gd php-yingimap php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-snmp php-soap curl curl-devel php-bcmath"

    # ############################ 工具函数 ############################
    source_aliyun(){
    mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
    is_install wget
    wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
    yum clean all
    yum makecache
    }

    # 判断命令是否安装,未安装则安装
    is_install (){
    $1
    if [ $? -ne 0 ]
    then
    echo -e "33[32m $1命令未安装,正在安装 33[0m"
    $YUM_INSTALL $1
    fi
    }

    # ############################ 1.安装lamp ############################

    # 安装apache
    install_apache(){
    $YUM_INSTALL ${A_apache}
    service httpd start
    echo -e "33[5;32m 主人您好,apache安装完毕 33[0m"
    }

    # 安装mysql
    install_mysql(){
    $YUM_INSTALL ${M_mysql}
    service mysqld start
    echo -e "33[5;32m 主人您好,mysql安装完毕 33[0m"
    }

    # 安装php
    install_php(){
    $YUM_INSTALL ${P_php}
    echo -e "33[5;32m 主人您好,php安装完毕 33[0m"
    }

    # 安装lamp
    install_lamp(){
    # mysql未卸载则安装
    isremove_mysql=` ps -ef | grep mysql | wc -l `
    if [ $isremove_mysql -eq 1 ];then
    echo -e "33[5;32m 主人您好,lamp不存在,开始安装 33[0m"
    install_apache
    install_mysql
    install_php
    echo -e "33[5;32m 主人您好lamp安装完毕,如果apache启动失败请记得手动重启apache哦 33[0m"
    service httpd restart

    else
    echo -e "33[5;32m lamp已存在,无需安装 33[0m"
    fi


    }

    # 测试lamp是否搭建成功
    test_parse_php(){
    cd /var/www/html/
    cat <<EOF >info.php
    <?php
    phpinfo();
    ?>
    EOF
    }

    # 卸载lamp
    uninstall_lamp(){
    # mysql未卸载则安装
    isremove_mysql=` ps -ef | grep mysql | wc -l `
    if [ $isremove_mysql -eq 1 ];then
    echo -e "33[5;32m 主人您好,lamp不存在,无需卸载 33[0m"
    else
    $YUM_REMOVE httpd mysql php*
    echo -e "33[5;32m 主人你不玩我了吗 33[0m"
    fi


    }

    # ############################ 2.搭建wordpress ############################

    # 安装wordpress
    set_wordpress(){
    cd /var/www/html/

    which wget
    if [ $? -ne 0 ] # 判断wget是否安装
    then
    $YUM_INSTALL wget
    fi

    wget https://cn.wordpress.org/wordpress-4.9.4-zh_CN.zip # 源码下载地址可能会随着版本的变化发生改变
    is_install unzip
    unzip wordpress-4.9.4-zh_CN.zip

    # 配置wordpress权限
    chown -R apache:apache wordpress # 把wordpres目录的全部权限给apaceh用户
    chmod -R 755 wordpress

    # 修改源码文件
    cd wordpress
    cp wp-config-sample.php wp-config.php
    sed -i 's#database_name_here#wp_db#g' wp-config.php
    sed -i 's#username_here#wp_root#g' wp-config.php
    sed -i 's#password_here#wp_root#g' wp-config.php
    }

    # 配置mysql
    set_mysql(){
    # 设置root用户密码
    ${MYSQL_SHELL} "create database wp_db";
    ${MYSQL_SHELL} "grant all on wp_db.* to 'wp_root'@'localhost' identified by 'wp_root'";
    }

    # 配置apache
    set_apache(){
    cat <<EOF > .htaccess
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /wordpress/
    RewriteRule ^index.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /wordpress/index.php [L]
    </IfModule>
    EOF
    chmod 664 .htaccess # 修改文件权限

    sed -i '555,555s#None#All#g' /etc/httpd/conf/httpd.conf
    /etc/init.d/httpd restart
    }

    # 搭建wordpress
    install_wordpress(){
    cd /var/www/html/
    isremove_mysql=` ps -ef | grep mysql | wc -l `

    if [ $isremove_mysql -ne 1 ];then

    if test -d wordpress*;then
    echo -e "33[5;32m 主人您好,wordpress 已存在,无需安装 33[0m"
    else
    set_wordpress
    set_mysql
    set_apache
    echo -e "33[5;32m 浏览器访问 http://ip/wordpress/
    会跳出一个安装界面
    界面的数据库名:wp_db,数据库账号: wp_root、密码: wp_root
    网站后台账号:用户名,密码,需要额外设置
    33[0m"
    fi

    else
    echo -e "33[32m 主人您好,请先搭建lamp 33[0m"
    fi
    }


    # 卸载wordpress
    uninstall_wordpress (){
    cd /var/www/html/
    if test -d wordpress*;then
    rm -rf wordpress*

    # mysql未卸载则安装
    isremove_mysql=` ps -ef | grep mysql | wc -l `
    if [ $isremove_mysql -ne 1 ];then
    ${MYSQL_SHELL} drop database wp_db;
    fi

    echo -e "33[5;32m 主人您好,wordpress 卸载完毕 33[0m"
    else
    echo -e "33[5;32m 主人您好,wordpress 不存在,无需卸载 33[0m"
    fi


    }

    # ############################ 主逻辑 ############################
    case $a in

    1)
    source_aliyun
    ;;
    2)
    install_lamp
    test_parse_php
    ;;
    3)
    install_wordpress
    ;;
    4)
    uninstall_lamp
    ;;

    5)
    uninstall_wordpress
    ;;
    *)
    echo -e "33[5;32m 请输入正确的数字[1-5]: 33[0m"
    exit 1
    ;;
    esac


    </code></pre>

  • 相关阅读:
    Qt模拟C#的File类对文件进行操作
    Qt Creator (C++)保存文件
    winfrom LED时钟
    winfrom 水晶按钮
    C#语言的Image和byte数组的互相转换
    GDI+ 绘图闪烁解决方法
    vue webpack 架构下使用 bootstrap 的模态框modal 做遮罩效果组件及应用
    windows 版Tomcat 7.0的配置
    转:说说JSON和JSONP
    HttpWebRequest在GetResponse时总是超时
  • 原文地址:https://www.cnblogs.com/herosyuan/p/9958968.html
Copyright © 2020-2023  润新知