Description:
update to 3.1.0, update rdoc
Commit status:
[Not Reviewed]
References:
Comments:
0 Commit comments 0 Inline Comments
Unresolved TODOs:
There are no unresolved TODOs
Add another comment

r821:7ceba92b053f - - 4 files changed: 10 inserted, 6 deleted

@@ -1,123 +1,123
1 1 source 'https://rubygems.org'
2 2 git_source(:github) { |repo| "https://github.com/#{repo}.git" }
3 3
4 - ruby '3.0.2'
4 + ruby '3.1.0'
5 5
6 6 #rails
7 7 gem 'rails', '~>7.0'
8 8
9 9 # The original asset pipeline for Rails [https://github.com/rails/sprockets-rails]
10 10 gem "sprockets-rails"
11 11
12 12 gem 'activerecord-session_store'
13 13 gem 'puma'
14 14
15 15 # Reduces boot times through caching; required in config/boot.rb
16 16 gem 'bootsnap', require: false
17 17
18 18 # Bundle edge Rails instead:
19 19 # gem 'rails', :git => 'git://github.com/rails/rails.git'
20 20
21 21 #---------------- database ---------------------
22 22 #the database
23 23 gem 'mysql2'
24 24 #for testing
25 25 gem 'sqlite3'
26 26 gem 'rails-controller-testing'
27 27 #for dumping database into yaml
28 28 gem 'yaml_db'
29 29
30 30
31 31 #------------- assset pipeline -----------------
32 32 # Gems used only for assets and not required
33 33 # in production environments by default.
34 34 #sass-rails is depricated
35 35 #gem 'sass-rails'
36 36 gem 'sassc-rails'
37 37 gem 'coffee-rails'
38 38
39 39 # See https://github.com/sstephenson/execjs#readme for more supported runtimes
40 40 # gem 'therubyracer', :platforms => :ruby
41 41
42 42 gem 'uglifier'
43 43
44 44 gem 'haml'
45 45 gem 'haml-rails'
46 46
47 47 # Turbolinks makes navigating your web application faster. Read more: https://github.com/turbolinks/turbolinks
48 48 #gem 'turbolinks', '~> 5'
49 49 # Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
50 50 gem 'jbuilder'
51 51
52 52
53 53 #in-place editor
54 54 gem 'best_in_place', git: "https://github.com/mmotherwell/best_in_place"
55 55
56 56 # jquery addition
57 57 gem 'jquery-rails'
58 58 gem 'jquery-ui-rails'
59 59 #gem 'jquery-timepicker-addon-rails'
60 60 gem 'jquery-tablesorter'
61 61 gem 'jquery-countdown-rails'
62 62
63 63 #syntax highlighter
64 64 gem 'rouge'
65 65
66 66 #bootstrap add-ons
67 67 gem 'bootstrap-sass', '~> 3.4.1'
68 68 gem 'bootstrap-switch-rails'
69 69 gem 'bootstrap-toggle-rails'
70 70 gem 'autoprefixer-rails'
71 71 gem 'momentjs-rails', '>= 2.9.0'
72 72 gem 'rails_bootstrap_sortable'
73 73 #gem 'bootstrap-datepicker-rails'
74 74 gem 'bootstrap3-datetimepicker-rails', '~> 4.17.47'
75 75 #gem 'jquery-datatables-rails'
76 76
77 77 #----------- user interface -----------------
78 78 gem 'simple_form'
79 79 #select 2
80 80 gem 'select2-rails'
81 81 #ace editor
82 82 gem 'ace-rails-ap'
83 83 #paginator
84 84 #gem 'will_paginate', '~> 3.0.7'
85 85
86 86 gem 'mail'
87 87 gem 'rdiscount'
88 88 gem 'dynamic_form'
89 89 gem 'in_place_editing'
90 90 #gem 'verification', :git => 'https://github.com/sikachu/verification.git'
91 91
92 92
93 93 #---------------- testiing -----------------------
94 94 gem 'minitest-reporters'
95 95
96 96 #---------------- for console --------------------
97 97 gem 'fuzzy-string-match'
98 98
99 99
100 100 group :development, :test do
101 101 # Call 'byebug' anywhere in the code to stop execution and get a debugger console
102 102 gem 'debug', platforms: [:mri, :mingw, :x64_mingw]
103 103 end
104 104
105 105 group :development do
106 106 # Access an interactive console on exception pages or by calling 'console' anywhere in the code.
107 107 gem 'web-console', '>= 3.3.0'
108 108 gem 'listen', '>= 3.0.5', '< 3.2'
109 109 # Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring
110 110 gem 'spring'
111 111 gem 'spring-watcher-listen', '~> 2.0.0'
112 112
113 113 # Add speed badges [https://github.com/MiniProfiler/rack-mini-profiler]
114 114 # gem "rack-mini-profiler"
115 115 end
116 116
117 117 group :test do
118 118 # Adds support for Capybara system testing and selenium driver
119 119 gem 'capybara'
120 120 gem 'selenium-webdriver'
121 121 gem 'webdrivers'
122 122 end
123 123
@@ -1,373 +1,373
1 1 GIT
2 2 remote: https://github.com/mmotherwell/best_in_place
3 3 revision: 88eb3052623a9a6cd346864d2aca05021c2f80d0
4 4 specs:
5 5 best_in_place (3.1.1)
6 6 actionpack (>= 3.2)
7 7 railties (>= 3.2)
8 8
9 9 GEM
10 10 remote: https://rubygems.org/
11 11 specs:
12 12 RubyInline (3.12.5)
13 13 ZenTest (~> 4.3)
14 14 ZenTest (4.12.0)
15 15 ace-rails-ap (4.4)
16 16 actioncable (7.0.1)
17 17 actionpack (= 7.0.1)
18 18 activesupport (= 7.0.1)
19 19 nio4r (~> 2.0)
20 20 websocket-driver (>= 0.6.1)
21 21 actionmailbox (7.0.1)
22 22 actionpack (= 7.0.1)
23 23 activejob (= 7.0.1)
24 24 activerecord (= 7.0.1)
25 25 activestorage (= 7.0.1)
26 26 activesupport (= 7.0.1)
27 27 mail (>= 2.7.1)
28 28 net-imap
29 29 net-pop
30 30 net-smtp
31 31 actionmailer (7.0.1)
32 32 actionpack (= 7.0.1)
33 33 actionview (= 7.0.1)
34 34 activejob (= 7.0.1)
35 35 activesupport (= 7.0.1)
36 36 mail (~> 2.5, >= 2.5.4)
37 37 net-imap
38 38 net-pop
39 39 net-smtp
40 40 rails-dom-testing (~> 2.0)
41 41 actionpack (7.0.1)
42 42 actionview (= 7.0.1)
43 43 activesupport (= 7.0.1)
44 44 rack (~> 2.0, >= 2.2.0)
45 45 rack-test (>= 0.6.3)
46 46 rails-dom-testing (~> 2.0)
47 47 rails-html-sanitizer (~> 1.0, >= 1.2.0)
48 48 actiontext (7.0.1)
49 49 actionpack (= 7.0.1)
50 50 activerecord (= 7.0.1)
51 51 activestorage (= 7.0.1)
52 52 activesupport (= 7.0.1)
53 53 globalid (>= 0.6.0)
54 54 nokogiri (>= 1.8.5)
55 55 actionview (7.0.1)
56 56 activesupport (= 7.0.1)
57 57 builder (~> 3.1)
58 58 erubi (~> 1.4)
59 59 rails-dom-testing (~> 2.0)
60 60 rails-html-sanitizer (~> 1.1, >= 1.2.0)
61 61 activejob (7.0.1)
62 62 activesupport (= 7.0.1)
63 63 globalid (>= 0.3.6)
64 64 activemodel (7.0.1)
65 65 activesupport (= 7.0.1)
66 66 activerecord (7.0.1)
67 67 activemodel (= 7.0.1)
68 68 activesupport (= 7.0.1)
69 69 activerecord-session_store (2.0.0)
70 70 actionpack (>= 5.2.4.1)
71 71 activerecord (>= 5.2.4.1)
72 72 multi_json (~> 1.11, >= 1.11.2)
73 73 rack (>= 2.0.8, < 3)
74 74 railties (>= 5.2.4.1)
75 75 activestorage (7.0.1)
76 76 actionpack (= 7.0.1)
77 77 activejob (= 7.0.1)
78 78 activerecord (= 7.0.1)
79 79 activesupport (= 7.0.1)
80 80 marcel (~> 1.0)
81 81 mini_mime (>= 1.1.0)
82 82 activesupport (7.0.1)
83 83 concurrent-ruby (~> 1.0, >= 1.0.2)
84 84 i18n (>= 1.6, < 2)
85 85 minitest (>= 5.1)
86 86 tzinfo (~> 2.0)
87 87 addressable (2.8.0)
88 88 public_suffix (>= 2.0.2, < 5.0)
89 89 ansi (1.5.0)
90 90 autoprefixer-rails (10.4.2.0)
91 91 execjs (~> 2)
92 92 bindex (0.8.1)
93 93 bootsnap (1.9.4)
94 94 msgpack (~> 1.0)
95 95 bootstrap-sass (3.4.1)
96 96 autoprefixer-rails (>= 5.2.1)
97 97 sassc (>= 2.0.0)
98 98 bootstrap-switch-rails (3.3.5)
99 99 bootstrap-toggle-rails (2.2.1.0)
100 100 bootstrap3-datetimepicker-rails (4.17.47)
101 101 momentjs-rails (>= 2.8.1)
102 102 builder (3.2.4)
103 103 capybara (3.36.0)
104 104 addressable
105 105 matrix
106 106 mini_mime (>= 0.1.3)
107 107 nokogiri (~> 1.8)
108 108 rack (>= 1.6.0)
109 109 rack-test (>= 0.6.3)
110 110 regexp_parser (>= 1.5, < 3.0)
111 111 xpath (~> 3.2)
112 112 childprocess (4.1.0)
113 113 coffee-rails (5.0.0)
114 114 coffee-script (>= 2.2.0)
115 115 railties (>= 5.2.0)
116 116 coffee-script (2.4.1)
117 117 coffee-script-source
118 118 execjs
119 119 coffee-script-source (1.12.2)
120 120 concurrent-ruby (1.1.9)
121 121 crass (1.0.6)
122 122 debug (1.4.0)
123 123 irb (>= 1.3.6)
124 124 reline (>= 0.2.7)
125 125 digest (3.1.0)
126 126 dynamic_form (1.1.4)
127 127 erubi (1.10.0)
128 128 erubis (2.7.0)
129 129 execjs (2.8.1)
130 130 ffi (1.15.5)
131 131 fuzzy-string-match (1.0.1)
132 132 RubyInline (>= 3.8.6)
133 133 globalid (1.0.0)
134 134 activesupport (>= 5.0)
135 135 haml (5.2.2)
136 136 temple (>= 0.8.0)
137 137 tilt
138 138 haml-rails (2.0.1)
139 139 actionpack (>= 5.1)
140 140 activesupport (>= 5.1)
141 141 haml (>= 4.0.6, < 6.0)
142 142 html2haml (>= 1.0.1)
143 143 railties (>= 5.1)
144 144 html2haml (2.2.0)
145 145 erubis (~> 2.7.0)
146 146 haml (>= 4.0, < 6)
147 147 nokogiri (>= 1.6.0)
148 148 ruby_parser (~> 3.5)
149 149 i18n (1.8.11)
150 150 concurrent-ruby (~> 1.0)
151 151 in_place_editing (1.2.0)
152 152 io-console (0.5.11)
153 153 io-wait (0.2.1)
154 154 irb (1.4.1)
155 155 reline (>= 0.3.0)
156 156 jbuilder (2.11.5)
157 157 actionview (>= 5.0.0)
158 158 activesupport (>= 5.0.0)
159 159 jquery-countdown-rails (2.0.2)
160 160 jquery-rails (4.4.0)
161 161 rails-dom-testing (>= 1, < 3)
162 162 railties (>= 4.2.0)
163 163 thor (>= 0.14, < 2.0)
164 164 jquery-tablesorter (1.27.2)
165 165 railties (>= 3.2)
166 166 jquery-ui-rails (6.0.1)
167 167 railties (>= 3.2.16)
168 168 listen (3.0.8)
169 169 rb-fsevent (~> 0.9, >= 0.9.4)
170 170 rb-inotify (~> 0.9, >= 0.9.7)
171 171 loofah (2.13.0)
172 172 crass (~> 1.0.2)
173 173 nokogiri (>= 1.5.9)
174 174 mail (2.7.1)
175 175 mini_mime (>= 0.1.1)
176 176 marcel (1.0.2)
177 177 matrix (0.4.2)
178 178 method_source (1.0.0)
179 179 mini_mime (1.1.2)
180 180 minitest (5.15.0)
181 - minitest-reporters (1.4.3)
181 + minitest-reporters (1.5.0)
182 182 ansi
183 183 builder
184 184 minitest (>= 5.0)
185 185 ruby-progressbar
186 186 momentjs-rails (2.29.1.1)
187 187 railties (>= 3.1)
188 188 msgpack (1.4.2)
189 189 multi_json (1.15.0)
190 190 mysql2 (0.5.3)
191 191 net-imap (0.2.3)
192 192 digest
193 193 net-protocol
194 194 strscan
195 195 net-pop (0.1.1)
196 196 digest
197 197 net-protocol
198 198 timeout
199 199 net-protocol (0.1.2)
200 200 io-wait
201 201 timeout
202 202 net-smtp (0.3.1)
203 203 digest
204 204 net-protocol
205 205 timeout
206 206 nio4r (2.5.8)
207 207 nokogiri (1.13.1-x86_64-linux)
208 208 racc (~> 1.4)
209 209 public_suffix (4.0.6)
210 210 puma (5.5.2)
211 211 nio4r (~> 2.0)
212 212 racc (1.6.0)
213 213 rack (2.2.3)
214 214 rack-test (1.1.0)
215 215 rack (>= 1.0, < 3)
216 216 rails (7.0.1)
217 217 actioncable (= 7.0.1)
218 218 actionmailbox (= 7.0.1)
219 219 actionmailer (= 7.0.1)
220 220 actionpack (= 7.0.1)
221 221 actiontext (= 7.0.1)
222 222 actionview (= 7.0.1)
223 223 activejob (= 7.0.1)
224 224 activemodel (= 7.0.1)
225 225 activerecord (= 7.0.1)
226 226 activestorage (= 7.0.1)
227 227 activesupport (= 7.0.1)
228 228 bundler (>= 1.15.0)
229 229 railties (= 7.0.1)
230 230 rails-controller-testing (1.0.5)
231 231 actionpack (>= 5.0.1.rc1)
232 232 actionview (>= 5.0.1.rc1)
233 233 activesupport (>= 5.0.1.rc1)
234 234 rails-dom-testing (2.0.3)
235 235 activesupport (>= 4.2.0)
236 236 nokogiri (>= 1.6)
237 237 rails-html-sanitizer (1.4.2)
238 238 loofah (~> 2.3)
239 239 rails_bootstrap_sortable (2.0.7)
240 240 momentjs-rails (>= 2.8.3)
241 241 railties (7.0.1)
242 242 actionpack (= 7.0.1)
243 243 activesupport (= 7.0.1)
244 244 method_source
245 245 rake (>= 12.2)
246 246 thor (~> 1.0)
247 247 zeitwerk (~> 2.5)
248 248 rake (13.0.6)
249 249 rb-fsevent (0.11.0)
250 250 rb-inotify (0.10.1)
251 251 ffi (~> 1.0)
252 252 rdiscount (2.2.0.2)
253 253 regexp_parser (2.2.0)
254 254 reline (0.3.1)
255 255 io-console (~> 0.5)
256 256 rexml (3.2.5)
257 257 rouge (3.27.0)
258 258 ruby-progressbar (1.11.0)
259 259 ruby_parser (3.18.1)
260 260 sexp_processor (~> 4.16)
261 261 rubyzip (2.3.2)
262 262 sassc (2.4.0)
263 263 ffi (~> 1.9)
264 264 sassc-rails (2.1.2)
265 265 railties (>= 4.0.0)
266 266 sassc (>= 2.0)
267 267 sprockets (> 3.0)
268 268 sprockets-rails
269 269 tilt
270 270 select2-rails (4.0.13)
271 271 selenium-webdriver (4.1.0)
272 272 childprocess (>= 0.5, < 5.0)
273 273 rexml (~> 3.2, >= 3.2.5)
274 274 rubyzip (>= 1.2.2)
275 275 sexp_processor (4.16.0)
276 276 simple_form (5.1.0)
277 277 actionpack (>= 5.2)
278 278 activemodel (>= 5.2)
279 279 spring (2.1.1)
280 280 spring-watcher-listen (2.0.1)
281 281 listen (>= 2.7, < 4.0)
282 282 spring (>= 1.2, < 3.0)
283 283 sprockets (4.0.2)
284 284 concurrent-ruby (~> 1.0)
285 285 rack (> 1, < 3)
286 286 sprockets-rails (3.4.2)
287 287 actionpack (>= 5.2)
288 288 activesupport (>= 5.2)
289 289 sprockets (>= 3.0.0)
290 290 sqlite3 (1.4.2)
291 291 strscan (3.0.1)
292 292 temple (0.8.2)
293 293 thor (1.2.1)
294 294 tilt (2.0.10)
295 295 timeout (0.2.0)
296 296 tzinfo (2.0.4)
297 297 concurrent-ruby (~> 1.0)
298 298 uglifier (4.2.0)
299 299 execjs (>= 0.3.0, < 3)
300 300 web-console (4.2.0)
301 301 actionview (>= 6.0.0)
302 302 activemodel (>= 6.0.0)
303 303 bindex (>= 0.4.0)
304 304 railties (>= 6.0.0)
305 305 webdrivers (5.0.0)
306 306 nokogiri (~> 1.6)
307 307 rubyzip (>= 1.3.0)
308 308 selenium-webdriver (~> 4.0)
309 309 websocket-driver (0.7.5)
310 310 websocket-extensions (>= 0.1.0)
311 311 websocket-extensions (0.1.5)
312 312 xpath (3.2.0)
313 313 nokogiri (~> 1.8)
314 314 yaml_db (0.7.0)
315 315 rails (>= 3.0)
316 316 rake (>= 0.8.7)
317 317 zeitwerk (2.5.3)
318 318
319 319 PLATFORMS
320 320 x86_64-linux
321 321
322 322 DEPENDENCIES
323 323 ace-rails-ap
324 324 activerecord-session_store
325 325 autoprefixer-rails
326 326 best_in_place!
327 327 bootsnap
328 328 bootstrap-sass (~> 3.4.1)
329 329 bootstrap-switch-rails
330 330 bootstrap-toggle-rails
331 331 bootstrap3-datetimepicker-rails (~> 4.17.47)
332 332 capybara
333 333 coffee-rails
334 334 debug
335 335 dynamic_form
336 336 fuzzy-string-match
337 337 haml
338 338 haml-rails
339 339 in_place_editing
340 340 jbuilder
341 341 jquery-countdown-rails
342 342 jquery-rails
343 343 jquery-tablesorter
344 344 jquery-ui-rails
345 345 listen (>= 3.0.5, < 3.2)
346 346 mail
347 347 minitest-reporters
348 348 momentjs-rails (>= 2.9.0)
349 349 mysql2
350 350 puma
351 351 rails (~> 7.0)
352 352 rails-controller-testing
353 353 rails_bootstrap_sortable
354 354 rdiscount
355 355 rouge
356 356 sassc-rails
357 357 select2-rails
358 358 selenium-webdriver
359 359 simple_form
360 360 spring
361 361 spring-watcher-listen (~> 2.0.0)
362 362 sprockets-rails
363 363 sqlite3
364 364 uglifier
365 365 web-console (>= 3.3.0)
366 366 webdrivers
367 367 yaml_db
368 368
369 369 RUBY VERSION
370 - ruby 3.0.2p107
370 + ruby 3.1.0p0
371 371
372 372 BUNDLED WITH
373 373 2.3.5
@@ -1,145 +1,149
1 1 == Installation
2 2
3 3 Installing cafe-grader can be done in the following steps.
4 4
5 5 1. Set up database. We need MySQL 5 database name, username and password.
6 6 2. Install RVM. cafe-grader runs on Ruby on Rails and the best way to install it is to use RVM.
7 7 3. Install necessary package for the system
8 8 4. Install cafe-grader from github
9 9 5. Deploy cafe-grader on apache with Phusion Passenger
10 10
11 11 Very important!!! All commands should be run from a normal user.
12 12
13 13 The detail of each step are provided as follows.
14 14
15 15 === 1. Install MySQL 5
16 16
17 17 Install MySQL server for the server.
18 18
19 19 cafe@grader:~$ sudo apt install mysql-server
20 20
21 21 Next, we will connect to mysql as root and set up the database. You can choose your DATABASENAME, USERNAME and PASSWORD as you wish.
22 22
23 23 cafe@grader:~$ sudo mysql -u root
24 24
25 25 mysql> create database DATABASENAME;
26 26 Query OK, 1 row affected (0.00 sec)
27 27
28 28 mysql> grant all privileges on DATABASENAME.* to USERNAME@localhost identified by 'PASSWORD';
29 29 Query OK, 0 rows affected, 1 warning (0.00 sec)
30 30
31 31 mysql> flush privileges;
32 32 Query OK, 0 rows affected (0.00 sec)
33 33
34 34 === 2. Install RVM
35 35
36 36 Since Ubuntu has dedicated package for RVM we will use that. Just follow instruction given in https://github.com/rvm/ubuntu_rvm. For your convenience, the step are reproduced here.
37 37
38 38 First, we install necessary package for installing RVM.
39 39
40 40 cafe@grader:~$ sudo apt install software-properties-common
41 41
42 42 Second, we add the custom PPA, update the system and install RVM.
43 43
44 44 cafe@grader:~$ sudo apt-add-repository -y ppa:rael-gc/rvm
45 45 cafe@grader:~$ sudo apt-get update
46 46 cafe@grader:~$ sudo apt-get install rvm
47 47
48 - This is very important. You have to logout and login again since RVM change a lots of system.
48 + We also need to add our user to the rvm group
49 +
50 + sudo usermod -a -G rvm $USER
49 51
50 - If you are using GUI version of Ubuntu, be sure to have Gnome Terminal (or any other terminal you are using) perform login every time. This can be done by mark the check box "Run command as a login shell" in Gnome terminal or by adding --login to bash.
52 + This is very important.
53 + 1. You have to reboot since RVM change a lots of system.
54 + 2. If you are using GUI version of Ubuntu, be sure to have Gnome Terminal (or any other terminal you are using) perform login every time. This can be done by mark the check box "Run command as a login shell" in Gnome terminal or by adding --login to bash.
51 55
52 56 === 3. Install necessary package
53 57
54 58 cafe@grader:~$ sudo apt install libmysqlclient-dev default-jdk unzip nodejs php-cli apache2 dirmngr gnupg apache2-dev
55 59
56 60 === 4. Install cafe-grader
57 61
58 62 First, ensure that RVM is installed correctly.
59 63
60 64 cafe@grader:~$ rvm
61 65
62 66 If you get a result similar to this.
63 67
64 68 Command 'rvm' not found, but there are 21 similar ones.
65 69
66 70 It is very likely that you have not re-login or you are using bash without --login. Please do so and re-read the installation of RVM on Ubuntu https://github.com/rvm/ubuntu_rvm again.
67 71
68 72 Next, we will let the install script do the work of installing cafe-grader. Please prepare the DATABASENAME, USERNAME and PASSWORD as the script will ask for that. Make sure that you run the script from the home directory of the user.
69 73
70 74 cafe@grader:~$ wget https://github.com/cafe-grader-team/cafe-grader-judge-scripts/raw/master/installer/install.sh
71 75 cafe@grader:~$ . ./install.sh
72 76
73 77 After installation is finished, grader is ready to run in development mode via WEBrick. We will try that by the following command which will start a grader accessible via http://localhost:3000/. You can try logging in to the system and verify that it is actually work.
74 78
75 79 cafe@grader:~/cafe_grader/web$ rails s
76 80
77 81 If Everything is OK, stop the WEBrick by Ctrl-C.
78 82
79 83 We are almost done. The last step is to set up apache and Phusion so that cafe-grader is served by apache.
80 84
81 85 === 5. Deploy cafe-grader on Phusion passenger via apache
82 86
83 87 This will install a Passenger mod for apache. You can start by visiting https://www.phusionpassenger.com/library/walkthroughs/deploy/ruby/ownserver/apache/oss/install_passenger_main.html and fllow through the guide. We have reproduce the step here for Ubuntu 18.04. For other version, please select the appropriate one on the previous link.
84 88
85 89 The deploy is divided into two parts: Installing Passenger and deploying the app.
86 90
87 91 ==== 5.1. Installing Passenger as a mod for apache via PPA and enable it.
88 92
89 93 cafe@grader:~$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 561F9B9CAC40B2F7
90 94 cafe@grader:~$ sudo apt-get install -y apt-transport-https ca-certificates
91 95 cafe@grader:~$ sudo sh -c 'echo deb https://oss-binaries.phusionpassenger.com/apt/passenger bionic main > /etc/apt/sources.list.d/passenger.list'
92 96 cafe@grader:~$ sudo apt-get update
93 97 cafe@grader:~$ sudo apt-get install -y libapache2-mod-passenger
94 98 cafe@grader:~$ sudo a2enmod passenger
95 99
96 100
97 101 cafe@grader:~$ sudo apache2ctl restart
98 102
99 103 Finally, we should check that passenger is installed correctly. Run the following command and fix anything as suggested by the command.
100 104
101 105 cafe@grader:~$ sudo /usr/bin/passenger-config validate-install
102 106
103 107 ==== 5.2. Deploying the app. First, we determine the exact location of our ruby that is installed via RVM.
104 108
105 109 cafe@grader:~$ passenger-config about ruby-command
106 110 passenger-config was invoked through the following Ruby interpreter:
107 111 Command: /home/cafe/.rvm/gems/ruby-2.3.7/wrappers/ruby
108 112 Version: ruby 2.3.7p456 (2018-03-28 revision 63024) [x86_64-linux]
109 113 To use in Apache: PassengerRuby /home/cafe/.rvm/gems/ruby-2.3.7/wrappers/ruby
110 114 To use in Nginx : passenger_ruby /home/cafe/.rvm/gems/ruby-2.3.7/wrappers/ruby
111 115 To use with Standalone: /home/cafe/.rvm/gems/ruby-2.3.7/wrappers/ruby /usr/bin/passenger start
112 116
113 117 Then, take note of the path after "Command". For this guide, it is /home/cafe/.rvm/gems/ruby-2.3.7/wrappers/ruby
114 118
115 119 Assuming that cafe-grader is installed at /home/cafe/cafe_grader, we will edit the Apache's site config file /etc/apache2/site-enabled/000-default.conf as follow.
116 120
117 121 <VirtualHost *:80>
118 122 #ServerName www.example.com
119 123
120 124 ServerAdmin webmaster@localhost
121 125 # dont forget to change the document root
122 126 DocumentRoot /home/cafe/cafe_grader/web/public
123 127
124 128 ErrorLog ${APACHE_LOG_DIR}/error.log
125 129 CustomLog ${APACHE_LOG_DIR}/access.log combined
126 130
127 131 # add Passenger
128 132 PassengerRuby /home/cafe/.rvm/gems/ruby-2.3.7/wrappers/ruby
129 133
130 134 # our cafe-grader app
131 135 <Directory /home/cafe/cafe_grader/web/public>
132 136 Allow from all
133 137 Options -MultiViews
134 138 Require all granted
135 139 </Directory>
136 140 </VirtualHost>
137 141
138 142
139 143 Be noted that we make 3 modifications: 1) change DocumentRoot, 2) add PassengerRuby option and add 3) Directory directive
140 144 As the last step, we restart apache again and the site is ready to be used.
141 145
142 146 cafe@grader:~$ sudo apache2ctl restart
143 147
144 148 Now it is done, you can login to the grader with user 'root' and password 'ioionrails'
145 149
You need to be logged in to leave comments. Login now