ผลต่างระหว่างรุ่นของ "การติดตั้ง Cafe grader"
แถว 50: | แถว 50: | ||
เมื่อเรียกแล้ว อาจจะต้องมีการติดตั้ง gem / package เพิ่มเติม ก็ให้ดำเนินการตามนั้น จนกระทั่งมีคำว่า "The Apache 2 module was successfully installed." ขึ้นมา โปรแกรมจะระบุคำสั่งให้เรานำไปใช้เพื่อเรียกโมดูลของ passenger ใน apache โดยจะมีคำสั่งเช่น LoadModule, PassengerRoot และ PassengerRuby เป็นต้น | เมื่อเรียกแล้ว อาจจะต้องมีการติดตั้ง gem / package เพิ่มเติม ก็ให้ดำเนินการตามนั้น จนกระทั่งมีคำว่า "The Apache 2 module was successfully installed." ขึ้นมา โปรแกรมจะระบุคำสั่งให้เรานำไปใช้เพื่อเรียกโมดูลของ passenger ใน apache โดยจะมีคำสั่งเช่น LoadModule, PassengerRoot และ PassengerRuby เป็นต้น | ||
− | ให้นำคำสั่งดังกล่าวไปเพิ่มในแฟ้ม <tt>/etc/apache2/httpd. | + | ให้นำคำสั่งดังกล่าวไปเพิ่มในแฟ้ม <tt>/etc/apache2/httpd.conf</tt> |
จากนั้นสามารถเลือกติดตั้ง cafe grader ได้สองแบบ กล่าวคือ ติดตั้งให้เป็น url ย่อยของเครื่อง หรือ ติดตั้งโดยให้เป็น application หลักของเครื่อง หรือของ virtual host ใด ๆ ขั้นตอนทั้งสองแบบระบุดังด้านล่าง | จากนั้นสามารถเลือกติดตั้ง cafe grader ได้สองแบบ กล่าวคือ ติดตั้งให้เป็น url ย่อยของเครื่อง หรือ ติดตั้งโดยให้เป็น application หลักของเครื่อง หรือของ virtual host ใด ๆ ขั้นตอนทั้งสองแบบระบุดังด้านล่าง |
รุ่นแก้ไขเมื่อ 09:56, 18 มกราคม 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
จากนั้นเรียกสคริปต์โดยสั่ง
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/กรุ