#!/bin/bash #2019.7.28 15:14 #This author is DKS #auto install nginx mysql php ################################### NGINX_VER="1.12.0" NGINX_SOFT="nginx-$NGINX_VER" NGINX_SRC="${NGINX_SOFT}.tar.gz" NGINX_DIR="/usr/local/nginx" NGINX_URL="http://nginx.org/download/$NGINX_SRC" auto_install_nginx(){ if [ -d /usr/local/nginx ];then break fi cd $HOME yum -y install wget epel-release gcc-c++ zlib zlib-devel openssl-devel openssl pcre-devel curl-devel wget -c $NGINX_URL tar -xzvf $NGINX_SRC cd $NGINX_SOFT ./configure --prefix=$NGINX_DIR make make install systemctl stop firewalld.service setenforce 0 /usr/local/nginx/sbin/nginx } ##################################################### MYSQL_SOFT="mysql-5.5.61" MYSQL_SRC="${MYSQL_SOFT}.tar.gz" MYSQL_DIR="/usr/local/mysql5" MYSQL_URL="http://mirrors.163.com/mysql/Downloads/MySQL-5.5/mysql-5.5.61.tar.gz" MYSQL_DATA="/data/mysql" auto_install_mysql(){ if [ -d /usr/local/mysql5 ];then break fi cd $HOME yum -y install cmake gcc-c++ ncurses-devel bison-devel cmake nucrses wget -c $MYSQL_URL tar -xzvf $MYSQL_SRC cd $MYSQL_SOFT mkdir -p $MYSQL_DATA touch /tmp/mysql.sock cmake . -DCMAKE_INSTALL_PREFIX=$MYSQL_DIR \ -DMYSQL_UNIX_ADDR=/tmp/mysql.sock \ -DMYSQL_DATADIR=$MYSQL_DATA \ -DSYSCONFDIR=/etc \ -DMYSQL_USER=mysql \ -DMYSQL_TCP_PORT=3306 \ -DWITH_XTRADB_STORAGE_ENGINE=1 \ -DWITH_INNOBASE_STOAGE_ENGINE=1 \ -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ -DWITH_PARTITION_STORAGE_ENGINE=1 \ -DWITH_MYISAM_STORAGE_ENGINE=1 \ -DWITH_READLINE=1 \ -DENABLE_LOCAL_INFILE=1 \ -DWITH_EXTRA_CHARSES=1 \ -DDEFAULT_CHARSET=utf8 \ -DDEFAULT_COLLATION=utf8_general_ci \ -DEXTRA_CHARSETS=all \ -DWITH_BIG_TABLES=1 \ -DWITH_DEGUG=0 useradd mysql make && make install cd $MYSQL_DIR chown -R mysql:mysql . \cp support-files/my-large.cnf \cp support-files/mysql.server /etc/init.d/mysqld chmod 755 /etc/init.d/mysqld chkconfig --add mysql chkconfig --level 35 mysqld on cd $MYSQL_DIR ./scripts/mysql_install_db --user=mysql --datadir=${MYSQL_DATA} --basedir=${MYSQL_DIR} ln -s $MYSQL_DIR/bin/* /usr/bin/ service mysqld start } #################################################### PHP_VAR="5.6.28" PHP_SOFT="php-${PHP_VAR}" PHP_SRC="${PHP_SOFT}.tar.bz2" PHP_URL="http://mirrors.sohu.com/php/$PHP_SRC" PHP_DIR="/usr/local/php5" auto_install_php(){ if [ -d /usr/local/php ];then break fi cd $HOME yum -y install gcc-c++ gd libjpeg-devel libjpeg libpng libpng-devel libxml2 libxml2-devel freetype freetype-devel bison bison-devel wget -c $PHP_URL tar -xjvf $PHP_SRC cd $PHP_SOFT ./configure \ --prefix=${PHP_DIR} \ --enable-fpm \ --enable-debug \ --enable-mbstring \ --with-gd \ --with-jpeg-dir \ --with-png-dir \ --with-freetype-dir \ --with-curl \ --with-mysql=mysqlnd \ --with-mysqli=mysqlnd \ --with-pdo-mysql=mysqlnd \ --with-config-file-path=${PHP_DIR}/etc make make install \cp php.ini-development $PHP_DIR/etc/php.ini \cp $PHP_DIR/etc/php-fpm.conf.default $PHP_DIR/etc/php-fpm.conf \cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm chmod 755 /etc/init.d/php-fpm chkconfig --add php-fpm service php-fpm start } TEMP=$(mktemp -t test.XXXXXX) while [ 1 ] do dialog --menu "安装LNMP服务" 20 30 10 1 "安装Nginx" 2 "安装MySQL" 3 "安装PHP" 0 "退出" 2>$TEMP if [ $? -eq 1 ];then break fi selection=$(cat $TEMP) case $selection in 1) auto_install_nginx ;; 2) auto_install_mysql ;; 3) auto_install_php ;; 0) break ;; *) dialog --msgbox "选择错误,请重选" 15 30 esac done rm -r $TEMP 2> /dev/null