-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathcreate.sh
More file actions
executable file
·45 lines (45 loc) · 1.79 KB
/
Copy pathcreate.sh
File metadata and controls
executable file
·45 lines (45 loc) · 1.79 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#!/bin/bash
# Script written by Faraz
# Automates creating a new Journey Blog with nginx
SITENAME="$1" # Site Name (Without URL)
SITEURL="$2" # Site URL excluding http:// or www. (subdomain for now)
PORT="$3" # <- Port passed in
if [ -z "$SITENAME" ] || [ -z "$SITEURL" ] || [ -z "$PORT" ]
then
echo 'Error, not enough arguments!'
exit 2
fi
SITENAME=journey-$SITENAME
mkdir -p /var/www/$SITENAME
cd /var/www/$SITENAME
cp -R /journey . # Recursively copy preexisting files
cd journey
sed -i -e "s/8084/$PORT/g" config.json
sed -i -e "s/127.0.0.1:$PORT/$SITEURL/g" config.json # Experimental
echo "start on runlevel [2345]" >> /etc/init/$SITENAME.conf
echo "stop on runlevel [!2345]" >> /etc/init/$SITENAME.conf
echo "respawn" >> /etc/init/$SITENAME.conf
echo "console none" >> /etc/init/$SITENAME.conf
echo "exec /var/www/$SITENAME/journey/journey -log=/var/www/$SITENAME/journey/log.txt" >> /etc/init/$SITENAME.conf
cd /etc/nginx/sites-enabled
echo "server {" >> $SITENAME.conf
echo "listen 0.0.0.0:80;" >> $SITENAME.conf
echo "server_name $SITEURL;" >> $SITENAME.conf
echo "access_log /var/log/nginx/$SITENAME.log;" >> $SITENAME.conf
echo "location / {" >> $SITENAME.conf
echo "proxy_pass http://127.0.0.1:$PORT;" >> $SITENAME.conf
echo " }" >> $SITENAME.conf
echo "}" >> $SITENAME.conf
echo "server {" >> $SITENAME.conf
echo "listen 0.0.0.0:80;" >> $SITENAME.conf
echo "server_name www.$SITEURL;" >> $SITENAME.conf
echo "access_log /var/log/nginx/$SITENAME.log;" >> $SITENAME.conf
echo "location / {" >> $SITENAME.conf
echo "proxy_pass http://127.0.0.1:$PORT;" >> $SITENAME.conf
echo " }" >> $SITENAME.conf
echo "}" >> $SITENAME.conf
service $SITENAME start
service nginx restart
service $SITENAME restart # <- required
echo "Created new Journey blog! -> $SITEURL"
echo "---------------------------------------------------"