การติดตั้ง Cafe grader/กรุ

จาก Theory Wiki
ไปยังการนำทาง ไปยังการค้นหา

Cafe grader เป็นระบบรับและตรวจโปรแกรมสำหรับการแข่งขันเขียนโปรแกรมออนไลน์ พัฒนาขึ้นเพื่อการแข่งขัน APIO'08

  • Cafe grader --- หน้าโครงการ Cafe grader ที่ Google code hosting
  • เอกสารเก่า: An Online Programming Judge System (รายละเอียดเริ่มต้นของระบบ Cafe grader), Installing Grader Web Interface (การติดตั้งระบบรับโปรแกรมทางเว็บ (ล้าสมัย รอการปรับปรุง)), Installing and configuring Judge (การติดตั้งตัวตรวจคำตอบ (ล้าสมัย รอการปรับปรุง)).

การติดตั้ง

ขั้นตอนการติดตั้งจะแบ่งออกเป็นสองส่วน คือส่วนเว็บ และส่วนตัวตรวจ อย่างไรก็ตาม ทั้งสองส่วนยังมีการใช้ซอฟต์แวร์หลายอย่างร่วมกัน โดยจะเรียกรวม ๆ ว่าเป็นซอฟต์แวร์ที่จำเป็น เราจะเน้นการติดตั้งบน Ubuntu/Debian เป็นหลัก

เอกสารนี้เขียนสำหรับการติดตั้งบน Rails 2.3.4 (ถ้ามีรุ่นใหม่กว่านี้จะทยอยปรับปรุงต่อไป)

ในการเขียนบางจุดอาจมีรายละเอียดมากไป สำหรับผู้เชี่ยวชาญสามารถอ่านข้ามไปได้

การติดตั้งซอฟต์แวร์ที่จำเป็น

เราจะติดตั้ง Ruby, Rails (เป็นเว็บเฟรมเวิร์คที่ใช้ในการพัฒนา cafe grader), และ Subversion ซึ่งเป็นระบบจัดการเวอร์ชันของซอฟต์แวร์ (ใช้ในการโหลดระบบ cafe grader)

ติดตั้งระบบฐานข้อมูล MySQL, ระบบจัดการเวอร์ชัน Subversion

ติดตั้ง MySQL โดยสั่ง

 sudo apt-get install mysql-server mysql-client

ระหว่างติดตั้ง ระบบจะถาม password ของ root ของ mysql server ให้เลือกและจดไว้ (จะต้องใช้ต่อไปในการสร้าง user ของระบบฐานข้อมูล)

เราจะใช้ subversion ในการโหลดรุ่นล่าสุดของ Cafe grader มาติดตั้ง ดังนั้นสั่งติดตั้ง subversion ดังนี้

 sudo apt-get install subversion

ติดตั้ง Ruby, ระบบจัดการแพกเกจ Ruby Gem, และ Rails

Cafe grader พัฒนาด้วยภาษา Ruby ดังนั้นเราจะต้องติดตั้ง Ruby พร้อมทั้งระบบต่าง ๆ ก่อน

เริ่มติดตั้ง ruby และระบบจัดการ document rdoc โดยสั่ง

 sudo apt-get install ruby rdoc

จากนั้นให้ติดตั้ง Ruby gems ซึ่งเป็นระบบจัดการไลบรารีและซอฟต์แวร์ต่าง ๆ ของ Ruby แม้ว่าใน Ubuntu จะสามารถเรียกติดตั้งได้ด้วย apt-get แต่มักพบว่าการติดตั้งด้วยวิธีนี้มักพบปัญหา ดังนั้นเราจะติดตั้งโดยตรง ตามขั้นตอนต่อไปนี้

  • ดาวน์โหลด Ruby gems จาก RubyForge
  • จากนั้นให้ขยายไฟล์ใส่ในไดเร็กทอรีชั่วคราว แล้วสั่ง
 sudo ruby setup.rb

เราจะได้ ruby gem ที่เรียกให้ทำงานได้โดยคำสั่ง gem1.8 อย่างไรก็ตามเพื่อความสะดวก เราทำให้เรียกด้วยคำสั่ง gem ได้ด้วย โดยสั่ง

 sudo ln -s /usr/bin/gem1.8 /usr/bin/gem

(ไม่ต้องทำในขั้นตอนนี้ก็ได้ แต่ในลำดับต่อไปให้เรียก gem1.8 แทน gem)

จากนั้นเราจะติดตั้ง Rails โดยสั่ง

 sudo gem install rails --no-rdoc --no-ri

สุดท้าย เราจะต้องติดตั้งไลบรารีของ ruby ในการติดต่อกับ mysql โดยสั่ง

 sudo apt-get install libmysql-ruby

การติดตั้งส่วนติดต่อทางเว็บ

การติดตั้งส่วนตัวตรวจ