การลง Tomcat บน CentOS

การลง tomcat บน linux นั้นบางครั้งเป้นเรื่องที่น่าปวดหัวเพราะเราจะต้องมานั่ง install หรือ compile ให้มันวุ่นวายหรือหากเอา binary tarball มาลง configuration ก็ดูกระจัดกระจายน่าปวดหัว หาก distro ไหนที่ support ระบบ package management มันก็สะดวกหน่อยในการ Install หรือจัดการ เพราะพวกนี้จะถูกจัดเก็บค่อนข้างเป็นที่เป็นทาง

CentOS ก็คือหนึ่งในนั้นที่มีระบบ package management ที่สะดวกโดยใช้ yum หรือ up2date command ในการใช้งาน (base on RPM) ในครั้งนี้เราจะมาพูดถึงการ install tomcat5 บน CentOS ซึ่งเนื่องจาก เอกสารดั่งเดิมเป็นภาษาอังกฤษ ซึ่งบางคนคงจะไม่อยากอ่านหรือนั่งแปล ผมจึงยกบางส่วนและเสริมรายละเอียดบางส่วนเข้าไป เพื่อให้เข้าใจมากขึ้น และอาจจะง่ายมากขึ้น หรือเปล่า??

โดยในขั้นแรก system ของเราต้องสามารถ compile rpm ได้และต้องมี repository บางส่วนที่ต้องเพิ่มเติม ในที่นี้ผมขอแนะนำ plugin บางตัวให้คือ yum-plugin-fastestmirror ซึ่งจะช่วยหาว่า mirror ที่ใดใกล้ที่สุดและ download มาจากที่นั้น

ให้ทำการติดตั้ง plugin ตัวนี้กันก่อน โดยสั่ง

[root@znix ~]# yum install yum-plugin-fastestmirror
Setting up Install Process
Setting up repositories
csgfs 100% |=========================| 951 B 00:00
dag 100% |=========================| 1.1 kB 00:00
jpackage-generic-nonfree 100% |=========================| 951 B 00:00
jpackage-rhel 100% |=========================| 951 B 00:00
update 100% |=========================| 951 B 00:00
jpackage-generic 100% |=========================| 951 B 00:00
base 100% |=========================| 1.1 kB 00:00
addons 100% |=========================| 951 B 00:00
extras 100% |=========================| 1.1 kB 00:00
Reading repository metadata in from local files
primary.xml.gz 100% |=========================| 351 kB 00:07
jpackage-g: ################################################## 1529/1529
Added 0 new packages, deleted 0 old in 1.12 seconds
Parsing package install arguments
Resolving Dependencies
--> Populating transaction set with selected packages. Please wait.
---> Package yum-plugin-fastestmirror.noarch 0:0.2.4-3.c4 set to be updated
--> Running transaction check

Dependencies Resolved

=============================================================================
Package Arch Version Repository Size
=============================================================================
Installing:
yum-plugin-fastestmirror noarch 0.2.4-3.c4 extras 13 k

Transaction Summary
=============================================================================
Install 1 Package(s)
Update 0 Package(s)
Remove 0 Package(s)
Total download size: 13 k
Is this ok [y/N]: y
Downloading Packages:
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Installing: yum-plugin-fastestmirror ######################### [1/1]

Installed: yum-plugin-fastestmirror.noarch 0:0.2.4-3.c4
Complete!

ไม่ต้องกังวลหากหน้าตาไม่เหมือน เพราะตัวอย่างผมเพิ่ม repository เข้าไป เพื่อใช้งานของผม เราไป install rpmbuild มาใช้กันดีกว่า

[root@znix ~]# yum -y install rpm-build
--- CUT ---
Installed: rpm-build.noarch 0:4.3.3-13_nonptl
Complete!

เนื่องจาก โดยปกติแล้วตัว CentOS ไม่มี repository ที่มี java package ให้ลง ผมแนะนำว่าควรไปใช้ของทาง JPackage มาใช้งาน โดยเราเพิ่ม repository ได้โดยทำดังนี้

  1. ให้สั่ง ดังนี้ [root@znix ~]# cd /etc/yum.repos.d/
    [root@znix yum.repos.d]# vi jpackage.repo
  2.  

  3. ในตัว file ให้เพิ่ม data เข้าไปดังนี้ [jpackage-generic]
    name=JPackage (free), generic
    mirrorlist=http://www.jpackage.org/jpackage_generic.txt
    failovermethod=priority
    gpgcheck=1
    gpgkey=http://www.jpackage.org/jpackage.asc
    enabled=1

    [jpackage-rhel]
    name=JPackage (free) for Red Hat Enterprise Linux $releasever
    mirrorlist=http://www.jpackage.org/jpackage_rhel-$releasever.txt
    failovermethod=priority
    gpgcheck=1
    gpgkey=http://www.jpackage.org/jpackage.asc
    enabled=1

    [jpackage-generic-nonfree]
    name=JPackage (non-free), generic
    mirrorlist=http://www.jpackage.org/jpackage_generic_nonfree.txt
    failovermethod=priority
    gpgcheck=1
    gpgkey=http://www.jpackage.org/jpackage.asc
    enabled=1
    จากนั้นก็ save แล้วออกมาซะ

  4.  

  5. ทำการ Import gpg key ของ jpackage เพื่อ check package ที่ได้มาถูกต้องหรือไม่ โดยสั่งดังนี้ [root@znix yum.repos.d]# rpm --import http://www.jpackage.org/jpackage.asc
  6.  

  7. ทำการ download files บางอย่างที่จำเป็นต้องใช้คือ jdk-1_5_0_06-linux-i586.bin ,jta-1_0_1B-classes.zip และ jta-1_0_1B-doc.zip จาก sun ในที่นี้ผมจะอ้าง version ตามที่ผมใช้อยู่ขณะนี้ โดยทำการ download file ดังกล่าวไปไว้ที่ /usr/src/redhat/SOURCES
  8.  

  9. หลังจาก download เรียบร้อยแล้วให้ทำการ download file ดังต่อไปนี้
    • jta src package จาก http://www.jpackage.org/rpm.php?id=1482
    • java-1.5.0-sun src package จาก http://www.jpackage.org/rpm.php?id=3366
  10.  

  11. จากนั้นทำการ build ให้มันเป็น binary ซะ โดยสั่งดังนี้ [root@znix ~]# rpmbuild --rebuild java-1.5.0-sun-1.5.0.06-1jpp.nosrc.rpm
    [root@znix ~]# rpmbuild -ivh /usr/src/redhat/RPMS/i586/java-1.5.0-sun-1.5.0.06-1jpp.i586.rpm
    [root@znix ~]# rpmbuild -ivh /usr/src/redhat/RPMS/i586/java-1.5.0-sun-devel-1.5.0.06-1jpp.i586.rpm
    [root@znix ~]# rpmbuild --rebuild jta-1.0.1-0.b.4jpp.nosrc.rpm
    [root@znix ~]# rpmbuild -ivh /usr/src/redhat/RPMS/noarch/jta-1.0.1-0.b.4jpp.noarch.rpm
  12.  

  13. จากขั้นตอนดังข้างต้น เราก็สามารถลง tomcat binary package ได้แล้ว โดยสั่งง่ายๆ เลย [root@znix ~]# yum install tomcat5
    โดย yum จะทำการ download package ที่จำเป็นต่อการใช้งานมาลงให้เรียบร้อย

โดย package ที่ต้องการเพิ่มเติมนั้นจะถูกเก็บไว้ที่ /usr/share/java ในรูปของ .jar file โดยที่ในอนาคตหากเรามีการ develop java applciation เราสามารถอ้างอิงได้ที่ path นี้ได้เลยง่ายต่อการใช้งาน หรือหากมีการ update/upgrade version ของ java lib นั้นก็สามารถทำได้สะดวก เพียงสั่ง yum update

แต่ก่อนสั่ง yum update ทุกครั้งควร yum check-update ก่อนทุกครั้ง เพื่อจะได้ตรวจสอบก่อนว่ามี package ใด ที่ Update/upgrade แล้วกระทบต่อระบบโดยรวมหรือไม่

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

Refer
Original Document from http://www.tummy.com/Community/Articles/tomcat-centos/

Gentoo ครับ

emerge tomcat
rc-update add tomcat-6 default
/etc/init.d/tomcat-6 start

firefox http://localhost:8080

:)

Post new comment

The content of this field is kept private and will not be shown publicly.