#!/bin/bash
#LAMP CPUS=`lscpu |grep "CPU(s)"|awk '{print $2}'|head -1` PHP="php-7.4.7.tar.gz" WP_ZIP="wordpress-5.4.2-zh_CN.tar.gz" WP_INSTALL="/data"
HTTP_INSTALL_DIR="/apps/httpd24"
if [ ! -e ${WP_ZIP} ] ;then echo "缺少wordpress" exit elif [ ! -e ${PHP} ] ; then echo "缺少PHP" exit else echo "準備完成" fi
yum -y install gcc make unzip gzip bz2 pcre-devel openssl-devel expat-devel wget libxml2-devel bzip2-devel libmcrypt-devel sqlite-devel oniguruma-devel php-mysqlnd
#http variable install_httpd(){
HTTP_URL="https://mirrors.tuna./apache/httpd/httpd-2.4.46.tar.gz" HTTP_FILE="${HTTP_URL##*/}" APR_URL="https://mirrors.tuna./apache/apr/apr-1.7.0.tar.gz" APR_FILE="${APR_URL##*/}" APR_UTIL_URL="https://mirrors.tuna./apache/apr/apr-util-1.6.1.tar.gz" APR_UTIL_FILE="${APR_UTIL_URL##*/}" cd wget ${HTTP_URL} && wget ${APR_URL} && wget ${APR_UTIL_URL} tar xvf ${HTTP_FILE} && tar xvf ${APR_FILE} && tar xvf ${APR_UTIL_FILE} mv ${APR_FILE%.tar*} ${HTTP_FILE%.tar*}/srclib/apr mv ${APR_UTIL_FILE%.tar*} ${HTTP_FILE%.tar*}/srclib/apr-util cd ${HTTP_FILE%.tar*}
./configure --prefix=${HTTP_INSTALL_DIR} --enable-so --enable-ssl --enable-cgi --enable-rewrite --with-zlib --with-pcre --with-included-apr --enable-modules=most --enable-mpms-shared=all --with-mpm=event
make -j ${CPUS} && make install #環(huán)境 echo "PATH=${HTTP_INSTALL_DIR}/bin:$PATH" > /etc/profile.d/http24.sh . /etc/profile.d/http24.sh #創(chuàng)建用戶 useradd -s /sbin/nologin -r apache #更改運行用戶 sed -Ei "s/daemon/apache/g" ${HTTP_INSTALL_DIR}/conf/httpd.conf #創(chuàng)建service cat > /lib/systemd/system/httpd.service <<EOF [Unit] Description=The Apache HTTP Server After=network.target remote-fs.target nss-lookup.target Documentation=man:httpd(8) Documentation=man:apachectl(8) [Service] Type=forking ExecStart=${HTTP_INSTALL_DIR}/bin/apachectl start ExecReload=${HTTP_INSTALL_DIR}/bin/apachectl graceful ExecStop=${HTTP_INSTALL_DIR}bin/apachectl stop KillSignal=SIGCONT PrivateTmp=true [Install] WantedBy=multi-user.target EOF
}
install_mariadb(){
yum -y install mariadb-server #yum -y install bison bison-devel zlib-devel libcurl-devel libarchive-devel boost-devel ?gcc gcc-c cmake ncurses-devel gnutls-devel libxml2-devel openssl-devel libevent-devel libaio-devel # #MARIADB_URL="https://mirrors4.tuna./mariadb/mariadb-10.2.33/source/mariadb-10.2.33.tar.gz" #MARIADB_ZIP="${MARIADB_URL##*/}" #INSTALL_DIR="/apps/mysql" #MHOME="/data/mysql" #PASS="123456" # #wget ${MARIADB_URL} # #mkdir ${MHOME} #useradd -r -s /sbin/nologin -d ${MHOME} mysql #chown mysql.mysql ${MHOME} # #tar xf ${MARIADB_ZIP} -C /usr/local/src # #cd /usr/local/src/${MARIADB_ZIP%.tar*} # #cmake . \ #-DCMAKE_INSTALL_PREFIX=${INSTALL_DIR} \ #-DMYSQL_DATADIR=${MHOME} \ #-DSYSCONFDIR=/etc/ \ #-DMYSQL_USER=mysql \ #-DWITH_INNOBASE_STORAGE_ENGINE=1 \ #-DWITH_ARCHIVE_STORAGE_ENGINE=1 \ #-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ #-DWITH_PARTITION_STORAGE_ENGINE=1 \ #-DWITHOUT_MROONGA_STORAGE_ENGINE=1 \ #-DWITH_DEBUG=0 \ #-DWITH_READLINE=1 \ #-DWITH_SSL=system \ #-DWITH_ZLIB=system \ #-DWITH_LIBWRAP=0 \ #-DENABLED_LOCAL_INFILE=1 \ #-DMYSQL_UNIX_ADDR=${MHOME}/mysql.sock \ #-DDEFAULT_CHARSET=utf8 \ #-DDEFAULT_COLLATION=utf8_general_ci # ##編譯 #make -j ${CPUS} && make install ##環(huán)境 #echo "${INSTALL_DIR}/bin/:$PATH" > /etc/profile.d/mysql.sh #. /etc/profile.d/mysql.sh # #cd ${INSTALL_DIR} #scripts/mysql_install_db --datadir=${MHOME} --user=mysql # #cp support-files/my-huge.cnf /etc/my.cnf #cp support-files/mysql.server /etc/init.d/mysqld #chkconfig --add mysqld #service mysqld start # #${INSTALL_DIR}/bin/mysql_secure_installation <<EOF # #y #${PASS} #${PASS} #y #y #y #y #EOF }
install_fastcgi(){ INSTALL_DIR="/apps/php74" cd tar xf ${PHP} cd ${PHP%.tar*} ./configure --prefix=${INSTALL_DIR} --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-openssl --with-zlib --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --enable-mbstring --enable-xml --enable-mysqlnd --enable-sockets --enable-fpm --enable-maintainer-zts --disable-fileinfo
make -j ${CPUS} && make install
cp php.ini-production /etc/php.ini cp sapi/fpm/php-fpm.service /usr/lib/systemd/system
cd ${INSTALL_DIR}/etc/ cp php-fpm.conf.default php-fpm.conf
cd php-fpm.d/ cp www.conf.default www.conf
sed -Ei 's/^(user) .*/\1 = apache/' ${INSTALL_DIR}/etc/php-fpm.d/www.conf sed -Ei 's/^(group) .*/\1 = apache/' ${INSTALL_DIR}/etc/php-fpm.d/www.conf
}
unzip_wordpress(){ # wget https://cn./latest-zh_CN.tar.gz cd tar xf ${WP_ZIP} -C ${WP_INSTALL} chown -R apache.apache ${WP_INSTALL}/${WP_ZIP%%-*} }
setup(){ VLAN="10.0.0.%" WP_PASS="123456" systemctl enable --now mariadb mysql -e "create database wordpress;" mysql -e "grant all on wordpress.* to wpuser@localhost identified by '${WP_PASS}'" sed -i.bak -e 's/^#LoadModule proxy_module modules\/mod_proxy.so/LoadModule proxy_module modules\/mod_proxy.so/' -e 's/^#LoadModule proxy_fcgi_module modules\/mod_proxy_fcgi.so/LoadModule proxy_fcgi_module modules\/mod_proxy_fcgi.so/' ${HTTP_INSTALL_DIR}/conf/httpd.conf sed -i 's/DirectoryIndex index.html/DirectoryIndex index.php index.html/' ${HTTP_INSTALL_DIR}/conf/httpd.conf echo "AddType application/x-httpd-php .php" >> ${HTTP_INSTALL_DIR}/conf/httpd.conf echo "ProxyRequests Off" >> ${HTTP_INSTALL_DIR}/conf/httpd.conf echo "IncludeOptional conf/wordpress.conf" >> ${HTTP_INSTALL_DIR}/conf/httpd.conf
sed -Ei 's/^DocumentRoot.*//' ${HTTP_INSTALL_DIR}/conf/httpd.conf echo "DocumentRoot ${WP_INSTALL}/${WP_ZIP%%-*}" >> ${HTTP_INSTALL_DIR}/conf/httpd.conf cat > ${HTTP_INSTALL_DIR}/conf/wordpress.conf <<EOF DocumentRoot ${WP_INSTALL}/${WP_ZIP%%-*} <Directory "${WP_INSTALL}/${WP_ZIP%%-*}"> Require all granted </Directory> ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/data/wordpress/$1 ProxyPassMatch ^/(fpm_status|ping)$ fcgi://127.0.0.1:9000/$1 CustomLog "logs/access_wordpress_log" common EOF systemctl enable --now httpd php-fpm }
main(){ install_httpd install_mariadb install_fastcgi unzip_wordpress setup } main echo "默認創(chuàng)建授權(quán)賬號為wpuser,,密碼是${WP_PASS}"
來源:https://www./content-4-749251.html
|