X
Change of support channel during COVID-19

Jekyll  เป็นเครื่องมือที่ใช้พัฒนาเว็บไซต์แบบ static ที่มีการใช้งานง่าย ซึ่งลักษณะจะคล้ายกับ cms แต่ก็ไม่ทั้งหมด เนื่องจาก Jekyll ถูกสร้างขึ้นมาให้เพื่อผู้ที่สามารถเขียนโค้ดด้วยตนเองได้เป็นผู้ใช้งาน นั่นหมายความว่าเราจะต้องรู้พื้นฐานของ front-end อยู่บ้าง เช่น html, css เป็นต้น และสิ่งที่ Jekyll ไม่เหมือนกับ cms อีกนั่นก็คือ ไม่จำเป็นต้องมีฐานข้อมูลหรือเครื่องมือแปลงภาษาใดๆ  โดยข้อดีของเจ้าตัวนี้มีดังนี้

ข้อดี

– ไม่ต้องอัพเดตเวอร์ชั่นหรือ security บ่อยๆ

– ใช้ resource ค่อนข้างน้อย

– สามารถติดตั้งและใช้งานได้ง่ายเพียงไม่กี่นาที

ข้อกำหนดในเบื้องต้น

Jekyll มีข้อกำหนดหลายประการที่เราต้องติดตั้งบนเซิร์ฟเวอร์เพื่อให้สามารถรันได้ ดังนี้

– ผู้ใช้งาน ssh จะต้องมีสิทธิเป็น root เท่านั้น

– Ruby version จะต้องมีเวอร์ชั่น 2.2.5 หรือใหม่กว่า

ขั้นตอนที่ 1 : Login ssh และทำการอัพเดตระบบ โดยให้ทำการ Login ssh ด้วย user : root

#ssh IP_address

จากนั้นให้ทำการอัพเดต และตรวจสอบระบบทั้งหมดว่าเป็นปัจจุบันแล้วหรือไม่ ด้วยคำสั่งนี้ :

#yum -y update

ขั้นตอนที่ 2 : ติดตั้ง Ruby ด้วยคำสั่งดังนี้

#yum install ruby

เมื่อดำเนินการติดตั้งเรียบร้อยแล้วให้ทำการตรวจสอบเวอร์ชั่นของ Ruby ด้วยคำสั่งต่อไปนี้ :

#ruby -v

นอกจากนี้ยังจะติดตั้ง rubygems ซึ่งบังคับใช้โดย Jekyll

#gem -v

เราจะเห็นว่านี่ไม่ใช่เวอร์ชั่นล่าสุดของ Ruby หากเราต้องการเวอร์ชั่นที่เป็นล่าสุดของ Ruby เราสามารถติดตั้งได้โดยใช้โปรแกรมจัดการเวอร์ชั่น Ruby (RVM) ที่จะช่วยให้เราติดตั้ง Ruby ได้หลายเวอร์ชั่นบน server ซึ่งจะมีประโยชน์มากหาก server ของเราถูกสร้างขึ้นมาและต้องการเวอร์ชั่นของ Ruby ที่เฉพาะเจาะจง เมื่อต้องการติดตั้ง RVM ก่อนอื่นเลยให้นำคีย์เข้าโดยใช้คำสั่งต่อไปนี้ :

# gpg --keyserver hkp://keys.gnupg.net --recv-keys 
409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D69
56105BD0E739499BDB

ซึ่งจะพบข้อมูลตามด้านล่าง

และเรียกใช้คำสั่งต่อไปนี้เพื่อติดตั้ง

#\curl -sSL https://get.rvm.io | bash -s stable

ในการเริ่มใช้ RVM เราจำเป็นต้องเรียกใช้ข้อมูลต่อไปนี้ :

#source /etc/profile.d/rvm.sh

จากนั้นให้ทำการติดตั้ง Ruby ใหม่อีกครั้ง

#rvm install ruby

และให้รอซักครู่ เมื่อเรียบร้อยเราสามารถตรวจสอบเวอร์ชั่นใหม่ของ Ruby ได้ด้ยคำสั่งต่อไปนี้ :

# ruby -v

ขั้นตอนที่ 3 : ติดตั้ง Jekyll บน CentOS7

หลังจากที่เราตรวจสอบแน่ใจแล้วว่ามีการติดตั้งข้อกำหนดทั้งหมด เราสามารถดำเนินการติดตั้ง Jekyll ได้โดย ใช้ตัวจัดการแพคเกจ RubyGems ที่เรากล่าวถึงก่อนหน้านี้ โดยเรียกใช้คำสั่งต่อไปนี้ :

#gem install Jekyll

เราสามารถตรวจสอบการติดตั้งและตรวจสอบเวอร์ชั่นของ Jekyll ด้วยคำสั้งนี้ :

#jekyll -v

ขณะนี้จะพบว่ามีการติดตั้ง Jekyll เวอร์ชัน 3.8.5 เรียบร้อยแล้วและพร้อมใช้งานบน CentOS 7 โดยเราจำเป็นจะต้องติดตั้ง Bundler บน server ด้วยคำสั่งต่อไปนี้ :

#gem install bundler

ในขั้นตอนถัดไป เราจะสร้าง blog แบบ static เพื่อทดสอบการติดตั้งโดยเรียกใช้คำสั่งต่อไปนี้ :

#cd /opt/
#jekyll new blog

เมื่อเสร็จเรียบร้อยเราจะพบประโยค “New jekyll site installed in /opt/blog” ที่ด้านล่างสุดดังนี้

สร้างไดเรกทอรี ‘blog’ ใหม่  เพื่อแสดงรายการตัวเลือกทั้งหมดที่เราสามารถใช้เมื่อมีการสร้างบล็อก เราสามารถใช้คำสั่งดังต่อไปนี้

[root@ opt]# jekyll new --h
jekyll new -- Creates a new Jekyll site scaffold in PATH

Usage:

  jekyll new PATH

Options:
            --force        Force creation even if PATH already exists
            --blank        Creates scaffolding but with empty files
            --skip-bundle  Skip 'bundle install'
        -h, --help         Show this message
        -v, --version      Print the name and version
        -t, --trace        Show the full backtrace when an error occurs
        -s, --source [DIR]  Source directory (defaults to ./)
        -d, --destination [DIR]  Destination directory (defaults to ./_site)
            --safe         Safe mode (defaults to false)
        -p, --plugins PLUGINS_DIR1[,PLUGINS_DIR2[,...]]  Plugins directory (defaults to ./_plugins)
            --layouts DIR  Layouts directory (defaults to ./_layouts)
            --profile      Generate a Liquid rendering profile
        -h, --help         Show this message
        -v, --version      Print the name and version
        -t, --trace        Show the full backtrace when an error occurs

จากนั้นให้เข้าไปที่ directory blog/  และเรียกใช้คำสั่งต่อไปนี้เพื่อสร้างเว็บไซต์บน server ตัวอย่าง

#cd blog/
#bundle exec jekyll serve

จากนั้น blog Jekyll ใหม่จะถูกสร้างขึ้นและสามารถเข้าถึงได้ที่ http://127.0.0.1:4000 ซึ่งจะสามารถเข้าถึงได้จาก localhost เท่านั้น ถ้าคุณต้องการให้สามารถเข้าได้แบบ public ให้เรียกใช้คำสั่งต่อไปนี้ :

#jekyll serve --host IP_Address &

โดยแทนที่ IP_Address ด้วยที่อยู่ IP ของเซิร์ฟเวอร์ของเราและเราจะสามารถเข้าถึง blog Jekyll ตัวแรกของ gik ด้วยเว็บเบราเซอร์ได้ที่ http://IP_Address:4000 เราจะพบหน้าแรกของ Jekyll ได้ดังรูปภาพด้านล่าง