ปรับแต่งค่าให้ Apache รู้จักไฟล์ jsp

โดยปรกติเมื่อเราลง Tomcat เรียบร้อยแล้วก็ยังไม่สามารถเรียกใช้ไฟล์ jsp จาก Apache ผ่านทางพอร์ต 80 ได้โดยตรง เรายังต้องเรียกใช้ผ่านพอร์ต 8180 อยู่ หากเราต้องการให้ Apache รู้จักไฟล์ jsp และทำให้ jsp สามารถทำงานได้โดยใช้ Tomcat เป็นตัวจัดการกับไฟล์เหล่านี้อีกทีนึง เราสามารถทำได้โดยการเพิ่ม mod_jk ให้กับ Apache มีวิธีดังต่อไปนี้

เพิ่มมอดูลให้กับ Apache โดยถ้าเป็น Apache 2 ก็สั่ง:

# aptitude install libapache2-mod-jk

ถ้าหากต้องการใช้กับ Apache 1 ก็เป็นแพกเกจชื่อ libapache-mod-jk

เมื่อลงเสร็จเรียบร้อยแล้ว หากเราเข้าไปที่ /etc/apache2/mods-available จะปรากฏ jk.load ขึ้น คราวนี้เราต้องสร้างไฟล์คอนฟิก mod_jk สำหรับ Apache ขึ้นมา โดยให้ชื่อว่า jk.conf

# vi /etc/apache2/mods-available/jk.conf

ข้างในไฟล์ให้ใส่ข้อความดังต่อไปนี้

JkWorkersFile   "/etc/libapache2-mod-jk/workers.properties"
JkLogFile       "/var/log/apache2/mod_jk.log"
JkShmFile       "/var/log/apache2/jk-runtime-status"
JkLogLevel      debug
JkOptions       +ForwardKeySize +ForwardURICompat -ForwardDirectories
# หากใช้ virtual host เข้าร่วมให้ comment บรรทัดข้างล่างนี้ออกครับ
# วิธีนี้ใช้ได้เฉพาะไฟล์ jsp เท่านั้น ไม่สามารถใช้กับ servlet ได้ ซึ่งต้อง mount อีกแบบนึง
JkMount         /*.jsp          ajp13_worker

คราวนี้เราก็พร้อมที่จะโหลด mod_jk ให้กับ Apache แล้วครับ

# a2enmod jk

ยังไม่จบแต่เพียงเท่านี้เราต้องแก้ไขค่า workers.properties ก่อนเพื่อให้ Apache สามารถทำงานได้อย่างถูกต้อง

# vi /etc/libapache2-mod-jk/workers.properties

โดยตัวหลัก ๆ ที่ต้องแก้ไขมีดังต่อไปนี้

workers.tomcat_home=/usr/share/tomcat5.5
workers.java_home=$JAVA_HOME
ps=/
worker.list=ajp13_worker
worker.ajp13_worker.port=8009
worker.ajp13_worker.host=localhost
worker.ajp13_worker.type=ajp13
worker.ajp13_worker.lbfactor=1
worker.loadbalancer.type=lb
worker.loadbalancer.balanced_workers=ajp13_worker

เมื่อบันทึกไฟล์เรียบร้อยแล้วคราวนี้เราก็ restart apache เป็นอันเสร็จพิธี หากลองเรียก http://localhost/index.jsp จะแสดง page เหมือนกับ http://localhost:8180 แต่ root ของไฟล์ jsp จะขึ้นอยู่กับ ROOT.xml หากต้องการใช้งานให้เต็มที่สามารถใช้เวอร์ชวลโฮสต์เข้าช่วยอีกแรง

หมายเหตุ: การปรับแต่งค่า Apache ให้สามารถทำงานร่วมกับ Apache ได้นั้นมีหลายวิธี แต่วิธีนี้เป็นวิธีที่ใช้ aptitude เข้ามาช่วยในการติดตั้งค่าตัวแปรต่างๆ จึงเป็นดังที่ระบุไว้ หากติดตั้ง Tomcat แบบคอมไฟล์เอง อาจมีการเปลี่ยนแปลงค่าตัวแปรบางตัวเพื่อความเหมาะสม

อ้างอิง:
http://www.crazysquirrel.com/computing/debian/servers/tomcat55.jspx
http://www.lugmen.org.ar/pipermail/lug-list/2006-September/042383.html

Topic: 
Creative Commons License ลิขสิทธิ์ของบทความเป็นของเจ้าของบทความแต่ละชิ้น
ผลงานนี้ ใช้สัญญาอนุญาตของครีเอทีฟคอมมอนส์แบบ แสดงที่มา-อนุญาตแบบเดียวกัน 3.0 ที่ยังไม่ได้ปรับแก้