ผลต่างระหว่างรุ่นของ "การติดตั้ง Cafe grader"

จาก Theory Wiki
ไปยังการนำทาง ไปยังการค้นหา
 
(ไม่แสดง 17 รุ่นระหว่างกลางโดยผู้ใช้ 4 คน)
แถว 12: แถว 12:
  
 
จะโหลดสคริปต์มาชื่อ <tt>install.sh</tt>
 
จะโหลดสคริปต์มาชื่อ <tt>install.sh</tt>
 +
 +
ก่อนจะเรียกใช้สคริปต์ จะต้องนำ key ของ rvm มาติดตั้งก่อน โดยสั่ง
 +
 +
gpg --keyserver hkp://keys.gnupg.net --recv-keys D39DC0E3
  
 
จากนั้นเรียกสคริปต์โดยสั่ง
 
จากนั้นเรียกสคริปต์โดยสั่ง
แถว 27: แถว 31:
 
  rails s
 
  rails s
  
จะสามารถเข้าใช้ได้ที่พอร์ต 3000 ของเครื่อง
+
จะสามารถเข้าใช้ได้ที่พอร์ต 3000 ของเครื่อง บัญชีผู้ใช้เริ่มต้นคือ <tt>root</tt> รหัสผ่านคือ <tt>ioionrails</tt>
 +
 
 +
=== การติดตั้ง web interface บน apache ด้วย passenger ===
 +
ในการใช้งานจริง เราจะติดตั้งระบบ cafe grader ให้ทำงานผ่านเว็บเซิร์ฟเวอร์ apache เราจะติดตั้งโดยใช้ [https://www.phusionpassenger.com/ Phusion Passenger] ซึ่งเป็นโมดูลของ apache สำหรับให้บริการ Rails application
 +
 
 +
ก่อนจะเริ่มติดตั้ง เราเรียก rvm เพื่อใช้งาน Ruby รุ่น 1.9.2 ที่เราติดตั้งไป
 +
 
 +
rvm use 1.9.2
 +
 
 +
ในการทำงานจริง เราจะต้องคอมไฟล์แฟ้ม javascript และ css ให้เป็นแฟ้มเดียวกันก่อน โดยสั่งคำสั่งด้านล่างในไดเร็กทอรี cafe_grader/web
 +
 
 +
rake assets:precompile
 +
 
 +
จากนั้นติดตั้ง gem passenger
 +
 
 +
gem install passenger
 +
 
 +
เมื่อเสร็จแล้ว  เราจะคอมไพล์โมดูลของ passenger และติดตั้ง  เราจะเรียกคำสั่งด้านล่าง (ไม่ต้อง sudo)  (มีอธิบายต่อ)
 +
 
 +
passenger-install-apache2-module
 +
 
 +
เมื่อเรียกแล้ว อาจจะต้องมีการติดตั้ง gem / package เพิ่มเติม ก็ให้ดำเนินการตามนั้น จนกระทั่งมีคำว่า "The Apache 2 module was successfully installed." ขึ้นมา โปรแกรมจะระบุคำสั่งให้เรานำไปใช้เพื่อเรียกโมดูลของ passenger ใน apache โดยจะมีคำสั่งเช่น LoadModule, PassengerRoot และ PassengerRuby เป็นต้น
 +
 
 +
ให้นำคำสั่งดังกล่าวไปเพิ่มในแฟ้ม <tt>/etc/apache2/httpd.conf</tt>
 +
 
 +
จากนั้นสามารถเลือกติดตั้ง cafe grader ได้สองแบบ กล่าวคือ ติดตั้งให้เป็น url ย่อยของเครื่อง หรือ ติดตั้งโดยให้เป็น application หลักของเครื่อง หรือของ virtual host ใด ๆ  ขั้นตอนทั้งสองแบบระบุดังด้านล่าง
 +
 
 +
เมื่อทำเสร็จแล้ว เรียก
 +
 
 +
sudo /etc/init.d/apache2 restart
 +
 
 +
เพื่อโหลด apache ให้ทำงาน
 +
 
 +
==== ติดตั้งเป็น url ย่อย ====
 +
ให้ดำเนินการดังนี้
 +
 
 +
* เชื่อมโยงเว็บกับ Apache2
 +
 
 +
cd /var/www
 +
sudo ln -s ~/cafe_grader/web/public grader
 +
 
 +
* แก้ไข config ของ apache ให้ใช้ rails กับ /grader โดยเพิ่มบรรทัดด้านล่าง เข้าไปในส่วน VirtualHost ที่ต้องการ
 +
 
 +
  RailsBaseURI /grader
 +
 
 +
เช่น ถ้าต้องการติดตั้งในระบบกลางของเซิร์ฟเวอร์เลย ก็แก้ไขไฟล์ /etc/apache2/sites-available/000-default โดยเพิ่มบรรทัดด้านล่างลงไประหว่างส่วน <nowiki><VirtualHost *></nowiki> กับ <nowiki></VirtualHost></nowiki>
 +
 
 +
ถ้าติดตั้งแล้ว เราจะเรียกเว็บได้โดยสั่ง <tt>http://ชื่อเครื่องของคุณ/grader</tt>
 +
 
 +
==== ถ้าจะติดตั้งเป็น application หลัก ====
 +
สมมติว่าเราติดตั้ง cafe_grader ไว้ที่ผู้ใช้ cafe_grader ไดเร็กทอรีหลักของระบบเว็บจะอยู่ที่ /home/cafe_grader/cafe_grader/web
 +
 
 +
เราจะเข้าไปแก้ไขไฟล์ /etc/apache2/sites-available/000-default หรือไฟล์ virtual host อื่น ๆ โดยย้าย DocumentRoot ให้ชี้ไปที่ ไดเร็กทอรี public ในไดเร็กทอรีของระบบเว็บ และเปิดให้เข้าใช้ไดเร็กทอรีดังกล่าวได้ ดังตัวอย่างด้านล่าง (อย่าลืมแก้ส่วน /home/cafe_grader ให้ตรงตามชื่อไดเร็กทอรีที่ติดตั้ง)
 +
 
 +
<VirtualHost *:80>
 +
    ServerName www.yourhost.com
 +
    # !!! Be sure to point DocumentRoot to 'public'!
 +
    DocumentRoot /home/cafe_grader/cafe_grader/web/public   
 +
    <Directory /home/cafe_grader/cafe_grader/web/public>
 +
      # This relaxes Apache security settings.
 +
      AllowOverride all
 +
      # MultiViews must be turned off.
 +
      Options -MultiViews
 +
    </Directory>
 +
</VirtualHost>
  
 
=== การติดตั้ง nodejs บน debian ===
 
=== การติดตั้ง nodejs บน debian ===
: จะเพิ่มต่อไป
+
*ติดตั้ง environment ที่จำเป็นสำหรับ node.js<br/>
 +
 
 +
sudo apt-get install libssl-dev apache2-utils g++ curl
 +
 
 +
*ติดตั้ง git-core สำหรับดาวน์โหลด node.js ผ่าน git<br/>
 +
 
 +
sudo apt-get install git-core
 +
 
 +
*ดาวน์โหลด node.js ผ่าน git<br/>
 +
 
 +
git clone git://github.com/ry/node.git
  
=== การติดตั้ง web interface บน apache ด้วย passenger ===
+
*จากนั้นจะได้โฟล์เดอร์พร้อมทั้งไฟล์สำหรับติดตั้ง ให้ใช้คำสั่งดังนี้<br/>
  
 +
cd node
 +
./configure
 +
make
 +
sudo make install
  
 
== การติดตั้งแบบ manual ==
 
== การติดตั้งแบบ manual ==
  
 
ขณะนี้ไม่แนะนำการติดตั้งด้วยวิธีดังกล่าว  สำหรับวิธีการติดตั้งแบบ manual เดิม '''ซึ่งไม่สามารถใช้ได้แล้ว''' สามารถดูได้ที่[[การติดตั้ง Cafe grader/กรุ]]
 
ขณะนี้ไม่แนะนำการติดตั้งด้วยวิธีดังกล่าว  สำหรับวิธีการติดตั้งแบบ manual เดิม '''ซึ่งไม่สามารถใช้ได้แล้ว''' สามารถดูได้ที่[[การติดตั้ง Cafe grader/กรุ]]

รุ่นแก้ไขปัจจุบันเมื่อ 07:51, 25 มกราคม 2558

ข่าวการอัพเดท

  • ขณะนี้ทีมงานกำลังปรับปรุง cafe grader ให้ทำงานบน Rails 3 เพื่อทำให้ระบบสามารถติดตั้งได้สะดวกขึ้น
  • เนื่องจาก gitorious มีปัญหาบ่อย ทางทีมงานจึงได้ย้ายโค้ดของ cafe grader ไว้ที่ github แล้ว

การติดตั้ง Cafe Grader ด้วย scripts สำหรับ debian/ubuntu

จะเพิ่มรายละเอียดแบบละเอียดกว่านี้ต่อไป

สคริปต์ติดตั้งอัตโนมัติสำหรับระบบที่เป็น debian/ubuntu อยู่ที่ github

สามารถเรียกใช้ได้โดย cd ไปที่ home directory ของ user ที่ sudo ได้ จากนั้นสั่ง

wget https://raw.github.com/jittat/cafe-grader-judge-scripts/master/installer/install.sh

จะโหลดสคริปต์มาชื่อ install.sh

ก่อนจะเรียกใช้สคริปต์ จะต้องนำ key ของ rvm มาติดตั้งก่อน โดยสั่ง

gpg --keyserver hkp://keys.gnupg.net --recv-keys D39DC0E3

จากนั้นเรียกสคริปต์โดยสั่ง

source install.sh

สคริปต์จะดาวน์โหลดซอฟต์แวร์ละติดตั้งทุกอย่าง สคริปต์จะถามให้เราสร้าง database บน MySQL แล้วป้อน database name, username ของ MySQL และ password ของ user ดังกล่าว และจะเซ็ตทุกอย่างให้โดยอัตโนมัติ

ระบบจะติดตั้ง cafe grader และ Ruby 1.9.2 ภายใต้ระบบ rvm

เมื่อสคริปต์ทำงานเสร็จ สามารถทดลองใช้ได้โดยสั่ง

cd cafe_grader/web
rvm use 1.9.2
rails s

จะสามารถเข้าใช้ได้ที่พอร์ต 3000 ของเครื่อง บัญชีผู้ใช้เริ่มต้นคือ root รหัสผ่านคือ ioionrails

การติดตั้ง web interface บน apache ด้วย passenger

ในการใช้งานจริง เราจะติดตั้งระบบ cafe grader ให้ทำงานผ่านเว็บเซิร์ฟเวอร์ apache เราจะติดตั้งโดยใช้ Phusion Passenger ซึ่งเป็นโมดูลของ apache สำหรับให้บริการ Rails application

ก่อนจะเริ่มติดตั้ง เราเรียก rvm เพื่อใช้งาน Ruby รุ่น 1.9.2 ที่เราติดตั้งไป

rvm use 1.9.2

ในการทำงานจริง เราจะต้องคอมไฟล์แฟ้ม javascript และ css ให้เป็นแฟ้มเดียวกันก่อน โดยสั่งคำสั่งด้านล่างในไดเร็กทอรี cafe_grader/web

rake assets:precompile

จากนั้นติดตั้ง gem passenger

gem install passenger

เมื่อเสร็จแล้ว เราจะคอมไพล์โมดูลของ passenger และติดตั้ง เราจะเรียกคำสั่งด้านล่าง (ไม่ต้อง sudo) (มีอธิบายต่อ)

passenger-install-apache2-module

เมื่อเรียกแล้ว อาจจะต้องมีการติดตั้ง gem / package เพิ่มเติม ก็ให้ดำเนินการตามนั้น จนกระทั่งมีคำว่า "The Apache 2 module was successfully installed." ขึ้นมา โปรแกรมจะระบุคำสั่งให้เรานำไปใช้เพื่อเรียกโมดูลของ passenger ใน apache โดยจะมีคำสั่งเช่น LoadModule, PassengerRoot และ PassengerRuby เป็นต้น

ให้นำคำสั่งดังกล่าวไปเพิ่มในแฟ้ม /etc/apache2/httpd.conf

จากนั้นสามารถเลือกติดตั้ง cafe grader ได้สองแบบ กล่าวคือ ติดตั้งให้เป็น url ย่อยของเครื่อง หรือ ติดตั้งโดยให้เป็น application หลักของเครื่อง หรือของ virtual host ใด ๆ ขั้นตอนทั้งสองแบบระบุดังด้านล่าง

เมื่อทำเสร็จแล้ว เรียก

sudo /etc/init.d/apache2 restart

เพื่อโหลด apache ให้ทำงาน

ติดตั้งเป็น url ย่อย

ให้ดำเนินการดังนี้

  • เชื่อมโยงเว็บกับ Apache2
cd /var/www
sudo ln -s ~/cafe_grader/web/public grader
  • แก้ไข config ของ apache ให้ใช้ rails กับ /grader โดยเพิ่มบรรทัดด้านล่าง เข้าไปในส่วน VirtualHost ที่ต้องการ
 RailsBaseURI /grader

เช่น ถ้าต้องการติดตั้งในระบบกลางของเซิร์ฟเวอร์เลย ก็แก้ไขไฟล์ /etc/apache2/sites-available/000-default โดยเพิ่มบรรทัดด้านล่างลงไประหว่างส่วน <VirtualHost *> กับ </VirtualHost>

ถ้าติดตั้งแล้ว เราจะเรียกเว็บได้โดยสั่ง http://ชื่อเครื่องของคุณ/grader

ถ้าจะติดตั้งเป็น application หลัก

สมมติว่าเราติดตั้ง cafe_grader ไว้ที่ผู้ใช้ cafe_grader ไดเร็กทอรีหลักของระบบเว็บจะอยู่ที่ /home/cafe_grader/cafe_grader/web

เราจะเข้าไปแก้ไขไฟล์ /etc/apache2/sites-available/000-default หรือไฟล์ virtual host อื่น ๆ โดยย้าย DocumentRoot ให้ชี้ไปที่ ไดเร็กทอรี public ในไดเร็กทอรีของระบบเว็บ และเปิดให้เข้าใช้ไดเร็กทอรีดังกล่าวได้ ดังตัวอย่างด้านล่าง (อย่าลืมแก้ส่วน /home/cafe_grader ให้ตรงตามชื่อไดเร็กทอรีที่ติดตั้ง)

<VirtualHost *:80>
   ServerName www.yourhost.com
   # !!! Be sure to point DocumentRoot to 'public'!
   DocumentRoot /home/cafe_grader/cafe_grader/web/public    
   <Directory /home/cafe_grader/cafe_grader/web/public>
      # This relaxes Apache security settings.
      AllowOverride all
      # MultiViews must be turned off.
      Options -MultiViews
   </Directory>
</VirtualHost>

การติดตั้ง nodejs บน debian

  • ติดตั้ง environment ที่จำเป็นสำหรับ node.js
sudo apt-get install libssl-dev apache2-utils g++ curl 
  • ติดตั้ง git-core สำหรับดาวน์โหลด node.js ผ่าน git
sudo apt-get install git-core
  • ดาวน์โหลด node.js ผ่าน git
git clone git://github.com/ry/node.git
  • จากนั้นจะได้โฟล์เดอร์พร้อมทั้งไฟล์สำหรับติดตั้ง ให้ใช้คำสั่งดังนี้
cd node
./configure
make
sudo make install

การติดตั้งแบบ manual

ขณะนี้ไม่แนะนำการติดตั้งด้วยวิธีดังกล่าว สำหรับวิธีการติดตั้งแบบ manual เดิม ซึ่งไม่สามารถใช้ได้แล้ว สามารถดูได้ที่การติดตั้ง Cafe grader/กรุ