การลง 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. ในตัว 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 แล้วออกมาซะ

     

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

     

  4. ทำการ 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

     

  5. หลังจาก 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

     

  6. จากนั้นทำการ 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

     

  7. จากขั้นตอนดังข้างต้น เราก็สามารถลง 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