2005/Jul/20

บันทึกการติดตั้ง Apache2 + Tomcat5.5 + mod_jk


หลังจากที่เมื่อก่อน เคยติดตั้ง apache2 + tomcat5.5 + mod_jk เรียบร้อยแล้ว แต่พอมาวันนี้ กลับลืมวิธีการติดตั้งแฮะ ก็เลยต้องมาเขียนบันทึกความทรงจำไว้ซะหน่อย ไม่อยากค้นหาข้อมูลใหม่ทุกครั้งที่จะต้องติดตั้ง

หมายเหตุ บรรทัดที่ขึ้นต้นด้วย # หมายถึง คำสั่งที่เราต้องป้อนเข้าไปบนหน้าจอเทอร์มินอลนะครับ

ระบบและซอฟต์แวร์ที่ใช้

  • Fedora Core 4 (Kernel 2.6.12)
  • Apache Httpd 2.0.54
  • Java 2 Standard Edition 1.5 (http://java.sun.com/j2se/1.5.0/download.jsp)
  • Apache Tomcat 5.5.9 (http://jakarta.apache.org/tomcat)
  • mod_jk-1.2.14 (http://jakarta.apache.org/tomcat/connectors-doc)

ขั้นตอนการติดตั้ง

1. ติดตั้ง Java 2 Standard Editon 1.5
เมื่อดาว์นโหลดมาแล้ว ก็ทำการ chmod เพื่อให้สามารถรันได้ครับ

#chmod +x jdk-1_5_0_04-linux-i586.rpm.bin

จากนั้นก็รันโปรแกรมเลยครับ ซึ่งมันจะทำการแตกไฟล์ออกมาเป็น jdk-1_5_0_04-linux-i586.rpm และติดตั้งให้โดยอัตโนมัติ

 #./jdk-1_5_0_04-linux-i586.rpm.bin

เมื่อติดตั้งเสร็จแล้วพาธของ Java จะไปอยู่ที่ /usr/java/jdk1.5.0_04
ให้เราทำการแก้ไขไฟล์ /etc/profile แล้วใส่ข้อความข้างล่าง ไว้ที่บรรทัดล่างสุดของไฟล์เลยนะครับ

export JAVA_HOME=/usr/java/jdk1.5.0_04
export PATH=$PATH:$JAVA_HOME/bin

บันทึกไฟล์ /etc/profile จากนั้นลองใช้คำสั่งข้างล่าง เพื่อตรวจสอบความถูกต้อง

#source /etc/profile
ลองตรวจสอบตัวแปรดูครับ โดยใช้คำสั่ง echo
#echo $JAVA_HOME
/usr/java/jdk1.5.0_04

#java -version
java version "1.5.0_04"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_04-b05)
Java HotSpot(TM) Server VM (build 1.5.0_04-b05, mixed mode)

2. ติดตั้ง Tomcat 5.5.9

#tar xvfz jakarta-tomcat-5.5.9.tar.gz
#mv jakarta-tomcat-5.5.9 /usr/local
#cd /usr/local
#ln -s jakarta-tomcat-5.5.9 tomcat55

3. ติดตั้ง JK Connector (mod_jk)
#tar xvfz jakarta-tomcat-connectors-1.2.14-src.tar.gz
#cd jakarta-tomcat-connectors-1.2.14-src
#cd jk/native
#./configure --with-apxs=/usr/sbin/apxs --enable-jni --enable-EAPI

สำหรับการคอนฟิก จะมีปัญหาเกิดขึ้นมาครับ ด้งนี้

need to check for Perl first, apxs depends on it...
checking for perl... /usr/bin/perl
configure: error: Invalid location for apxs: '/usr/sbin/apxs'

ซึ่งระบบจะแจ้งว่า เราไม่มี /usr/sbin/apxs เราจะต้องติดตั้งแพคเกจ httpd-devel ก่อนนะครับ สำหรับผม จะใช้วิธีติดตั้งจาก apt-get ก็แล้วกันครับ การติดตั้งแบบ apt-get install นี้ จะง่ายในขั้นตอนของการค้นหา Dependency (การขึ้นต่อกัน) ของซอฟต์แวร์

#apt-get install httpd-devel
apt-get install httpd-devel
Reading Package Lists... Done
Building Dependency Tree... Done
The following extra packages will be installed:
apr-devel (0.9.6-3.1)
apr-util-devel (0.9.6-2)
The following NEW packages will be installed:
apr-devel (0.9.6-3.1)
apr-util-devel (0.9.6-2)
httpd-devel (2.0.54-10.1)
0 upgraded, 3 newly installed, 0 removed and 0 not upgraded.
Need to get 927kB of archives.
After unpacking 6409kB of additional disk space will be used.
Do you want to continue? [Y/n]

จากนั้นก็ลองทำการคอนฟิก ./configure และใช้ออฟชันเหมือนข้างบน อีกรอบ ก็ผ่านครับ ต่อมาก็ทำการ make ได้เลย ดังนี้
#make

จากนั้นก็ทำการทำสำเนาไฟล์ mod_jk.so ไปไว้ในโมดูลไดเรคเทอรีของ apache ครับ
#cp apache-2.0/mod_jk.so /etc/httpd/modules/

4. สร้างไฟล์ workers.properties
#vi /etc/httpd/conf/workers.properties

workers.tomcat_home=/usr/local/tomcat55
workers.java_home=$JAVA_HOME
ps=/
worker.list=default

worker.default.port=8009
worker.default.host=localhost
worker.default.type=ajp13
worker.default.lbfactor=1

5. สร้างไฟล์ mod_jk.conf
#vi /etc/httpd/conf.d/mod_jk.conf

<IfModule !mod_jk.c>
LoadModule jk_module modules/mod_jk.so
</IfModule>
#
# Mod_jk settings
#

JkWorkersFile "conf/workers.properties"
JkLogFile "logs/mod_jk.log"

JkLogLevel error

JkMount /jsp-examples default
JkMount /jsp-examples/* default

# End of mod_jk settings

6. ทดสอบ
#cd /usr/local/tomcat55/bin
#./catalina.sh start
#/etc/init.d/httpd restart

ทดลองเปิดเว็บบราวเซอร์ แล้วเรียกไปที่ http://localhost:8080/jsp-examples
จากนั้นทดลองเรียกไปที่ http://localhost/jsp-examples ผลลัพธ์ที่ได้ต้องออกมาเหมือนกันทั้งสองหน้านะครับ

เพิ่มเติมครับ ในกรณีที่เราต้องการให้ผู้ใช้คนอื่นๆ สามารถใช้งาน jsp/servlet ในโฮมไดเรคเทอรีของตัวเองได้ เราต้องทำดังนี้ครับ

แก้ไขไฟล์ server.xml แล้วหาตรงแทก <Host> ครับ ซึ่งจะมีลักษณะแบบนี้
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<!-- จะมีคอมเมนต์อีกเยอะแยะเลยล่ะ -->
</Host>

ให้เราทำการเพิ่มบรรทัดสีน้ำเงินเข้าไปดังนี้

<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Listener className="org.apache.catalina.startup.UserConfig" directoryName="public_html"
userClass="org.apache.catalina.startup.PasswdUserDatabase"/>

<!-- จะมีคอมเมนต์อีกเยอะแยะเลยล่ะ -->
</Host>


แหล่งข้อมูล
http://duangbung.blogspot.com/2005/07/apache2-tomcat-5-modjk2-index-only.html
ชื่อ: 
เว็บไซต์: 
คอมเมนต์:




smilebig smileopen-mounthed smileconfused smilesad smileangry smiletonguequestionembarrassedsurprised smilewinkdouble winkcry
Very nice site!
#251  by  uwouweie (189.113.129.13) At 2009-09-29 14:18, 
Very nice site!
#252  by  yiewtpew (196.210.148.103) At 2009-09-30 01:18, 
Very nice site!
#253  by  rityyuti (123.140.147.109) At 2009-09-30 12:14, 
Very nice site!
#254  by  euriuyie (221.241.143.68) At 2009-10-01 08:26, 
Very nice site!
#255  by  uipypuyi (95.170.208.10) At 2009-10-02 01:11, 
Very nice site!
#256  by  iutwtwer (200.188.178.38) At 2009-10-03 16:27, 
Very nice site!
#257  by  eowwyoui (202.170.80.59) At 2009-10-03 21:05, 
Very nice site!
#258  by  rppuoyot (82.138.14.37) At 2009-10-05 11:11, 
Very nice site!
#259  by  ropyrueu (200.87.171.114) At 2009-10-05 17:59, 
Very nice site!
#260  by  reeupeur (116.68.154.86) At 2009-10-06 05:29, 
Very nice site!
#261  by  iworepuw (210.52.223.12) At 2009-10-07 03:47, 

<< Home