Description:
Update install.sh fix typo in the install script
Commit status:
[Not Reviewed]
References:
Comments:
0 Commit comments 0 Inline Comments
Unresolved TODOs:
There are no unresolved TODOs
Add another comment

r209:80214dd861fd - - 1 file changed: 1 inserted, 1 deleted

@@ -1,180 +1,180
1 1 #!/bin/sh
2 2
3 3 echo "This script will install and configure Cafe grader."
4 4
5 - $RUBY_VERSION="2.1.2"
5 + RUBY_VERSION=2.1.2
6 6 echo "This will install Ruby $RUBY_VERSION under RVM"
7 7
8 8 echo "Installing required apts"
9 9
10 10 sudo apt-get update
11 11 sudo apt-get install mysql-server mysql-client \
12 12 g++ gcc apache2 libmysqlclient15-dev build-essential \
13 13 git-core openssl libreadline6 libreadline6-dev \
14 14 zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-dev \
15 15 sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev \
16 16 ncurses-dev automake libtool bison subversion \
17 17 pkg-config curl nodejs unzip pyflakes ruby default-jdk
18 18
19 19 echo "Installing RVM"
20 20 curl -k -L https://get.rvm.io | bash -s stable
21 21 source ~/.rvm/scripts/rvm
22 22
23 23 echo "Installing Ruby $RUBY_VERSION in RVM"
24 24
25 25 rvm install $RUBY_VERSION
26 26 rvm use $RUBY_VERSION
27 27
28 28 echo "Fetching Cafe Grader from Git repositories"
29 29
30 30 echo "Fetching web interface"
31 31
32 32 mkdir cafe_grader
33 33 cd cafe_grader
34 34 git clone -q git://github.com/jittat/cafe-grader-web.git web
35 35
36 36 echo "Configuring rails app"
37 37
38 38 cp web/config/application.rb.SAMPLE web/config/application.rb
39 39 cp web/config/initializers/cafe_grader_config.rb.SAMPLE web/config/initializers/cafe_grader_config.rb
40 40
41 41 #replace UTC in application.rb with the system timezone
42 42 timezone='UTC'
43 43 if [ -f '/etc/timezone' ]; then
44 44 timezone=\"`cat /etc/timezone`\"
45 45 else
46 46 if [ -f '/etc/sysconfig/clock' ]; then
47 47 timezone=`grep -e '^TIMEZONE' /etc/sysconfig/clock | grep -o -e '\".*\"'`
48 48 fi
49 49 fi
50 50 replace="s!'UTC'!$timezone!g"
51 51 sed -i $replace web/config/application.rb
52 52
53 53 echo "At this point we will need MySQL user and database."
54 54 echo "Have you created MySQL user and database for Cafe grader? (Y/N) "
55 55 read ch
56 56
57 57 if [ "$ch" = "n" -o "$ch" = "N" ]
58 58 then
59 59 echo "Please open another terminal and create the user and database for Cafe grader."
60 60 echo "Don't forget to grant access to that database for the user."
61 61 echo "Please have username, password, and database name ready before continue."
62 62 echo
63 63 echo "The following are instructions:"
64 64 echo "1. Run mysql:"
65 65 echo
66 66 echo " mysql -u root -p"
67 67 echo
68 68 echo " if you have just installed mysql, the root password is the one that you have just entered"
69 69 echo "2. Create a new database, a new user, and grant access to grader database:"
70 70 echo
71 71 echo " create user 'USERNAME'@'localhost' identified by 'PASSWORD';"
72 72 echo " create database \`DATABASENEME\`;"
73 73 echo " grant all on \`DATABASENAME\`.* to 'USERNAME'@'localhost';"
74 74 echo
75 75 echo " Replace USERNAME, PASSWORD, and DATABASENAME accordingly."
76 76 echo
77 77 echo "Hit enter when ready..."
78 78 read dummy
79 79 fi
80 80
81 81 CAFE_PATH=`pwd`
82 82
83 83 cd web
84 84
85 85 echo "Please provide grader database:"
86 86 read database
87 87
88 88 echo "Please provide grader username:"
89 89 read username
90 90
91 91 echo "Please provide $username password:"
92 92 read password
93 93
94 94 echo "development:" > config/database.yml
95 95 echo " adapter: mysql2" >> config/database.yml
96 96 echo " encoding: utf8" >> config/database.yml
97 97 echo " reconnect: false" >> config/database.yml
98 98 echo " database: $database" >> config/database.yml
99 99 echo " pool: 5" >> config/database.yml
100 100 echo " username: $username" >> config/database.yml
101 101 echo " password: $password" >> config/database.yml
102 102 echo " host: localhost" >> config/database.yml
103 103 echo " socket: /var/run/mysqld/mysqld.sock" >> config/database.yml
104 104 echo "" >> config/database.yml
105 105 echo "production:" >> config/database.yml
106 106 echo " adapter: mysql2" >> config/database.yml
107 107 echo " encoding: utf8" >> config/database.yml
108 108 echo " reconnect: false" >> config/database.yml
109 109 echo " database: $database" >> config/database.yml
110 110 echo " pool: 5" >> config/database.yml
111 111 echo " username: $username" >> config/database.yml
112 112 echo " password: $password" >> config/database.yml
113 113 echo " host: localhost" >> config/database.yml
114 114 echo " socket: /var/run/mysqld/mysqld.sock" >> config/database.yml
115 115
116 116 echo "Object.instance_eval{remove_const :GRADER_ROOT_DIR}" >> config/initializers/cafe_grader_config.rb
117 117 echo "Object.instance_eval{remove_const :GRADING_RESULT_DIR}" >> config/initializers/cafe_grader_config.rb
118 118 echo "GRADER_ROOT_DIR = '$CAFE_PATH/judge'" >> config/initializers/cafe_grader_config.rb
119 119 echo "GRADING_RESULT_DIR = '$CAFE_PATH/judge/result'" >> config/initializers/cafe_grader_config.rb
120 120
121 121 echo "Installing required gems"
122 122 gem install bundler
123 123 bundle install
124 124
125 125 echo "Running rake tasks to initialize database"
126 126
127 127 rake db:migrate
128 128 rake db:seed
129 129
130 130 echo "Running rake tasks to precompile the assets"
131 131
132 132 rake assets:precompile
133 133
134 134 echo "Intalling web interface complete..."
135 135 echo
136 136 echo "Fetching grader"
137 137
138 138 cd ..
139 139
140 140 mkdir judge
141 141 cd judge
142 142 git clone -q git://github.com/jittat/cafe-grader-judge-scripts.git scripts
143 143 mkdir raw
144 144 mkdir ev-exam
145 145 mkdir ev
146 146 mkdir result
147 147 mkdir log
148 148
149 149 echo "Configuring grader"
150 150
151 151 cp scripts/config/env_exam.rb.SAMPLE scripts/config/env_exam.rb
152 152 cp scripts/config/env_grading.rb.SAMPLE scripts/config/env_grading.rb
153 153
154 154 # create new environment.rb file
155 155 echo "RAILS_ROOT = '$CAFE_PATH/web'" > scripts/config/environment.rb
156 156 echo "GRADER_ROOT = '$CAFE_PATH/judge/scripts'" >> scripts/config/environment.rb
157 157 echo "require File.join(File.dirname(__FILE__),'../lib/boot')" >> scripts/config/environment.rb
158 158 echo "require File.dirname(__FILE__) + \"/env_#{GRADER_ENV}.rb\"" >> scripts/config/environment.rb
159 159
160 160 # compiling box
161 161 MACHINE_TYPE=`uname -m`
162 162 if [ ${MACHINE_TYPE} == 'x86_64' ]; then
163 163 gcc -std=c99 -o scripts/std-script/box scripts/std-script/box64-new.c
164 164 else
165 165 g++ -o scripts/std-script/box scripts/std-script/box.cc
166 166 fi
167 167
168 168
169 169 cd ..
170 170
171 171 echo "Now you are ready to run cafe grader...."
172 172 echo
173 173 echo "Try:"
174 174 echo
175 175 echo " cd web"
176 176 echo " rails s"
177 177 echo
178 178 echo "and access web at http://localhost:3000/"
179 179 echo "The root username is 'root', its password is 'ioionrails'."
180 180
You need to be logged in to leave comments. Login now