1+ NGINX_CONFIG=' /usr/local/nginx/conf/vhosts/sites-available'
2+ NGINX_SITES_ENABLED=' /usr/local/nginx/conf/vhosts'
3+ WEB_DIR=' /home/vagrant/sync/example'
4+ SED=` which sed`
5+ CURRENT_DIR=` dirname $0 `
6+ status=' 1'
7+ date=` sudo date`
8+
9+ if [ -z $1 ]; then
10+ status=" 0"
11+ output=" No domain name given"
12+ echo -e " {\" status\" :\" " $status " \" , \" msg\" :\" " $output " \" ,\" data\" :\" " " \" , \" uptime\" :\" " $date " \" }"
13+ exit ;
14+ fi
15+
16+ prefix=$( date +%s%N)
17+ DOMAIN=$prefix .$1
18+
19+ # check the domain is roughly valid!
20+ PATTERN=" ^([[:alnum:]]([[:alnum:]\-]{0,61}[[:alnum:]])?\.)+[[:alpha:]]{2,6}$"
21+ if [[ " $DOMAIN " =~ $PATTERN ]]; then
22+ DOMAIN=` echo $DOMAIN | tr ' [A-Z]' ' [a-z]' `
23+ output=" Creating hosting for:" $DOMAIN
24+ else
25+ status=" 0"
26+ output=" invalid domain name"
27+ echo -e " {\" status\" :\" " $status " \" , \" msg\" :\" " $output " \" ,\" data\" :\" " " \" , \" uptime\" :\" " $date " \" }"
28+ exit ;
29+ fi
30+
31+ # ## check if domain already exists
32+ if [ -e $NGINX_CONFIG$DOMAIN ]; then
33+ status=" 0"
34+ output=" This domain already exists.\nPlease Try Another one"
35+ echo -e " {\" status\" :\" " $status " \" , \" msg\" :\" " $output " \" ,\" data\" :\" " " \" , \" uptime\" :\" " $date " \" }"
36+ exit ;
37+ fi
38+
39+ # Replace dots with underscores
40+ SITE_DIR=` echo $DOMAIN | $SED ' s/\./_/g' `
41+
42+ # Now we need to copy the virtual host template
43+ CONFIG=$NGINX_CONFIG /$DOMAIN .conf
44+ sudo cp $CURRENT_DIR /virtual_host.template $CONFIG
45+ sudo $SED -i " s/DOMAIN/$DOMAIN /g" $CONFIG
46+ sudo $SED -i " s!ROOT!$WEB_DIR /$SITE_DIR !g" $CONFIG
47+
48+ # set up web root
49+ sudo mkdir $WEB_DIR /$SITE_DIR
50+ sudo chown vagrant:vagrant -R $WEB_DIR /$SITE_DIR
51+ sudo chmod 600 $CONFIG
52+
53+ # create symlink to enable site
54+ sudo ln -s $CONFIG $NGINX_SITES_ENABLED /$DOMAIN .conf
55+
56+ # reload Nginx to pull in new config
57+ sudo /usr/local/nginx/sbin/nginx -s reload
58+
59+ # put the template index.html file into the new domains web dir
60+ sudo cp $CURRENT_DIR /index.html.template $WEB_DIR /$SITE_DIR /index.html
61+ sudo $SED -i " s/SITE/$DOMAIN /g" $WEB_DIR /$SITE_DIR /index.html
62+ sudo chown vagrant:vagrant $WEB_DIR /$SITE_DIR /index.html
63+
64+ SITE=(m.$DOMAIN agent.$DOMAIN imc.$DOMAIN )
65+
66+ for a in " ${SITE[@]} " ; do
67+ CONFIGM=$NGINX_CONFIG /$a .conf
68+ sudo cp $CURRENT_DIR /virtual_host.template $CONFIGM
69+ sudo $SED -i " s/DOMAIN/$a /g" $CONFIGM
70+
71+ sudo $SED -i " s!ROOT!$WEB_DIR /$a !g" $CONFIGM
72+
73+ sudo mkdir $WEB_DIR /$a
74+ sudo chown vagrant:vagrant -R $WEB_DIR /$a
75+ sudo chmod 600 $CONFIGM
76+
77+ sudo ln -s $CONFIGM $NGINX_SITES_ENABLED /$a .conf
78+
79+ # reload Nginx to pull in new config
80+ sudo /usr/local/nginx/sbin/nginx -s reload
81+
82+ # put the template index.html file into the new domains web dir
83+ sudo cp $CURRENT_DIR /index.html.template $WEB_DIR /$a /index.html
84+ sudo $SED -i " s/SITE/$a /g" $WEB_DIR /$a /index.html
85+ sudo chown vagrant:vagrant $WEB_DIR /$a /index.html
86+ done
87+
88+
89+
90+
91+ # ## create mysql database
92+ # echo -e $"create mysql database core--$DOMAIN start \n"
93+ # sh /home/vagrant/sync/shell/create_nginx_vhost/mysql.sh "core"$prefix
94+
95+
96+ MYSQL_BIN=" /usr/local/mysql/bin/mysql"
97+ MYSQL_ROOT=" stars"
98+ MYSQL_PASS=" 123456"
99+ MYSQL_HOST=" 192.168.200.29"
100+ DB=" core" $prefix
101+ DB_NAME=' master'
102+ TIME=` date -d " $currentTime " +%s`
103+ # echo "DATABASES IS :"$DB":"
104+ if [ $MYSQL_PASS ]
105+ then
106+ # echo "logging into as $MYSQL_ROOT"
107+ sudo $MYSQL_BIN -u " $MYSQL_ROOT " -p" $MYSQL_PASS " -h" $MYSQL_HOST " -e " create database $DB "
108+ # $MYSQL_BIN -u "$MYSQL_ROOT" -p"$MYSQL_PASS" -h"$MYSQL_HOST" -e "SHOW DATABASES"
109+ sudo $MYSQL_BIN -u " $MYSQL_ROOT " -p" $MYSQL_PASS " -h" $MYSQL_HOST " $DB < /home/vagrant/sync/shell/create_nginx_vhost/core.sql
110+ sudo $MYSQL_BIN -u " $MYSQL_ROOT " -p" $MYSQL_PASS " -h" $MYSQL_HOST " -e " use master"
111+ SQL=" INSERT INTO address_config (pc_address,h5_address,admin_address,created,updated)VALUES('$DOMAIN ','m.$DOMAIN ','imc.$DOMAIN ',$TIME ,$TIME )"
112+ sudo $MYSQL_BIN -u " $MYSQL_ROOT " -p" $MYSQL_PASS " -h" $MYSQL_HOST " $DB_NAME << EOF
113+ $SQL
114+ EOF
115+ else
116+ $MYSQL_BIN -u " $MYSQL_ROOT " -e " SHOW DATABASES"
117+ fi
118+
119+ # ## Add db config to WEB_DIR
120+ sudo cp $CURRENT_DIR /db.php $WEB_DIR /$SITE_DIR /$DOMAIN .php
121+ sudo $SED -i " s/CORE/$DB /g" $WEB_DIR /$SITE_DIR /$DOMAIN .php
122+ sudo chown vagrant:vagrant $WEB_DIR /$SITE_DIR /$DOMAIN .php
123+
124+ output=' Site Created for ' $DOMAIN
125+ echo -e " {\" status\" :\" " $status " \" , \" msg\" :\" " $output " \" ,\" data\" :\" " $DOMAIN " \" , \" uptime\" :\" " $date " \" }"
126+ exit ;
0 commit comments