Thursday, March 28, 2013

ติดตั้ง JRE 6 บน CentOS

พอดีว่าตอนแรกผมต้องการติดตั้ง JRE บน CentOS แต่ Search ดูใน Google แล้วมันไม่ค่อยละเอียดเท่าไหร่ ทำตามยังงงๆเลย ก็เลยจัดการเขียนขึ้นมาใหม่ให้มันละเอียดๆ (คิดว่าละเอียดนะ) เผื่อว่าจะช่วยประหยัดเวลาของท่านสมาชิกได้บ้างนิดๆหน่อยๆ

บทความนี้ เป็นวิธีการติดตั้ง Java SE Runtime Environment (JRE) เวอร์ชั่น 6 ครับ ซึ่งผมขออธิบายเกี่ยวกับ Java Packages ที่เรียกว่า SE สักเล็กน้อยดังนี้ครับ (เพราะตอนแรกผมก็เคยงุนงงกับมันมาก่อน)

Java SE (คำว่า SE ย่อมาจาก Standard Edition ครับ) มีอยู่ด้วยกัน 2 แบบ คือ (อ้างอิง Java ของ Sun ครับ)

- JRE (ย่อมาจาก Java Platform SE Runtime Environment) ใช้ในการรัน Application ที่เขียนด้วยภาษา Java ครับ
- JDK (ย่อมาจาก Java Platform Developement Kit) ใช้ในการเขียน พัฒนา Application ด้วยภาษา Java จะเขียนใหม่หรือโมดิฟาย ก็ต้องมีตัวนี้ ถ้าติดตั้ง JDK ก็จะมี JRE ติดตั้งมาด้วยนะครับ

บางท่านหรือบาง เว็บไซต์จะเรียก JRE ว่าเป็น Java Virtual Machine ครับ และอาจจะเรียกเวอร์ชั่น 6 ว่า 1.6 ด้วยอีกต่างหาก ก็ขอให้รู้ว่าเป็นตัวเดียวกัน

เอาหล่ะครับมาติดตั้งกันเลยดีกว่า

1. เข้าเว็บ แล้วดาวน์โหลด
http://www.oracle.com/technetwork/java/ ... index.html

เลือก Java SE JRE ตัวใดตัวหนึ่ง หรือจะเลือกทั้งสองตัวก็ได้ ทีละตัว และเลือก Platform = Linux หรือ Linux x64 เลือกไฟล์ที่มีคำว่า rpm อยู่ด้วย (จริงๆขั้นตอนนี้จะคลิ๊กราวๆ 2 เพจครับ แต่ผมเขียนรวมไว้เป็นบรรทัดเดียว)

2. ดาวน์โหลดลงบนเครื่องคอมพิวเตอร์

3. อัพโหลดไฟล์เข้า server
* ท่านใดมีวิธีการที่สะดวกและรวดเร็วกว่าข้อ 2 และ 3 รบกวนแนะนำด้วยนะครับ พอดีผมก๊อบลิ้งค์มาแล้วใช้ wget มันบอกว่า file not found อ่ะครับ ก็เลยต้องดาวน์โหลดเข้าคอมก่อนแล้วค่อยอัพเข้า Server อีกต่อนึง

4. ติดตั้ง
ไฟล์ที่ผมดาวน์โหลดมาเป็น JRE SE 6 Update 23 เครื่องทีจะติดตั้งลง Linux แบบ 32 บิต ไว้

ทำให้ Execute ได้
โค้ด: เลือกทั้งหมด
chmod +x jre-6u23-linux-i586-rpm.bin


ติดตั้ง
โค้ด: เลือกทั้งหมด
./jre-6u23-linux-i586-rpm.bin

ข้อความขณะติดตั้ง

Unpacking...
Checksumming...
Extracting...
UnZipSFX 5.50 of 17 February 2002, by Info-ZIP (Zip-Bugs@lists.wku.edu).
replace jre-6u23-linux-i586.rpm? [y]es, [n]o, [A]ll, [N]one, [r]ename: y
inflating: jre-6u23-linux-i586.rpm
Preparing... ########################################### [100%]
1:jre ########################################### [100%]
Unpacking JAR files...
rt.jar...
jsse.jar...
charsets.jar...
localedata.jar...
plugin.jar...
javaws.jar...
deploy.jar...

Done.

ตรวจสอบ
โค้ด: เลือกทั้งหมด
java -version

java version "1.6.0_23"
Java(TM) SE Runtime Environment (build 1.6.0_23-b05)
Java HotSpot(TM) Client VM (build 19.0-b09, mixed mode, sharing)

5. เซ็ต JAVA_HOME
JAVA_HOME เป็น Environment Variable ครับ มันจะบอกว่าจะหาคำสั่ง java ได้ที่ไดเร็คตอรี่ไหน
การ เซ็ต JAVA_HOME นี้สำคัญมากเลยนะครับ เพราะส่วนใหญ่ Java Application มันถูกคอนฟิกว่าให้มองหา JAVA_HOME ถ้ามันหาไม่เจอก็จะฟ้อง Error และจะทำให้รัน Application ไม่ได้ครับ

โค้ด: เลือกทั้งหมด
export JAVA_HOME=/usr/java
export PATH=$JAVA_HOME/bin:$PATH


ให้เอาคำสั่งนี้ไปไว้ในไฟล์ /etc/rc.d/rc.local ถ้าไม่รู้จะวางไว้บรรทัดไหนดี เอาไว้บรรทัดล่างสุดก็ได้ครับ

เวลาเราพิมพ์คำสั่ง env จาก Linux Prompt ก็จะต้องเห็นบรรทัดนี้ครับ
PATH=/usr/java/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
JAVA_HOME=/usr/java

6. ไดเร็คตอรี่ติดตั้ง
/usr/java/jre1.6.0_23
ครับ

ถ้าอยากถอนโปรแกรมออกให้ทำแบบนี้ครับ
1. เช็คว่า package JRE มีชื่อว่าอะไรอะไร
โค้ด: เลือกทั้งหมด
rpm -qa | grep jre

ผลลัพธ์
jre-1.6.0_23-fcs
jdk-1.6.0_23-fcs

2. ถอนโปรแกรม jre ออกด้วย rpm -e
โค้ด: เลือกทั้งหมด
rpm -e jre-1.6.0_23-fcs


เรียบร้อยครับ

บทความที่เกี่ยวข้อง

ติดตั้งและคอนฟิก Tomcat 5 บน CentOS 5

Tomcat เป็นโปรแกรมที่จะทำให้เราสามารถรันเว็บที่เขียนด้วย Java หรือ XML ได้ การติดตั้ง Tomcat 5 บน CentOS ตอนนี้ไม่ได้ยุ่งยากเหมือนสมัยก่อนอีกแล้วครับ ง่ายๆเพียงไม่กี่ขั้นตอนเท่านั้น มาดูกันครับ

1. ติดตั้ง Tomcat 5 ด้วยคำสั่ง yum
โค้ด: เลือกทั้งหมด
yum install tomcat5 tomcat5-webapps tomcat5-admin-webapps


2. เซ็ตให้รันเป็น service
โค้ด: เลือกทั้งหมด
chkconfig --level 35 tomcat5


3. ติดตั้ง Java SE SDK
เข้าเว็บนี้ครับ
โค้ด: เลือกทั้งหมด
http://www.oracle.com/technetwork/java/javase/downloads/index.html

แล้วเลือกดาวน์โหลด Java SE JDK จากนั้นเลือก Platform และดาวน์โหลดมาเก็บไว้ในเครื่องคอม แล้วอัพโหลดเข้า CentOS

โค้ด: เลือกทั้งหมด
chmod +x jdk-6u24-linux-i586-rpm.bin
./jdk-6u24-linux-i586-rpm-bin


ข้อความขณะติดตั้ง

Unpacking...
Checksumming...
Extracting...
UnZipSFX 5.50 of 17 February 2002, by Info-ZIP (Zip-Bugs@lists.wku.edu).
inflating: jdk-6u24-linux-i586.rpm
inflating: sun-javadb-common-10.6.2-1.1.i386.rpm
inflating: sun-javadb-core-10.6.2-1.1.i386.rpm
inflating: sun-javadb-client-10.6.2-1.1.i386.rpm
inflating: sun-javadb-demo-10.6.2-1.1.i386.rpm
inflating: sun-javadb-docs-10.6.2-1.1.i386.rpm
inflating: sun-javadb-javadoc-10.6.2-1.1.i386.rpm
Preparing... ########################################### [100%]
1:jdk ########################################### [100%]
Unpacking JAR files...
rt.jar...
jsse.jar...
charsets.jar...
tools.jar...
localedata.jar...
plugin.jar...
javaws.jar...
deploy.jar...
Installing JavaDB
Preparing... ########################################### [100%]
1:sun-javadb-common ########################################### [ 17%]
2:sun-javadb-core ########################################### [ 33%]
3:sun-javadb-client ########################################### [ 50%]
4:sun-javadb-demo ########################################### [ 67%]
5:sun-javadb-docs ########################################### [ 83%]
6:sun-javadb-javadoc ########################################### [100%]

Java(TM) SE Development Kit 6 successfully installed.

Product Registration is FREE and includes many benefits:
* Notification of new versions, patches, and updates
* Special offers on Oracle products, services and training
* Access to early releases and documentation

Product and system data will be collected. If your configuration
supports a browser, the JDK Product Registration form will
be presented. If you do not register, none of this information
will be saved. You may also register your JDK later by
opening the register.html file (located in the JDK installation
directory) in a browser.

For more information on what data Registration collects and
how it is managed and used, see:
http://java.sun.com/javase/registration ... ivacy.html

Press Enter to continue.....

Done.

4.แก้ไขไฟล์ /etc/sysconfig/tomcat5

แก้บรรทัด
โค้ด: เลือกทั้งหมด
JAVA_HOME = "/usr/java/jdk1.6.0_24"

ให้มันแม๊ตกับ JDK ตัวที่เราเพิ่งติดตั้งไปก่อนหน้านี้ ผมติดตั้ง JDK 1.6.0_24 มันจะอยู่ที่ไดเร็คตอรี่ /usr/java/jdk_1.6.0_24

5. เพิ่ม role admin และ manager ในไฟล์ tomcat-users.xml
เพื่อให้ล๊อกอินเข้าเว็บ Tomcat Admin ได้
ดีฟอลท์ Tomcat5 ยังไม่ได้เปิดให้ admin หรือ manager ล๊อกอินเข้าเว็บ /admin เราต้องคอนฟิกเพิ่มเอง

โค้ด: เลือกทั้งหมด
vi /usr/share/tomcat5/conf/tomcat-users.xml


เดิม
โค้ด: เลือกทั้งหมด
<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
  <role rolename="tomcat"/>
  <role rolename="role1"/>
  <user username="tomcat" password="tomcat" roles="tomcat"/>
  <user username="both" password="tomcat" roles="tomcat,role1"/>
  <user username="role1" password="tomcat" roles="role1"/>
</tomcat-users>


ใหม่
โค้ด: เลือกทั้งหมด
<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
  <role rolename="manager"/>
  <role rolename="admin"/>
  <role rolename="tomcat"/>
  <role rolename="role1"/>
  <user username="admin" password="admin" roles="admin,manager"/>
  <user username="both" password="tomcat" roles="tomcat,role1"/>
  <user username="tomcat" password="tomcat" roles="tomcat"/>
  <user username="role1" password="tomcat" roles="role1"/>
</tomcat-users>


6. รัน Tomcat
โค้ด: เลือกทั้งหมด
service tomcat5 start


ถ้าสตาร์ท Tomcat5 แล้วเจอข้อความแบบนี้

Starting tomcat5:
/usr/bin/rebuild-jar-repository: error: Could not find jdbc-stdext Java extension for this JVM
/usr/bin/rebuild-jar-repository: error: Could not find jndi Java extension for this JVM
/usr/bin/rebuild-jar-repository: error: Some detected jars were not found for this jvm
/usr/bin/rebuild-jar-repository: error: Could not find jaas Java extension for this JVM
/usr/bin/rebuild-jar-repository: error: Some detected jars were not found for this jvm
[ OK ]

ก็ปล่อยไปก่อนครับ แต่มันก็ยังรันได้

7. เช็คว่า Tomcat รันหรือเปล่า
ดีฟอลท์มันจะรันที่พอร์ต TCP 8080
โค้ด: เลือกทั้งหมด
netstat -ln | grep 8080

มีพอร์ต 8080 รันอยู่ครับ แสดงว่าเวอร์ค
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN

8. เทสว่าเราติดตั้ง Tomcat ได้สำเร็จเรียบร้อยดีหรือเปล่า
ลองรันเว็บ Admin ของ Tomcat ดูครับ

http://192.168.100.1:8080/admin

รูปภาพ

รูปภาพ

ก็สำเร็จดีครับ ต่อไปก็เขียน Java Web Application ได้เลย