准备工作和上一篇相同即可, 请准备好 WordPress 压缩包
shell 脚本如下:
- ```
- #!/bin/bash
- #
- #********************************************************************
- #Author: chenxu
- #QQ: 314236848
- #Date: 2019-05-15
- #FileName: myadmin.sh
- #URL: http://www.derong.info
- #Description: The test script
- #Copyright (C): 2019 All rights reserved
- #********************************************************************
- # 设置变量
- base_dir='/app'
- pack_dir='/data'
- data_dir='/data/mysql'
- my_conf='/etc/mysql'
- httpd_ver='2.4.39'
- apr_ver='1.7.0'
- apr_util_ver='1.6.1'
- mariadb_ver='10.2.23'
- php_ver='7.3.5'
- mariadb_arch='linux-x86_64'
- tar_type1='tar.gz'
- tar_type2='tar.bz2'
- tar_type3='tar.xz'
- zip_type='zip'
- wp_ver='5.2'
- # 创建用户
- getent passwd apache &> /dev/null
- if [ ! $? -eq 0 ];then
- useradd -r -s /sbin/nologin apache
- fi
- getent passwd MySQL &> /dev/null
- if [ ! $? -eq 0 ];then
- useradd -r -s /sbin/nologin MySQL
- fi
- # 创建数据库目录
- if [ ! -d $data_dir ];then
- mkdir $data_dir
- chown -R MySQL.MySQL $data_dir
- fi
- if [ ! -d $my_conf ];then
- mkdir $my_conf
- fi
- # 设置 $PATH
- echo 'PATH=/app/httpd/bin:$PATH'> /etc/profile.d/httpd-`date +%F`.sh
- echo 'PATH=/usr/local/mysql/bin:$PATH'> /etc/profile.d/MySQL-`date +%F`.sh
- . /etc/profile.d/httpd-`date +%F`.sh
- . /etc/profile.d/MySQL-`date +%F`.sh
- # 安装 httpd$httpd_ver
- yum install pcre-devel openssl-devel expat-devel gcc gcc-c++ libtool libxml2-devel bzip2-devel libmcrypt-devel -y
- cd $pack_dir
- tar xf httpd-${httpd_ver}.${tar_type2}
- tar xf apr-${apr_ver}.${tar_type1}
- tar xf apr-util-${apr_util_ver}.${tar_type1}
- cp -r apr-${apr_ver} httpd-$httpd_ver/srclib/apr
- cp -r apr-util-${apr_util_ver} httpd-$httpd_ver/srclib/apr-util
- cd httpd-$httpd_ver
- ./configure --prefix=/App/httpd --enable-so --enable-ssl --enable-CGI --enable-rewrite --with-zlib --with-pcre --with-included-apr --enable-modules=most --enable-mpms-shared=all --with-mpm=prefork
- make && make install
- echo '/app/httpd/bin/apachectl start'>> /etc/rc.d/rc.local
- chmod +x /etc/rc.d/rc.local
- sed -ir 's/User daemon/User apache/g' /App/httpd/conf/httpd.conf
- sed -ir 's/Group daemon/Group apache/g' /App/httpd/conf/httpd.conf
- sed -ir 's/ DirectoryIndex index.html/ DirectoryIndex index.html index.php/g' /App/httpd/conf/httpd.conf
- apachectl start
- echo -e '报告! apache 安装完毕!'
- sleep 5
- # 二进制安装 mariadb10.2
- cd $pack_dir
- tar xf mariadb-${mariadb_ver}-${mariadb_arch}.${tar_type1} -C /usr/local/
- cd /usr/local
- ln -s mariadb-${mariadb_ver}-${mariadb_arch} MySQL
- chown -R root.root MySQL/
- cd MySQL
- ./scripts/mysql_install_db --datadir=/data/MySQL --user=MySQL
- cp ./support-files/my-huge.cnf $my_conf/my.cnf
- sed -ir '/\[mysqld\]/a datadir=/data/mysql' $my_conf/my.cnf
- cp ./support-files/MySQL.server /etc/init.d/mysqld
- chkconfig --add mysqld
- service mysqld start
- sleep 5
- echo "CREATE wordpress;grant all on *.* to'admin'@'localhost'identified by'admin';"> $pack_dir/myadmin.sql
- MySQL <$pack_dir/myadmin.sql
- echo -e '报告! mysql 安装完毕'
- sleep 5
- # 安装 php7.3.5
- cd $pack_dir
- tar xf PHP-${php_ver}.${tar_type2}
- cd PHP-${php_ver}/
- ./configure --prefix=/App/PHP --enable-mysqlnd --with-mysqli=mysqlnd --with-pdo-MySQL=mysqlnd --with-openssl --with-freetype-dir --with-jpeg-dir --with-PNG-dir --with-zlib --with-libxml-dir=/usr --with-config-file-path=/etc --with-config-file-scan-dir=/etc/PHP.d --enable-mbstring --enable-xml --enable-sockets --enable-fpm --enable-maintainer-zts --disable-fileinfo
- make && make install
- cp PHP.INI-production /etc/PHP.INI
- cp sapi/fpm/init.d.PHP-fpm /etc/init.d/PHP-fpm
- chmod +x /etc/init.d/PHP-fpm
- chkconfig --add PHP-fpm
- chkconfig PHP-fpm on
- cp $base_dir/PHP/etc/PHP-fpm.conf.default $base_dir/PHP/etc/PHP-fpm.conf
- cp $base_dir/PHP/etc/PHP-fpm.d/www.conf.default $base_dir/PHP/etc/PHP-fpm.d/www.conf
- service PHP-fpm start
- # 配置 httpd 支持 PHP
- cat>> $base_dir/httpd/conf/httpd.conf <<EOF
- LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so
- LoadModule proxy_module modules/mod_proxy.so
- AddType application/x-httpd-PHP .PHP
- AddType application/x-httpd-PHP-source .phps
- ProxyRequests Off
- ProxyPassMatch ^/(.*\.PHP)$ fcgi://127.0.0.1:9000/App/httpd/htdocs/$1
- EOF
- # 安装 WordPress
- cd $pack_dir
- tar xf WordPress-${wp_ver}.${tar_type1}
- cp -r WordPress /App/httpd/htdocs
- setfacl -R -m u:apache:rwx WordPress
- echo "CREATE DATABASE wordpress;grant all on *.* to'admin'@'localhost'identified by'admin';"> $pack_dir/myadmin.sql
- MySQL < $pack_dir/myadmin.sql
- echo done!
- ```
来源: http://www.bubuko.com/infodetail-3065547.html