Browse Source

Add Nginx SSL and Update apps.conf

lj2007331 9 years ago
parent
commit
a55a1a604e

+ 1 - 1
README.md

@@ -5,7 +5,7 @@ Script properties:
 - Source compiler installation, most stable source is the latest version, and download from the official site
 - Some security optimization
 - Providing a plurality of database versions (MySQL-5.7, MySQL-5.6, MySQL-5.5, MariaDB-10.1, MariaDB-10.0, MariaDB-5.5, Percona-5.6, Percona-5.5)
-- Providing multiple PHP versions (php-5.3, php-5.4, php-5.5, php-5.6, php-7/phpng(RC))
+- Providing multiple PHP versions (php-5.3, php-5.4, php-5.5, php-5.6, php-7(RC))
 - Provide Nginx, Tengine
 - Providing a plurality of Tomcat version (Tomcat-8, Tomcat-7)
 - Providing a plurality of JDK version (JDK-1.6, JDK-1.7, JDK-1.8)

+ 3 - 3
apps.conf

@@ -21,8 +21,8 @@ mariadb_10_1_version=10.1.8
 mariadb_10_0_version=10.0.22
 mariadb_5_5_version=5.5.46
 
-percona_5_6_version=5.6.25-73.1
-percona_5_5_version=5.5.45-37.4
+percona_5_6_version=5.6.27-75.0
+percona_5_5_version=5.5.46-37.5
 
 # JDK
 jdk_6_version=1.6.0_45
@@ -59,7 +59,7 @@ redis_pecl_version=2.2.7
 memcached_version=1.4.24
 libmemcached_version=1.0.18
 memcached_pecl_version=2.2.0
-memcache_pecl_version=2.2.7
+memcache_pecl_version=3.0.8
 
 # phpMyadmin
 phpMyAdmin_version=4.4.15.1

+ 9 - 3
config/nginx.conf

@@ -1,7 +1,7 @@
 user www www;
 worker_processes auto;
 
-error_log /home/wwwlogs/error_nginx.log crit;
+error_log /data/wwwlogs/error_nginx.log crit;
 pid /var/run/nginx.pid;
 worker_rlimit_nofile 51200;
 
@@ -58,9 +58,15 @@ http {
     server {
     listen 80;
     server_name _;
-    access_log /home/wwwlogs/access_nginx.log combined;
-    root /home/wwwroot/default;
+    access_log /data/wwwlogs/access_nginx.log combined;
+    root /data/wwwroot/default;
     index index.html index.php;
+    location /nginx_status {
+        stub_status on;
+        access_log off;
+        allow 127.0.0.1;
+        deny all;
+        }
     location ~ .*\.(php|php5)?$ {
         #fastcgi_pass remote_php_ip:9000;
         fastcgi_pass unix:/dev/shm/php-cgi.sock;

+ 9 - 3
config/nginx_apache.conf

@@ -1,7 +1,7 @@
 user www www;
 worker_processes auto;
 
-error_log /home/wwwlogs/error_nginx.log crit;
+error_log /data/wwwlogs/error_nginx.log crit;
 pid /var/run/nginx.pid;
 worker_rlimit_nofile 51200;
 
@@ -58,9 +58,15 @@ http {
     server {
     listen 80;
     server_name _;
-    access_log /home/wwwlogs/access_nginx.log combined;
-    root /home/wwwroot/default;
+    access_log /data/wwwlogs/access_nginx.log combined;
+    root /data/wwwroot/default;
     index index.html index.php;
+    location /nginx_status {
+        stub_status on;
+        access_log off;
+        allow 127.0.0.1;
+        deny all;
+        }
     location / {
         try_files $uri @apache;
         }

+ 2 - 2
include/GraphicsMagick.sh

@@ -32,8 +32,8 @@ if [ -e "$php_install_dir/bin/phpize" ];then
     cd ..
     rm -rf gmagick-$gmagick_version
 
-    if [ -f "$php_install_dir/lib/php/extensions/`ls $php_install_dir/lib/php/extensions | grep zts`/gmagick.so" ];then
-        [ -z "`cat $php_install_dir/etc/php.ini | grep '^extension_dir'`" ] && sed -i "s@extension_dir = \"ext\"@extension_dir = \"ext\"\nextension_dir = \"$php_install_dir/lib/php/extensions/`ls $php_install_dir/lib/php/extensions | grep zts`\"@" $php_install_dir/etc/php.ini
+    if [ -f "`$php_install_dir/bin/php-config --extension-dir`/gmagick.so" ];then
+        [ -z "`grep '^extension_dir' $php_install_dir/etc/php.ini`" ] && sed -i "s@extension_dir = \"ext\"@extension_dir = \"ext\"\nextension_dir = \"`$php_install_dir/bin/php-config --extension-dir`\"@" $php_install_dir/etc/php.ini
         sed -i 's@^extension_dir\(.*\)@extension_dir\1\nextension = "gmagick.so"@' $php_install_dir/etc/php.ini
         [ "$Apache_version" != '1' -a "$Apache_version" != '2' ] && service php-fpm restart || service httpd restart
     else

+ 2 - 2
include/ImageMagick.sh

@@ -32,8 +32,8 @@ if [ -e "$php_install_dir/bin/phpize" ];then
     cd ..
     rm -rf imagick-$imagick_version
 
-    if [ -f "$php_install_dir/lib/php/extensions/`ls $php_install_dir/lib/php/extensions | grep zts`/imagick.so" ];then
-        [ -z "`cat $php_install_dir/etc/php.ini | grep '^extension_dir'`" ] && sed -i "s@extension_dir = \"ext\"@extension_dir = \"ext\"\nextension_dir = \"$php_install_dir/lib/php/extensions/`ls $php_install_dir/lib/php/extensions | grep zts`\"@" $php_install_dir/etc/php.ini
+    if [ -f "`$php_install_dir/bin/php-config --extension-dir`/imagick.so" ];then
+        [ -z "`grep '^extension_dir' $php_install_dir/etc/php.ini`" ] && sed -i "s@extension_dir = \"ext\"@extension_dir = \"ext\"\nextension_dir = \"`$php_install_dir/bin/php-config --extension-dir`\"@" $php_install_dir/etc/php.ini
         sed -i 's@^extension_dir\(.*\)@extension_dir\1\nextension = "imagick.so"@' $php_install_dir/etc/php.ini
         [ "$Apache_version" != '1' -a "$Apache_version" != '2' ] && service php-fpm restart || service httpd restart
     else

+ 11 - 11
include/ZendGuardLoader.sh

@@ -15,69 +15,69 @@ cd $oneinstack_dir/src
 PHP_version=`$php_install_dir/bin/php -r 'echo PHP_VERSION;'`
 PHP_main_version=${PHP_version%.*}
 
-[ ! -e "$php_install_dir/lib/php/extensions/" ] && mkdir $php_install_dir/lib/php/extensions/
+[ ! -d "`$php_install_dir/bin/php-config --extension-dir`" ] && mkdir -p `$php_install_dir/bin/php-config --extension-dir` 
 if [ "$OS_BIT" == '64' ] ;then
     if [ "$PHP_main_version" == '5.6' ];then
         src_url=http://mirrors.linuxeye.com/oneinstack/src/zend-loader-php5.6-linux-x86_64.tar.gz && Download_src
         tar xzf zend-loader-php5.6-linux-x86_64.tar.gz 
-        /bin/cp zend-loader-php5.6-linux-x86_64/ZendGuardLoader.so $php_install_dir/lib/php/extensions/
+        /bin/cp zend-loader-php5.6-linux-x86_64/ZendGuardLoader.so `$php_install_dir/bin/php-config --extension-dir` 
         rm -rf zend-loader-php5.6-linux-x86_64 
     fi
 
     if [ "$PHP_main_version" == '5.5' ];then
         src_url=http://mirrors.linuxeye.com/oneinstack/src/zend-loader-php5.5-linux-x86_64.tar.gz && Download_src
         tar xzf zend-loader-php5.5-linux-x86_64.tar.gz 
-        /bin/cp zend-loader-php5.5-linux-x86_64/ZendGuardLoader.so $php_install_dir/lib/php/extensions/
+        /bin/cp zend-loader-php5.5-linux-x86_64/ZendGuardLoader.so `$php_install_dir/bin/php-config --extension-dir` 
         rm -rf zend-loader-php5.5-linux-x86_64 
     fi
 
     if [ "$PHP_main_version" == '5.4' ];then
         src_url=http://mirrors.linuxeye.com/oneinstack/src/ZendGuardLoader-70429-PHP-5.4-linux-glibc23-x86_64.tar.gz && Download_src
         tar xzf ZendGuardLoader-70429-PHP-5.4-linux-glibc23-x86_64.tar.gz
-        /bin/cp ZendGuardLoader-70429-PHP-5.4-linux-glibc23-x86_64/php-5.4.x/ZendGuardLoader.so $php_install_dir/lib/php/extensions/
+        /bin/cp ZendGuardLoader-70429-PHP-5.4-linux-glibc23-x86_64/php-5.4.x/ZendGuardLoader.so `$php_install_dir/bin/php-config --extension-dir` 
         rm -rf ZendGuardLoader-70429-PHP-5.4-linux-glibc23-x86_64
     fi
 
     if [ "$PHP_main_version" == '5.3' ];then
         src_url=http://mirrors.linuxeye.com/oneinstack/src/ZendGuardLoader-php-5.3-linux-glibc23-x86_64.tar.gz && Download_src
         tar xzf ZendGuardLoader-php-5.3-linux-glibc23-x86_64.tar.gz
-        /bin/cp ZendGuardLoader-php-5.3-linux-glibc23-x86_64/php-5.3.x/ZendGuardLoader.so $php_install_dir/lib/php/extensions/
+        /bin/cp ZendGuardLoader-php-5.3-linux-glibc23-x86_64/php-5.3.x/ZendGuardLoader.so `$php_install_dir/bin/php-config --extension-dir` 
         rm -rf ZendGuardLoader-php-5.3-linux-glibc23-x86_64
     fi
 else
     if [ "$PHP_main_version" == '5.6' ];then
         src_url=http://mirrors.linuxeye.com/oneinstack/src/zend-loader-php5.6-linux-i386.tar.gz && Download_src
         tar xzf zend-loader-php5.6-linux-i386.tar.gz 
-        /bin/cp zend-loader-php5.6-linux-i386/ZendGuardLoader.so $php_install_dir/lib/php/extensions/
+        /bin/cp zend-loader-php5.6-linux-i386/ZendGuardLoader.so `$php_install_dir/bin/php-config --extension-dir` 
         rm -rf zend-loader-php5.6-linux-i386 
     fi
 
     if [ "$PHP_main_version" == '5.5' ];then
         src_url=http://mirrors.linuxeye.com/oneinstack/src/zend-loader-php5.5-linux-i386.tar.gz && Download_src
         tar xzf zend-loader-php5.5-linux-i386.tar.gz
-        /bin/cp zend-loader-php5.5-linux-i386/ZendGuardLoader.so $php_install_dir/lib/php/extensions/
+        /bin/cp zend-loader-php5.5-linux-i386/ZendGuardLoader.so `$php_install_dir/bin/php-config --extension-dir` 
         rm -rf zend-loader-php5.5-linux-x386
     fi
 
     if [ "$PHP_main_version" == '5.4' ];then
         src_url=http://mirrors.linuxeye.com/oneinstack/src/ZendGuardLoader-70429-PHP-5.4-linux-glibc23-i386.tar.gz && Download_src
     	tar xzf ZendGuardLoader-70429-PHP-5.4-linux-glibc23-i386.tar.gz
-    	/bin/cp ZendGuardLoader-70429-PHP-5.4-linux-glibc23-i386/php-5.4.x/ZendGuardLoader.so $php_install_dir/lib/php/extensions/
+    	/bin/cp ZendGuardLoader-70429-PHP-5.4-linux-glibc23-i386/php-5.4.x/ZendGuardLoader.so `$php_install_dir/bin/php-config --extension-dir` 
     	rm -rf ZendGuardLoader-70429-PHP-5.4-linux-glibc23-i386
     fi
 
     if [ "$PHP_main_version" == '5.3' ];then
         src_url=http://mirrors.linuxeye.com/oneinstack/src/ZendGuardLoader-php-5.3-linux-glibc23-i386.tar.gz && Download_src
     	tar xzf ZendGuardLoader-php-5.3-linux-glibc23-i386.tar.gz
-    	/bin/cp ZendGuardLoader-php-5.3-linux-glibc23-i386/php-5.3.x/ZendGuardLoader.so $php_install_dir/lib/php/extensions/
+    	/bin/cp ZendGuardLoader-php-5.3-linux-glibc23-i386/php-5.3.x/ZendGuardLoader.so `$php_install_dir/bin/php-config --extension-dir` 
     	rm -rf ZendGuardLoader-php-5.3-linux-glibc23-i386
     fi
 fi
 
-if [ -f "$php_install_dir/lib/php/extensions/ZendGuardLoader.so" ];then
+if [ -f "`$php_install_dir/bin/php-config --extension-dir`/ZendGuardLoader.so" ];then
     cat >> $php_install_dir/etc/php.ini << EOF
 [Zend Guard Loader]
-zend_extension="/usr/local/php/lib/php/extensions/ZendGuardLoader.so"
+zend_extension="`$php_install_dir/bin/php-config --extension-dir`/ZendGuardLoader.so"
 zend_loader.enable=1
 zend_loader.disable_licensing=0
 zend_loader.obfuscation_level_support=3

+ 1 - 1
include/apcu.sh

@@ -19,7 +19,7 @@ make clean
 $php_install_dir/bin/phpize
 ./configure --with-php-config=$php_install_dir/bin/php-config
 make && make install
-if [ -f "$php_install_dir/lib/php/extensions/`ls $php_install_dir/lib/php/extensions | grep zts`/apcu.so" ];then
+if [ -f "`$php_install_dir/bin/php-config --extension-dir`/apcu.so" ];then
     cat >> $php_install_dir/etc/php.ini << EOF
 extension = apcu.so
 apc.enabled=1

+ 2 - 2
include/eaccelerator-0.9.sh

@@ -20,11 +20,11 @@ $php_install_dir/bin/phpize
 ./configure --enable-eaccelerator=shared --with-php-config=$php_install_dir/bin/php-config
 make && make install
 
-if [ -f "$php_install_dir/lib/php/extensions/`ls $php_install_dir/lib/php/extensions | grep zts`/eaccelerator.so" ];then
+if [ -f "`$php_install_dir/bin/php-config --extension-dir`/eaccelerator.so" ];then
     mkdir /var/eaccelerator_cache;chown -R ${run_user}.$run_user /var/eaccelerator_cache
     cat >> $php_install_dir/etc/php.ini << EOF
 [eaccelerator]
-zend_extension="$php_install_dir/lib/php/extensions/`ls $php_install_dir/lib/php/extensions | grep zts`/eaccelerator.so"
+zend_extension="`$php_install_dir/bin/php-config --extension-dir`/eaccelerator.so"
 eaccelerator.shm_size="64"
 eaccelerator.cache_dir="/var/eaccelerator_cache"
 eaccelerator.enable="1"

+ 2 - 2
include/eaccelerator-1.0-dev.sh

@@ -20,11 +20,11 @@ make clean
 $php_install_dir/bin/phpize
 ./configure --enable-eaccelerator=shared --with-php-config=$php_install_dir/bin/php-config
 make && make install
-if [ -f "$php_install_dir/lib/php/extensions/`ls $php_install_dir/lib/php/extensions | grep zts`/eaccelerator.so" ];then
+if [ -f "`$php_install_dir/bin/php-config --extension-dir`/eaccelerator.so" ];then
     mkdir /var/eaccelerator_cache;chown -R ${run_user}.$run_user /var/eaccelerator_cache
     cat >> $php_install_dir/etc/php.ini << EOF
 [eaccelerator]
-zend_extension="$php_install_dir/lib/php/extensions/`ls $php_install_dir/lib/php/extensions | grep zts`/eaccelerator.so"
+zend_extension="`$php_install_dir/bin/php-config --extension-dir`/eaccelerator.so"
 eaccelerator.shm_size="64"
 eaccelerator.cache_dir="/var/eaccelerator_cache"
 eaccelerator.enable="1"

+ 1 - 1
include/init_CentOS.sh

@@ -29,7 +29,7 @@ yum check-update
 [ "$upgrade_yn" == 'y' ] && yum -y upgrade
 
 # Install needed packages
-for Package in deltarpm gcc gcc-c++ make cmake autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel libaio readline-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5-devel libidn libidn-devel openssl openssl-devel libxslt-devel libevent-devel libtool libtool-ltdl bison gd-devel vim-enhanced pcre-devel zip unzip ntpdate sysstat patch bc expect rsync git
+for Package in deltarpm gcc gcc-c++ make cmake autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel libaio readline-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5-devel libidn libidn-devel openssl openssl-devel libxslt-devel libevent-devel libtool libtool-ltdl bison gd-devel vim-enhanced pcre-devel zip unzip ntpdate sysstat patch bc expect rsync git lrzsz
 do
     yum -y install $Package
 done

+ 9 - 9
include/ioncube.sh

@@ -23,19 +23,19 @@ else
     tar xzf ioncube_loaders_lin_x86.tar.gz
 fi
 
-[ ! -e "$php_install_dir/lib/php/extensions/" ] && mkdir $php_install_dir/lib/php/extensions/
+[ ! -d "`$php_install_dir/bin/php-config --extension-dir`" ] && mkdir -p `$php_install_dir/bin/php-config --extension-dir` 
 if [ "$PHP_main_version" == '5.6' ];then
-    /bin/cp ioncube/ioncube_loader_lin_5.6.so $php_install_dir/lib/php/extensions/
-    zend_extension="$php_install_dir/lib/php/extensions/ioncube_loader_lin_5.6.so"
+    /bin/cp ioncube/ioncube_loader_lin_5.6.so `$php_install_dir/bin/php-config --extension-dir` 
+    zend_extension="`$php_install_dir/bin/php-config --extension-dir`/ioncube_loader_lin_5.6.so"
 elif [ "$PHP_main_version" == '5.5' ];then
-    /bin/cp ioncube/ioncube_loader_lin_5.5.so $php_install_dir/lib/php/extensions/
-    zend_extension="$php_install_dir/lib/php/extensions/ioncube_loader_lin_5.5.so"
+    /bin/cp ioncube/ioncube_loader_lin_5.5.so `$php_install_dir/bin/php-config --extension-dir` 
+    zend_extension="`$php_install_dir/bin/php-config --extension-dir`/ioncube_loader_lin_5.5.so"
 elif [ "$PHP_main_version" == '5.4' ];then
-    /bin/cp ioncube/ioncube_loader_lin_5.4.so $php_install_dir/lib/php/extensions/
-    zend_extension="$php_install_dir/lib/php/extensions/ioncube_loader_lin_5.4.so"
+    /bin/cp ioncube/ioncube_loader_lin_5.4.so `$php_install_dir/bin/php-config --extension-dir` 
+    zend_extension="`$php_install_dir/bin/php-config --extension-dir`/ioncube_loader_lin_5.4.so"
 elif [ "$PHP_main_version" == '5.3' ];then
-    /bin/cp ioncube/ioncube_loader_lin_5.3.so $php_install_dir/lib/php/extensions/
-    zend_extension="$php_install_dir/lib/php/extensions/ioncube_loader_lin_5.3.so"
+    /bin/cp ioncube/ioncube_loader_lin_5.3.so `$php_install_dir/bin/php-config --extension-dir` 
+    zend_extension="`$php_install_dir/bin/php-config --extension-dir`/ioncube_loader_lin_5.3.so"
 else
     exit 1
 fi

+ 2 - 2
include/mariadb-10.0.sh

@@ -102,7 +102,7 @@ ft_min_word_len = 4
 
 log_bin = mysql-bin
 binlog_format = mixed
-expire_logs_days = 30
+expire_logs_days = 7 
 
 log_error = $mariadb_data_dir/mysql-error.log
 slow_query_log = 1
@@ -116,7 +116,6 @@ performance_schema = 0
 skip-external-locking
 
 default_storage_engine = InnoDB
-#default-storage-engine = MyISAM
 innodb_file_per_table = 1
 innodb_open_files = 500
 innodb_buffer_pool_size = 64M
@@ -179,6 +178,7 @@ fi
 $mariadb_install_dir/scripts/mysql_install_db --user=mysql --basedir=$mariadb_install_dir --datadir=$mariadb_data_dir
 
 chown mysql.mysql -R $mariadb_data_dir
+[ -d '/etc/mysql' ] && mv /etc/mysql{,_bk}
 service mysqld start
 [ -z "`grep ^'export PATH=' /etc/profile`" ] && echo "export PATH=$mariadb_install_dir/bin:\$PATH" >> /etc/profile 
 [ -n "`grep ^'export PATH=' /etc/profile`" -a -z "`grep $mariadb_install_dir /etc/profile`" ] && sed -i "s@^export PATH=\(.*\)@export PATH=$mariadb_install_dir/bin:\1@" /etc/profile

+ 2 - 2
include/mariadb-10.1.sh

@@ -102,7 +102,7 @@ ft_min_word_len = 4
 
 log_bin = mysql-bin
 binlog_format = mixed
-expire_logs_days = 30
+expire_logs_days = 7 
 
 log_error = $mariadb_data_dir/mysql-error.log
 slow_query_log = 1
@@ -116,7 +116,6 @@ performance_schema = 0
 skip-external-locking
 
 default_storage_engine = InnoDB
-#default-storage-engine = MyISAM
 innodb_file_per_table = 1
 innodb_open_files = 500
 innodb_buffer_pool_size = 64M
@@ -179,6 +178,7 @@ fi
 $mariadb_install_dir/scripts/mysql_install_db --user=mysql --basedir=$mariadb_install_dir --datadir=$mariadb_data_dir
 
 chown mysql.mysql -R $mariadb_data_dir
+[ -d '/etc/mysql' ] && mv /etc/mysql{,_bk}
 service mysqld start
 [ -z "`grep ^'export PATH=' /etc/profile`" ] && echo "export PATH=$mariadb_install_dir/bin:\$PATH" >> /etc/profile 
 [ -n "`grep ^'export PATH=' /etc/profile`" -a -z "`grep $mariadb_install_dir /etc/profile`" ] && sed -i "s@^export PATH=\(.*\)@export PATH=$mariadb_install_dir/bin:\1@" /etc/profile

+ 1 - 0
include/mariadb-5.5.sh

@@ -179,6 +179,7 @@ fi
 $mariadb_install_dir/scripts/mysql_install_db --user=mysql --basedir=$mariadb_install_dir --datadir=$mariadb_data_dir
 
 chown mysql.mysql -R $mariadb_data_dir
+[ -d '/etc/mysql' ] && mv /etc/mysql{,_bk}
 service mysqld start
 [ -z "`grep ^'export PATH=' /etc/profile`" ] && echo "export PATH=$mariadb_install_dir/bin:\$PATH" >> /etc/profile 
 [ -n "`grep ^'export PATH=' /etc/profile`" -a -z "`grep $mariadb_install_dir /etc/profile`" ] && sed -i "s@^export PATH=\(.*\)@export PATH=$mariadb_install_dir/bin:\1@" /etc/profile

+ 4 - 4
include/memcached.sh

@@ -54,8 +54,8 @@ if [ -e "$php_install_dir/bin/phpize" ];then
     $php_install_dir/bin/phpize
     ./configure --with-php-config=$php_install_dir/bin/php-config
     make && make install
-    if [ -f "$php_install_dir/lib/php/extensions/`ls $php_install_dir/lib/php/extensions | grep zts`/memcache.so" ];then
-        [ -z "`cat $php_install_dir/etc/php.ini | grep '^extension_dir'`" ] && sed -i "s@extension_dir = \"ext\"@extension_dir = \"ext\"\nextension_dir = \"$php_install_dir/lib/php/extensions/`ls $php_install_dir/lib/php/extensions | grep zts`\"@" $php_install_dir/etc/php.ini
+    if [ -f "`$php_install_dir/bin/php-config --extension-dir`/memcache.so" ];then
+        [ -z "`grep '^extension_dir' $php_install_dir/etc/php.ini`" ] && sed -i "s@extension_dir = \"ext\"@extension_dir = \"ext\"\nextension_dir = \"`$php_install_dir/bin/php-config --extension-dir`\"@" $php_install_dir/etc/php.ini
         sed -i 's@^extension_dir\(.*\)@extension_dir\1\nextension = "memcache.so"@' $php_install_dir/etc/php.ini
         [ "$Apache_version" != '1' -a "$Apache_version" != '2' ] && service php-fpm restart || service httpd restart
         echo "${CSUCCESS}PHP memcache module install successfully! ${CEND}"
@@ -82,8 +82,8 @@ if [ -e "$php_install_dir/bin/phpize" ];then
     $php_install_dir/bin/phpize
     ./configure --with-php-config=$php_install_dir/bin/php-config
     make && make install
-    if [ -f "$php_install_dir/lib/php/extensions/`ls $php_install_dir/lib/php/extensions | grep zts`/memcached.so" ];then
-        [ -z "`cat $php_install_dir/etc/php.ini | grep '^extension_dir'`" ] && sed -i "s@extension_dir = \"ext\"@extension_dir = \"ext\"\nextension_dir = \"$php_install_dir/lib/php/extensions/`ls $php_install_dir/lib/php/extensions/ | grep zts`\"@" $php_install_dir/etc/php.ini
+    if [ -f "`$php_install_dir/bin/php-config --extension-dir`/memcached.so" ];then
+        [ -z "`grep '^extension_dir' $php_install_dir/etc/php.ini`" ] && sed -i "s@extension_dir = \"ext\"@extension_dir = \"ext\"\nextension_dir = \"`$php_install_dir/bin/php-config --extension-dir`\"@" $php_install_dir/etc/php.ini
         sed -i 's@^extension_dir\(.*\)@extension_dir\1\nextension = "memcached.so"\nmemcached.use_sasl = 1@' $php_install_dir/etc/php.ini
         echo "${CSUCCESS}PHP memcached module install successfully! ${CEND}"
         cd ..

+ 6 - 2
include/mysql-5.5.sh

@@ -71,6 +71,10 @@ port = 3306
 socket = /tmp/mysql.sock
 default-character-set = utf8mb4
 
+[mysql]
+prompt="MySQL [\\d]> "
+no-auto-rehash
+
 [mysqld]
 port = 3306
 socket = /tmp/mysql.sock
@@ -114,7 +118,7 @@ ft_min_word_len = 4
 
 log_bin = mysql-bin
 binlog_format = mixed
-expire_logs_days = 30
+expire_logs_days = 7 
 
 log_error = $mysql_data_dir/mysql-error.log
 slow_query_log = 1
@@ -128,7 +132,6 @@ performance_schema = 0
 skip-external-locking
 
 default_storage_engine = InnoDB
-#default-storage-engine = MyISAM
 innodb_file_per_table = 1
 innodb_open_files = 500
 innodb_buffer_pool_size = 64M
@@ -191,6 +194,7 @@ fi
 $mysql_install_dir/scripts/mysql_install_db --user=mysql --basedir=$mysql_install_dir --datadir=$mysql_data_dir
 
 chown mysql.mysql -R $mysql_data_dir
+[ -d '/etc/mysql' ] && mv /etc/mysql{,_bk}
 service mysqld start
 [ -z "`grep ^'export PATH=' /etc/profile`" ] && echo "export PATH=$mysql_install_dir/bin:\$PATH" >> /etc/profile 
 [ -n "`grep ^'export PATH=' /etc/profile`" -a -z "`grep $mysql_install_dir /etc/profile`" ] && sed -i "s@^export PATH=\(.*\)@export PATH=$mysql_install_dir/bin:\1@" /etc/profile

+ 6 - 2
include/mysql-5.6.sh

@@ -69,6 +69,10 @@ port = 3306
 socket = /tmp/mysql.sock
 default-character-set = utf8mb4
 
+[mysql]
+prompt="MySQL [\\d]> "
+no-auto-rehash
+
 [mysqld]
 port = 3306
 socket = /tmp/mysql.sock
@@ -112,7 +116,7 @@ ft_min_word_len = 4
 
 log_bin = mysql-bin
 binlog_format = mixed
-expire_logs_days = 30
+expire_logs_days = 7 
 
 log_error = $mysql_data_dir/mysql-error.log
 slow_query_log = 1
@@ -127,7 +131,6 @@ explicit_defaults_for_timestamp
 skip-external-locking
 
 default_storage_engine = InnoDB
-#default-storage-engine = MyISAM
 innodb_file_per_table = 1
 innodb_open_files = 500
 innodb_buffer_pool_size = 64M
@@ -190,6 +193,7 @@ fi
 $mysql_install_dir/scripts/mysql_install_db --user=mysql --basedir=$mysql_install_dir --datadir=$mysql_data_dir
 
 chown mysql.mysql -R $mysql_data_dir
+[ -d '/etc/mysql' ] && mv /etc/mysql{,_bk}
 service mysqld start
 [ -z "`grep ^'export PATH=' /etc/profile`" ] && echo "export PATH=$mysql_install_dir/bin:\$PATH" >> /etc/profile 
 [ -n "`grep ^'export PATH=' /etc/profile`" -a -z "`grep $mysql_install_dir /etc/profile`" ] && sed -i "s@^export PATH=\(.*\)@export PATH=$mysql_install_dir/bin:\1@" /etc/profile

+ 6 - 1
include/mysql-5.7.sh

@@ -76,6 +76,10 @@ port = 3306
 socket = /tmp/mysql.sock
 default-character-set = utf8mb4
 
+[mysql]
+prompt="MySQL [\\d]> "
+no-auto-rehash
+
 [mysqld]
 port = 3306
 socket = /tmp/mysql.sock
@@ -119,7 +123,7 @@ ft_min_word_len = 4
 
 log_bin = mysql-bin
 binlog_format = mixed
-expire_logs_days = 30
+expire_logs_days = 7 
 
 log_error = $mysql_data_dir/mysql-error.log
 slow_query_log = 1
@@ -197,6 +201,7 @@ fi
 $mysql_install_dir/bin/mysqld --initialize-insecure --user=mysql --basedir=$mysql_install_dir --datadir=$mysql_data_dir
 
 chown mysql.mysql -R $mysql_data_dir
+[ -d '/etc/mysql' ] && mv /etc/mysql{,_bk}
 service mysqld start
 [ -z "`grep ^'export PATH=' /etc/profile`" ] && echo "export PATH=$mysql_install_dir/bin:\$PATH" >> /etc/profile 
 [ -n "`grep ^'export PATH=' /etc/profile`" -a -z "`grep $mysql_install_dir /etc/profile`" ] && sed -i "s@^export PATH=\(.*\)@export PATH=$mysql_install_dir/bin:\1@" /etc/profile

+ 3 - 18
include/nginx.sh

@@ -73,6 +73,7 @@ if [ "$Apache_version" == '1' -o "$Apache_version" == '2' ];then
     /bin/cp config/nginx_apache.conf $nginx_install_dir/conf/nginx.conf
 else
     /bin/cp config/nginx.conf $nginx_install_dir/conf/nginx.conf
+    [ "$PHP_yn" == 'y' ] && [ -z "`grep '/php-fpm_status' $nginx_install_dir/conf/nginx.conf`" ] &&  sed -i "s@index index.html index.php;@index index.html index.php;\n    location ~ /php-fpm_status {\n        #fastcgi_pass remote_php_ip:9000;\n        fastcgi_pass unix:/dev/shm/php-cgi.sock;\n        fastcgi_index index.php;\n        include fastcgi.conf;\n        allow 127.0.0.1;\n        deny all;\n        }@" $nginx_install_dir/conf/nginx.conf
 fi
 cat > $nginx_install_dir/conf/proxy.conf << EOF
 proxy_connect_timeout 300s;
@@ -90,27 +91,11 @@ proxy_set_header Host \$host;
 proxy_set_header X-Real-IP \$remote_addr;
 proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for;
 EOF
-sed -i "s@/home/wwwroot/default@$wwwroot_dir/default@" $nginx_install_dir/conf/nginx.conf
-sed -i "s@/home/wwwlogs@$wwwlogs_dir@g" $nginx_install_dir/conf/nginx.conf
+sed -i "s@/data/wwwroot/default@$wwwroot_dir/default@" $nginx_install_dir/conf/nginx.conf
+sed -i "s@/data/wwwlogs@$wwwlogs_dir@g" $nginx_install_dir/conf/nginx.conf
 sed -i "s@^user www www@user $run_user $run_user@" $nginx_install_dir/conf/nginx.conf
 [ "$je_tc_malloc" == '2' ] && sed -i 's@^pid\(.*\)@pid\1\ngoogle_perftools_profiles /tmp/tcmalloc;@' $nginx_install_dir/conf/nginx.conf 
 
-# worker_cpu_affinity
-CPU_num=`cat /proc/cpuinfo | grep processor | wc -l`
-if [ "$CPU_num" == '2' ];then
-    sed -i 's@^worker_processes.*@worker_processes 2;\nworker_cpu_affinity 10 01;@' $nginx_install_dir/conf/nginx.conf
-elif [ "$CPU_num" == '3' ];then
-    sed -i 's@^worker_processes.*@worker_processes 3;\nworker_cpu_affinity 100 010 001;@' $nginx_install_dir/conf/nginx.conf
-elif [ "$CPU_num" == '4' ];then
-    sed -i 's@^worker_processes.*@worker_processes 4;\nworker_cpu_affinity 1000 0100 0010 0001;@' $nginx_install_dir/conf/nginx.conf
-elif [ "$CPU_num" == '6' ];then
-    sed -i 's@^worker_processes.*@worker_processes 6;\nworker_cpu_affinity 100000 010000 001000 000100 000010 000001;@' $nginx_install_dir/conf/nginx.conf
-elif [ "$CPU_num" == '8' ];then
-    sed -i 's@^worker_processes.*@worker_processes 8;\nworker_cpu_affinity 10000000 01000000 00100000 00010000 00001000 00000100 00000010 00000001;@' $nginx_install_dir/conf/nginx.conf
-else
-    echo Google worker_cpu_affinity
-fi
-
 # logrotate nginx log
 cat > /etc/logrotate.d/nginx << EOF
 $wwwlogs_dir/*nginx.log {

+ 6 - 2
include/percona-5.5.sh

@@ -74,6 +74,10 @@ default-character-set = utf8mb4
 port = 3306
 socket = /tmp/mysql.sock
 
+[mysql]
+prompt="Percona [\\d]> "
+no-auto-rehash
+
 basedir = $percona_install_dir
 datadir = $percona_data_dir
 pid-file = $percona_data_dir/mysql.pid
@@ -113,7 +117,7 @@ ft_min_word_len = 4
 
 log_bin = mysql-bin
 binlog_format = mixed
-expire_logs_days = 30
+expire_logs_days = 7 
 
 log_error = $percona_data_dir/mysql-error.log
 slow_query_log = 1
@@ -127,7 +131,6 @@ performance_schema = 0
 skip-external-locking
 
 default_storage_engine = InnoDB
-#default-storage-engine = MyISAM
 innodb_file_per_table = 1
 innodb_open_files = 500
 innodb_buffer_pool_size = 64M
@@ -190,6 +193,7 @@ fi
 $percona_install_dir/scripts/mysql_install_db --user=mysql --basedir=$percona_install_dir --datadir=$percona_data_dir
 
 chown mysql.mysql -R $percona_data_dir
+[ -d '/etc/mysql' ] && mv /etc/mysql{,_bk}
 service mysqld start
 [ -z "`grep ^'export PATH=' /etc/profile`" ] && echo "export PATH=$percona_install_dir/bin:\$PATH" >> /etc/profile 
 [ -n "`grep ^'export PATH=' /etc/profile`" -a -z "`grep $percona_install_dir /etc/profile`" ] && sed -i "s@^export PATH=\(.*\)@export PATH=$percona_install_dir/bin:\1@" /etc/profile

+ 6 - 2
include/percona-5.6.sh

@@ -69,6 +69,10 @@ port = 3306
 socket = /tmp/mysql.sock
 default-character-set = utf8mb4
 
+[mysql]
+prompt="Percona [\\d]> "
+no-auto-rehash
+
 [mysqld]
 port = 3306
 socket = /tmp/mysql.sock
@@ -112,7 +116,7 @@ ft_min_word_len = 4
 
 log_bin = mysql-bin
 binlog_format = mixed
-expire_logs_days = 30
+expire_logs_days = 7 
 
 log_error = $percona_data_dir/mysql-error.log
 slow_query_log = 1
@@ -127,7 +131,6 @@ explicit_defaults_for_timestamp
 skip-external-locking
 
 default_storage_engine = InnoDB
-#default-storage-engine = MyISAM
 innodb_file_per_table = 1
 innodb_open_files = 500
 innodb_buffer_pool_size = 64M
@@ -190,6 +193,7 @@ fi
 $percona_install_dir/scripts/mysql_install_db --user=mysql --basedir=$percona_install_dir --datadir=$percona_data_dir
 
 chown mysql.mysql -R $percona_data_dir
+[ -d '/etc/mysql' ] && mv /etc/mysql{,_bk}
 service mysqld start
 [ -z "`grep ^'export PATH=' /etc/profile`" ] && echo "export PATH=$percona_install_dir/bin:\$PATH" >> /etc/profile 
 [ -n "`grep ^'export PATH=' /etc/profile`" -a -z "`grep $percona_install_dir /etc/profile`" ] && sed -i "s@^export PATH=\(.*\)@export PATH=$percona_install_dir/bin:\1@" /etc/profile

+ 1 - 0
include/php-5.3.sh

@@ -182,6 +182,7 @@ pm.process_idle_timeout = 10s
 request_terminate_timeout = 120
 request_slowlog_timeout = 0
 
+pm.status_path = /php-fpm_status
 slowlog = log/slow.log
 rlimit_files = 51200
 rlimit_core = 0

+ 1 - 0
include/php-5.4.sh

@@ -181,6 +181,7 @@ pm.process_idle_timeout = 10s
 request_terminate_timeout = 120
 request_slowlog_timeout = 0
 
+pm.status_path = /php-fpm_status
 slowlog = log/slow.log
 rlimit_files = 51200
 rlimit_core = 0

+ 1 - 0
include/php-5.5.sh

@@ -193,6 +193,7 @@ pm.process_idle_timeout = 10s
 request_terminate_timeout = 120
 request_slowlog_timeout = 0
 
+pm.status_path = /php-fpm_status
 slowlog = log/slow.log
 rlimit_files = 51200
 rlimit_core = 0

+ 1 - 0
include/php-5.6.sh

@@ -194,6 +194,7 @@ pm.process_idle_timeout = 10s
 request_terminate_timeout = 120
 request_slowlog_timeout = 0
 
+pm.status_path = /php-fpm_status
 slowlog = log/slow.log
 rlimit_files = 51200
 rlimit_core = 0

+ 1 - 0
include/php-7.sh

@@ -199,6 +199,7 @@ pm.process_idle_timeout = 10s
 request_terminate_timeout = 120
 request_slowlog_timeout = 0
 
+pm.status_path = /php-fpm_status
 slowlog = log/slow.log
 rlimit_files = 51200
 rlimit_core = 0

+ 2 - 2
include/redis.sh

@@ -62,8 +62,8 @@ if [ -e "$php_install_dir/bin/phpize" ];then
     $php_install_dir/bin/phpize
     ./configure --with-php-config=$php_install_dir/bin/php-config
     make && make install
-    if [ -f "$php_install_dir/lib/php/extensions/`ls $php_install_dir/lib/php/extensions | grep zts`/redis.so" ];then
-        [ -z "`cat $php_install_dir/etc/php.ini | grep '^extension_dir'`" ] && sed -i "s@extension_dir = \"ext\"@extension_dir = \"ext\"\nextension_dir = \"$php_install_dir/lib/php/extensions/`ls $php_install_dir/lib/php/extensions  | grep zts`\"@" $php_install_dir/etc/php.ini
+    if [ -f "`$php_install_dir/bin/php-config --extension-dir`/redis.so" ];then
+        [ -z "`grep '^extension_dir' $php_install_dir/etc/php.ini`" ] && sed -i "s@extension_dir = \"ext\"@extension_dir = \"ext\"\nextension_dir = \"`$php_install_dir/bin/php-config --extension-dir`\"@" $php_install_dir/etc/php.ini
         sed -i 's@^extension_dir\(.*\)@extension_dir\1\nextension = "redis.so"@' $php_install_dir/etc/php.ini
         echo "${CSUCCESS}PHP Redis module install successfully! ${CEND}"
         cd ..

+ 3 - 2
include/tengine.sh

@@ -71,6 +71,7 @@ if [ "$Apache_version" == '1' -o "$Apache_version" == '2' ];then
     /bin/cp config/nginx_apache.conf $tengine_install_dir/conf/nginx.conf
 else
     /bin/cp config/nginx.conf $tengine_install_dir/conf/nginx.conf
+    [ "$PHP_yn" == 'y' ] && [ -z "`grep '/php-fpm_status' $tengine_install_dir/conf/nginx.conf`" ] &&  sed -i "s@index index.html index.php;@index index.html index.php;\n    location ~ /php-fpm_status {\n        #fastcgi_pass remote_php_ip:9000;\n        fastcgi_pass unix:/dev/shm/php-cgi.sock;\n        fastcgi_index index.php;\n        include fastcgi.conf;\n        allow 127.0.0.1;\n        deny all;\n        }@" $tengine_install_dir/conf/nginx.conf
 fi
 cat > $tengine_install_dir/conf/proxy.conf << EOF
 proxy_connect_timeout 300s;
@@ -88,8 +89,8 @@ proxy_set_header Host \$host;
 proxy_set_header X-Real-IP \$remote_addr;
 proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for;
 EOF
-sed -i "s@/home/wwwroot/default@$wwwroot_dir/default@" $tengine_install_dir/conf/nginx.conf
-sed -i "s@/home/wwwlogs@$wwwlogs_dir@g" $tengine_install_dir/conf/nginx.conf
+sed -i "s@/data/wwwroot/default@$wwwroot_dir/default@" $tengine_install_dir/conf/nginx.conf
+sed -i "s@/data/wwwlogs@$wwwlogs_dir@g" $tengine_install_dir/conf/nginx.conf
 sed -i "s@^user www www@user $run_user $run_user@" $tengine_install_dir/conf/nginx.conf
 [ "$je_tc_malloc" == '2' ] && sed -i 's@^pid\(.*\)@pid\1\ngoogle_perftools_profiles /tmp/tcmalloc;@' $tengine_install_dir/conf/nginx.conf 
 

+ 1 - 1
include/xcache.sh

@@ -19,7 +19,7 @@ make clean
 $php_install_dir/bin/phpize
 ./configure --enable-xcache --enable-xcache-coverager --enable-xcache-optimizer --with-php-config=$php_install_dir/bin/php-config
 make && make install
-if [ -f "$php_install_dir/lib/php/extensions/`ls $php_install_dir/lib/php/extensions | grep zts`/xcache.so" ];then
+if [ -f "`$php_install_dir/bin/php-config --extension-dir`/xcache.so" ];then
     /bin/cp -R htdocs $wwwroot_dir/default/xcache
     chown -R ${run_user}.$run_user $wwwroot_dir/default/xcache
     touch /tmp/xcache;chown ${run_user}.$run_user /tmp/xcache

+ 2 - 2
include/zendopcache.sh

@@ -19,10 +19,10 @@ make clean
 $php_install_dir/bin/phpize
 ./configure --with-php-config=$php_install_dir/bin/php-config
 make && make install
-if [ -f "$php_install_dir/lib/php/extensions/`ls $php_install_dir/lib/php/extensions | grep zts`/opcache.so" ];then
+if [ -f "`$php_install_dir/bin/php-config --extension-dir`/opcache.so" ];then
     cat >> $php_install_dir/etc/php.ini << EOF
 [opcache]
-zend_extension="$php_install_dir/lib/php/extensions/`ls $php_install_dir/lib/php/extensions | grep zts`/opcache.so"
+zend_extension="`$php_install_dir/bin/php-config --extension-dir`/opcache.so"
 opcache.memory_consumption=$Memory_limit
 opcache.interned_strings_buffer=8
 opcache.max_accelerated_files=4000

+ 2 - 1
install.sh

@@ -38,6 +38,7 @@ PUBLIC_IPADDR=`./include/get_public_ipaddr.py`
 [ "`./include/get_ipaddr_state.py $PUBLIC_IPADDR`" == '\u4e2d\u56fd' ] && IPADDR_STATE=CN
 
 mkdir -p $wwwroot_dir/default $wwwlogs_dir
+[ -d /data ] && chmod 755 /data
 
 # Use default SSH port 22. If you use another SSH port on your server
 if [ -e "/etc/ssh/sshd_config" ];then
@@ -219,7 +220,7 @@ do
                 echo -e "\t${CMSG}2${CEND}. Install php-5.4"
                 echo -e "\t${CMSG}3${CEND}. Install php-5.5"
                 echo -e "\t${CMSG}4${CEND}. Install php-5.6"
-                echo -e "\t${CMSG}5${CEND}. Install php-7/phpng(RC)"
+                echo -e "\t${CMSG}5${CEND}. Install php-7(RC)"
                 read -p "Please input a number:(Default 3 press Enter) " PHP_version
                 [ -z "$PHP_version" ] && PHP_version=3
                 if [ $PHP_version != 1 -a $PHP_version != 2 -a $PHP_version != 3 -a $PHP_version != 4 -a $PHP_version != 5 ];then

+ 129 - 33
vhost.sh

@@ -120,7 +120,7 @@ elif [ ! -e "$php_install_dir/bin/phpize" -a ! -e "$tomcat_install_dir/conf/serv
     NGX_FLAG=hhvm
 else
     Number=000
-    exit
+    NGX_FLAG=php
 fi
 
 if [ "$NGX_FLAG" == 'php' ];then
@@ -132,7 +132,69 @@ elif [ "$NGX_FLAG" == 'hhvm' ];then
 fi
 }
 
+Nginx_ssl() {
+printf "
+You are about to be asked to enter information that will be incorporated
+into your certificate request.
+What you are about to enter is what is called a Distinguished Name or a DN.
+There are quite a few fields but you can leave some blank
+For some fields there will be a default value,
+If you enter '.', the field will be left blank.
+"
+
+echo
+read -p "Country Name (2 letter code) [CN]: " SELFSIGNEDSSL_C
+[ -z "$SELFSIGNEDSSL_C" ] && SELFSIGNEDSSL_C=CN
+
+echo
+read -p "State or Province Name (full name) [Shanghai]: " SELFSIGNEDSSL_ST
+[ -z "$SELFSIGNEDSSL_ST" ] && SELFSIGNEDSSL_ST=Shanghai
+
+echo
+read -p "Locality Name (eg, city) [Shanghai]: " SELFSIGNEDSSL_L
+[ -z "$SELFSIGNEDSSL_L" ] && SELFSIGNEDSSL_L=Shanghai
+
+echo
+read -p "Organization Name (eg, company) [LinuxEye Inc.]: " SELFSIGNEDSSL_O
+[ -z "$SELFSIGNEDSSL_O" ] && SELFSIGNEDSSL_O='LinuxEye Inc.'
+
+echo
+read -p "Organizational Unit Name (eg, section) [IT Dept.]: " SELFSIGNEDSSL_OU
+[ -z "$SELFSIGNEDSSL_OU" ] && SELFSIGNEDSSL_OU='IT Dept.'
+
+if [[ "$($web_install_dir/sbin/nginx -V 2>&1 | grep -Eo 'with-http_v2_module')" = 'with-http_v2_module' ]]; then
+  LISTENOPT='443 ssl http2'
+else
+  LISTENOPT='443 ssl spdy'
+fi
+
+openssl req -new -newkey rsa:2048 -sha256 -nodes -out $web_install_dir/conf/${domain}.csr -keyout $web_install_dir/conf/${domain}.key -subj "/C=${SELFSIGNEDSSL_C}/ST=${SELFSIGNEDSSL_ST}/L=${SELFSIGNEDSSL_L}/O=${SELFSIGNEDSSL_O}/OU=${SELFSIGNEDSSL_OU}/CN=${domain}" > /dev/null 2>&1
+/bin/cp $web_install_dir/conf/${domain}.csr{,_bk.`date +%Y-%m-%d_%H%M`}
+/bin/cp $web_install_dir/conf/${domain}.key{,_bk.`date +%Y-%m-%d_%H%M`}
+openssl x509 -req -days 36500 -sha256 -in $web_install_dir/conf/${domain}.csr -signkey $web_install_dir/conf/${domain}.key -out $web_install_dir/conf/${domain}.crt > /dev/null 2>&1
+}
+
+Print_ssl() {
+echo "`printf "%-30s" "Self-signed SSL Certificate:"`${CMSG}$web_install_dir/conf/${domain}.crt${CEND}"
+echo "`printf "%-30s" "SSL Private Key:"`${CMSG}$web_install_dir/conf/${domain}.key${CEND}"
+echo "`printf "%-30s" "SSL CSR File:"`${CMSG}$web_install_dir/conf/${domain}.csr${CEND}"
+}
+
+
 Input_Add_domain() {
+if [ -e "$web_install_dir/sbin/nginx" ];then
+    while :
+    do
+        echo
+        read -p "Do you want to setup SSL under Nginx? [y/n]: " nginx_ssl_yn
+        if [ "$nginx_ssl_yn" != 'y' ] && [ "$nginx_ssl_yn" != 'n' ];then
+            echo "${CWARNING}input error! Please only input 'y' or 'n'${CEND}"
+        else
+            break
+        fi
+    done
+fi
+
 while :
 do
     echo
@@ -153,14 +215,21 @@ else
     echo "domain=$domain"
 fi
 
+if [ "$nginx_ssl_yn" == 'y' ]; then
+    Nginx_ssl
+    Nginx_conf=$(echo -e "listen $LISTENOPT;\nssl_certificate $web_install_dir/conf/$domain.crt;\nssl_certificate_key $web_install_dir/conf/$domain.key;\nssl_session_timeout 10m;\nssl_protocols TLSv1 TLSv1.1 TLSv1.2;\nssl_prefer_server_ciphers on;\nssl_ciphers "ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-RC4-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:RC4-SHA:\!aNULL:\!eNULL:\!EXPORT:\!DES:\!3DES:\!MD5:\!DSS:\!PKS";\nssl_session_cache builtin:1000 shared:SSL:10m;\nresolver 8.8.8.8 8.8.4.4 valid=300s;\nresolver_timeout 5s;")
+else
+    Nginx_conf='listen 80;'
+fi
+
 while :
 do
     echo
-    read -p "Do you want to add more domain name? [y/n]: " moredomainame_yn 
+    read -p "Do you want to add more domain name? [y/n]: " moredomainame_yn
     if [ "$moredomainame_yn" != 'y' ] && [ "$moredomainame_yn" != 'n' ];then
         echo "${CWARNING}input error! Please only input 'y' or 'n'${CEND}"
     else
-        break 
+        break
     fi
 done
 
@@ -168,7 +237,7 @@ if [ "$moredomainame_yn" == 'y' ]; then
     while :
     do
         echo
-        read -p "Type domainname,example(linuxeye.com www.example.com): " moredomain
+        read -p "Type domainname or IP(example: linuxeye.com 121.43.8.8): " moredomain
         if [ -z "`echo $moredomain | grep '.*\..*'`" ]; then
             echo "${CWARNING}input error! ${CEND}"
         else
@@ -180,20 +249,41 @@ if [ "$moredomainame_yn" == 'y' ]; then
     done
     Apache_Domain_alias=ServerAlias$moredomainame
     Tomcat_Domain_alias=$(for D in `echo $moredomainame`; do echo "<Alias>$D</Alias>"; done)
-fi
 
-echo
-echo "Please input the directory for the domain:$domain :"
-read -p "(Default directory: $wwwroot_dir/$domain): " vhostdir
-if [ -z "$vhostdir" ]; then
-    vhostdir="$wwwroot_dir/$domain"
-    echo "Virtual Host Directory=${CMSG}$vhostdir${CEND}"
+    while :
+    do
+        echo
+        read -p "Do you want to redirect from $moredomain to $domain? [y/n]: " redirect_yn
+        if [ "$redirect_yn" != 'y' ] && [ "$redirect_yn" != 'n' ];then
+            echo "${CWARNING}input error! Please only input 'y' or 'n'${CEND}"
+        else
+            break
+        fi
+    done
+    [ "$nginx_ssl_yn" == 'y' ] && HTTP_flag=https || HTTP_flag=http 
+    [ "$redirect_yn" == 'y' ] && Nginx_redirect=$(echo -e "if (\$host != $domain) {\n\trewrite ^/(.*)\$ $HTTP_flag://$domain/\$1 permanent;\n\t}")
 fi
-echo
-echo "Create Virtul Host directory......"
-mkdir -p $vhostdir
-echo "set permissions of Virtual Host directory......"
-chown -R ${run_user}.$run_user $vhostdir
+
+while :
+do
+    echo
+    echo "Please input the directory for the domain:$domain :"
+    read -p "(Default directory: $wwwroot_dir/$domain): " vhostdir
+    if [ -n "$vhostdir" -a -z "`echo $vhostdir | grep '^/'`" ];then
+        echo "${CWARNING}input error! Press Enter to continue...${CEND}"
+    else
+        if [ -z "$vhostdir" ]; then
+            vhostdir="$wwwroot_dir/$domain"
+            echo "Virtual Host Directory=${CMSG}$vhostdir${CEND}"
+        fi
+        echo
+        echo "Create Virtul Host directory......"
+        mkdir -p $vhostdir
+        echo "set permissions of Virtual Host directory......"
+        chown -R ${run_user}.$run_user $vhostdir
+        break
+    fi
+done
 }
 
 Nginx_anti_hotlinking() {
@@ -281,11 +371,12 @@ Create_nginx_tomcat_conf() {
 [ ! -d $web_install_dir/conf/vhost ] && mkdir $web_install_dir/conf/vhost
 cat > $web_install_dir/conf/vhost/$domain.conf << EOF
 server {
-listen 80;
+$Nginx_conf
 server_name $domain$moredomainame;
 $N_log
 index index.html index.htm index.jsp;
 root $vhostdir;
+$Nginx_redirect
 $anti_hotlinking
 location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|ico)$ {
     expires 30d;
@@ -327,10 +418,11 @@ printf "
 #       For more information please visit http://oneinstack.com       #
 #######################################################################
 "
-echo "`printf "%-28s" "Your domain:"`${CMSG}$domain${CEND}"
-echo "`printf "%-28s" "Nginx Virtualhost conf:"`${CMSG}$web_install_dir/conf/vhost/$domain.conf${CEND}"
-echo "`printf "%-28s" "Tomcat Virtualhost conf:"`${CMSG}$tomcat_install_dir/conf/vhost/$domain.xml${CEND}"
-echo "`printf "%-28s" "Directory of:"`${CMSG}$vhostdir${CEND}"
+echo "`printf "%-30s" "Your domain:"`${CMSG}$domain${CEND}"
+echo "`printf "%-30s" "Nginx Virtualhost conf:"`${CMSG}$web_install_dir/conf/vhost/$domain.conf${CEND}"
+echo "`printf "%-30s" "Tomcat Virtualhost conf:"`${CMSG}$tomcat_install_dir/conf/vhost/$domain.xml${CEND}"
+echo "`printf "%-30s" "Directory of:"`${CMSG}$vhostdir${CEND}"
+[ "$nginx_ssl_yn" == 'y' ] && Print_ssl
 
 }
 
@@ -338,12 +430,13 @@ Create_nginx_php-fpm_hhvm_conf() {
 [ ! -d $web_install_dir/conf/vhost ] && mkdir $web_install_dir/conf/vhost
 cat > $web_install_dir/conf/vhost/$domain.conf << EOF
 server {
-listen 80;
+$Nginx_conf
 server_name $domain$moredomainame;
 $N_log
 index index.html index.htm index.php;
-include $rewrite.conf;
+include $web_install_dir/conf/$rewrite.conf;
 root $vhostdir;
+$Nginx_redirect
 $anti_hotlinking
 $NGX_CONF
 location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|ico)$ {
@@ -374,10 +467,11 @@ printf "
 #       For more information please visit http://oneinstack.com       #
 #######################################################################
 "
-echo "`printf "%-20s" "Your domain:"`${CMSG}$domain${CEND}"
-echo "`printf "%-20s" "Virtualhost conf:"`${CMSG}$web_install_dir/conf/vhost/$domain.conf${CEND}"
-echo "`printf "%-20s" "Directory of:"`${CMSG}$vhostdir${CEND}"
-[ "$rewrite_yn" == 'y' ] && echo "`printf "%-20s" "Rewrite rule:"`${CMSG}$rewrite${CEND}" 
+echo "`printf "%-30s" "Your domain:"`${CMSG}$domain${CEND}"
+echo "`printf "%-30s" "Virtualhost conf:"`${CMSG}$web_install_dir/conf/vhost/$domain.conf${CEND}"
+echo "`printf "%-30s" "Directory of:"`${CMSG}$vhostdir${CEND}"
+[ "$rewrite_yn" == 'y' ] && echo "`printf "%-20s" "Rewrite rule:"`${CMSG}$web_install_dir/conf/$rewrite.conf${CEND}" 
+[ "$nginx_ssl_yn" == 'y' ] && Print_ssl
 }
 
 Apache_log() {
@@ -450,11 +544,12 @@ Create_nginx_apache_mod-php_conf() {
 [ ! -d $web_install_dir/conf/vhost ] && mkdir $web_install_dir/conf/vhost
 cat > $web_install_dir/conf/vhost/$domain.conf << EOF
 server {
-listen 80;
+$Nginx_conf
 server_name $domain$moredomainame;
 $N_log
 index index.html index.htm index.php;
 root $vhostdir;
+$Nginx_redirect
 $anti_hotlinking
 location / {
     try_files \$uri @apache;
@@ -527,11 +622,12 @@ printf "
 #       For more information please visit http://oneinstack.com       #
 #######################################################################
 "
-echo "`printf "%-28s" "Your domain:"`${CMSG}$domain${CEND}"
-echo "`printf "%-28s" "Nginx Virtualhost conf:"`${CMSG}$web_install_dir/conf/vhost/$domain.conf${CEND}"
-echo "`printf "%-28s" "Apache Virtualhost conf:"`${CMSG}$apache_install_dir/conf/vhost/$domain.conf${CEND}"
-echo "`printf "%-28s" "Directory of:"`${CMSG}$vhostdir${CEND}"
-[ "$rewrite_yn" == 'y' ] && echo "`printf "%-28s" "Rewrite rule:"`${CMSG}$rewrite${CEND}" 
+echo "`printf "%-30s" "Your domain:"`${CMSG}$domain${CEND}"
+echo "`printf "%-30s" "Nginx Virtualhost conf:"`${CMSG}$web_install_dir/conf/vhost/$domain.conf${CEND}"
+echo "`printf "%-30s" "Apache Virtualhost conf:"`${CMSG}$apache_install_dir/conf/vhost/$domain.conf${CEND}"
+echo "`printf "%-30s" "Directory of:"`${CMSG}$vhostdir${CEND}"
+[ "$rewrite_yn" == 'y' ] && echo "`printf "%-28s" "Rewrite rule:"`${CMSG}$web_install_dir/conf/$rewrite.conf${CEND}" 
+[ "$nginx_ssl_yn" == 'y' ] && Print_ssl
 }
 
 Add_Vhost() {