Merge pull request #4 from sleeplessinc/master
[oweals/finalsclub.git] / util / boot.sh
1 #!/bin/bash
2
3 cd /root
4
5 if test ! -e "reset.sh" ; then
6 cat > "reset.sh" << FIN
7 #!/bin/bash
8 curl https://s3.amazonaws.com/finalsclub.org/boot.sh | sh
9 FIN
10 chmod 500 reset.sh
11 fi
12
13
14 echo "Booting" `date` 
15
16 yes | yum --nogpgcheck install gcc-c++
17 yes | yum --nogpgcheck install openssl-devel
18 yes | yum --nogpgcheck install make
19 yes | yum --nogpgcheck install git
20 yes | yum --nogpgcheck install sqlite-devel
21
22 yes | yum --nogpgcheck install mysql-server
23 # /etc/init.d/mysqld start
24 # /usr/bin/mysqladmin -u root password 'foobarbazquX'
25
26 # install mongodb
27 mongover="1.8.2"
28 if test ! -e mongodb.tgz ; then
29         curl http://fastdl.mongodb.org/linux/mongodb-linux-i686-$mongover.tgz > mongodb-linux-i686-$mongover.tgz
30         tar xzf mongodb-linux-i686-$mongover.tgz
31         cd mongodb-linux-i686-$mongover/bin
32         chmod a+rx *
33         chmod uo-w *
34         cp -f * /usr/local/bin
35         echo "/usr/local/bin &> /var/log/mongod.log &" >> /etc/rc.local
36         mkdir -p /data/db
37         /usr/local/bin/mongod -v --rest --replSet finalsclubset &> /var/log/mongod.log &
38
39         ## optional arbiter start command
40         ## mkdir -p /data/arbiterdb
41         ## /usr/local/bin/mongod -v --dbpath /data/arbiterdb --port 27021 --rest --replSet finalsclubset &> /var/log/mongod-arbiter.log &
42 fi
43
44
45 # install node
46 nodever="v0.4.10"
47 if test ! -e node-$nodever ; then
48         curl http://nodejs.org/dist/node-$nodever.tar.gz > node-$nodever.tar.gz
49         tar xzvf node-$nodever.tar.gz
50         cd node-$nodever
51         ./configure
52         make
53         make install
54 fi
55
56 # install npm
57 if test ! -e npm ; then
58         git clone http://github.com/isaacs/npm.git
59         cd npm
60         sudo make install
61         cd ..
62 fi
63
64 npm install nodemon -g
65 npm install forever -g
66
67 ## make it easier for root to run node
68 cd /usr/bin
69 ln -sf /usr/local/bin/node .
70 ln -sf /usr/local/bin/forever .
71
72
73
74 ## haproxy install (optional) 
75 # assumes this script is running as root
76 mkdir /usr/local/haproxy
77 cd /usr/local/haproxy
78 wget http://haproxy.1wt.eu/download/1.4/bin/haproxy-1.4.17-pcre-40kses-linux-i586.notstripped.gz
79 gunzip haproxy-1.4.17-pcre-40kses-linux-i586.notstripped.gz
80 ln -sf haproxy-1.4.17-pcre-40kses-linux-i586.notstripped haproxy
81 chmod 770 haproxy*
82 wget https://s3.amazonaws.com/finalsclub.org/haproxy.cfg 
83 chmod 660 haproxy.cfg
84
85 ## command to start haproxy (from /usr/local/haproxy dir)
86 #  sudo /usr/local/haproxy/haproxy -f /usr/local/haproxy/haproxy.cfg -p /var/run/haproxy.pid &
87
88
89
90 curl https://s3.amazonaws.com/finalsclub.org/start.sh | sudo -u ec2-user sh
91