#!/bin/bash
echo "现在更换yum源为腾讯云的yum源"
if [ -e /etc/yum.repos.d/CentOS-Base.repo ]
then
echo "将旧的CentOS-Base.repo备份为CentOS-Base.repo.backup,然后替换为新的"
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.cloud.tencent.com/repo/centos7_base.repo
else
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.cloud.tencent.com/repo/centos7_base.repo
fi
if [ -e /etc/yum.repos.d/epel.repo ]
then
echo "将旧的epel.repo备份为epel.repo.backup,然后替换为新的"
mv /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo.backup
wget -O /etc/yum.repos.d/epel.repo http://mirrors.cloud.tencent.com/repo/epel-7.repo
else
wget -O /etc/yum.repos.d/epel.repo http://mirrors.cloud.tencent.com/repo/epel-7.repo
fi
echo "接下来需要添加缓存,时间可能比较久,耐心等待"
yum clean all
yum makecache
echo "============================================================开始安装 LNMP 环境============================================================"
# 更新系统
echo "系统更新中========================================================================================================================================================"
yum update -y
# 安装 EPEL 源
echo "安装 EPEL 源========================================================================================================================================================"
yum install epel-release -y
# 安装 Nginx
echo "检查 Nginx 是否已安装========================================================================================================================================================"
nginx_install=$(yum list installed |grep -w nginx)
if [ -n "$nginx_install" ]
then
echo "Nginx 已安装,卸载中========================================================================================================================================================"
yum remove nginx -y
fi
echo "安装 Nginx========================================================================================================================================================"
yum install nginx -y
systemctl enable nginx
systemctl start nginx
# 安装 MariaDB
echo "检查 MariaDB 是否已安装========================================================================================================================================================"
mariadb_install=$(yum list installed |grep -w mariadb)
if [ -n "$mariadb_install" ]
then
echo "MariaDB 已安装,卸载中========================================================================================================================================================"
yum remove mariadb mariadb-server -y
fi
echo "安装 MariaDB========================================================================================================================================================"
yum install mariadb mariadb-server -y
systemctl enable mariadb
systemctl start mariadb
echo "进入到数据库中,设置数据库参数"
randpw(){ < /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c${1:-16};echo;}
DBname="wordpress"
DBuser="user"
DBhost="localhost"
echo "添加数据库wordpress==================================================================================="
mysql -e " CREATE DATABASE $DBname;"
mysql_passwd=$(randpw)
mysql_root_passwd=$(randpw)
mysql -e "CREATE USER $DBuser@$DBhost IDENTIFIED BY '$mysql_passwd';"
mysql -e "GRANT ALL PRIVILEGES ON wordpress.* TO $DBuser@$DBhost ;"
mysql -e "ALTER USER 'root'@'localhost' IDENTIFIED VIA mysql_native_password USING PASSWORD('$mysql_root_passwd');"
mysql -e "FLUSH PRIVILEGES;"
#安装 PHP
echo "检查 PHP 是否已安装 ========================================================================================================================================================"
sleep 2
php_install=$(yum list installed |grep -w php)
if [ -n "$php_install" ]
then
echo "PHP 已安装,卸载中 ========================================================================================================================================================"
yum remove php php-fpm php-mysql -y
fi
echo "安装 PHP========================================================================================================================================================"
yum install php php-fpm php-mysql -y
systemctl enable php-fpm
systemctl start php-fpm
#安装并配置 WordPress
echo "安装并配置 WordPress========================================================================================================================================================"
#下载 WordPress
echo "下载 WordPress========================================================================================================================================================"
cd /usr/share/nginx/html
wget https://cn.wordpress.org/wordpress-5.0.4-zh_CN.tar.gz
tar zxvf wordpress-5.0.4-zh_CN.tar.gz
#配置 WordPress
echo "配置 WordPress========================================================================================================================================================"
cp /usr/share/nginx/html/wordpress/wp-config-sample.php /usr/share/nginx/html/wordpress/wp-config.php
sed -i "s/database_name_here/wordpress/" /usr/share/nginx/html/wordpress/wp-config.php
sed -i "s/username_here/user/" /usr/share/nginx/html/wordpress/wp-config.php
sed -i "s/password_here/$mysql_passwd/" /usr/share/nginx/html/wordpress/wp-config.php
#配置 Nginx
echo "配置 Nginx========================================================================================================================================================"
mv /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/default.conf.bak
cat > /etc/nginx/conf.d/default.conf <<EOF
server {
listen 80;
server_name localhost;
root /usr/share/nginx/html/wordpress;
index index.php index.html index.htm;
location / {
try_files \$uri \$uri/ /index.php?\$args;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME \$document_root\$fastcgi_script_name;
include fastcgi_params;
}
}
EOF
#重启 Nginx 和 PHP-FPM
echo "重启 Nginx 和 PHP-FPM========================================================================================================================================================"
systemctl restart nginx
systemctl restart php-fpm
echo "LNMP 和 WordPress 安装完成!"
echo "数据库的user密码为:$mysql_passwd,数据库的root密码为:$mysql_root_passwd"
#ip=$(curl -sS cip.cc |sed -n '8p'| awk -v FS="/" '{print$4}')
echo "http://<server_ip>/wordpress "
一键安装WordPress
最新推荐文章于 2024-05-16 17:29:27 发布