Java และ JVM (เครื่อง virtual ของ Java) จำเป็นสำหรับซอฟต์แวร์หลายประเภท ได้แก่ Tomcat, Jetty, Glassfish, Cassandra และ Jenkins ในคู่มือนี้ จะเป็นการติดตั้ง Java Runtime Environment (JRE) และ Java Developer Kit (JDK) เวอร์ชันต่างๆ โดยใช้ apt จาก Oracle
การติดตั้ง JRE/JDK เริ่มต้น
ตัวเลือกที่ง่ายที่สุดในการติดตั้ง Java คือการใช้เวอร์ชันที่มาพร้อมกับ Ubuntu ตามค่าเริ่มต้น Ubuntu 20.04 จะมี Open JDK 11 ซึ่งเป็นเวอร์ชัน open-source ของ JRE และ JDK
หากต้องการติดตั้งเวอร์ชันนี้ ให้อัปเดตระบบก่อน
sudo apt update
จากนั้นตรวจสอบว่าติดตั้ง Java ไว้แล้วหรือไม่
java -version
หากไม่ได้ติดตั้ง Java คุณจะเห็นผลลัพธ์ต่อไปนี้
ใช้คำสั่งต่อไปนี้เพื่อติดตั้ง Java Runtime Environment (JRE) เริ่มต้นซึ่งจะติดตั้ง JRE จาก OpenJDK 11
sudo apt install default-jre
JRE จะช่วยให้สามารถรันซอฟต์แวร์ Java เกือบทั้งหมดได้
สามารถตรวจสอบการติดตั้งด้วย
java -version
จะเห็นผลลัพธ์ที่คล้ายกับภาพต่อไปนี้
อาจต้องใช้ Java Development Kit (JDK) นอกเหนือจาก JRE เพื่อ compile และรันซอฟต์แวร์ที่ใช้ Java บางตัว หากต้องการติดตั้ง JDK ให้รันคำสั่งต่อไปนี้ ซึ่งจะติดตั้ง JRE ด้วย
sudo apt install default-jdk
ตรวจสอบว่าติดตั้ง JDK แล้ว โดยการตรวจสอบเวอร์ชันของ javac ซึ่งเป็น compiler Java
javac -version
จะเห็นผลลัพธ์ต่อไปนี้
การติดตั้ง Oracle JDK 11
ข้อตกลงเกี่ยวกับสิทธิ์การใช้งานของ Oracle สำหรับ Java นั้นไม่อนุญาตให้ติดตั้งอัตโนมัติผ่านตัวจัดการแพ็คเกจ หากต้องการติดตั้ง Oracle JDK ซึ่งเป็นเวอร์ชันอย่างเป็นทางการที่เผยแพร่โดย Oracle ต้องสร้างบัญชี Oracle และดาวน์โหลด JDK ด้วยตนเองเพื่อเพิ่มพื้นที่เก็บข้อมูลแพ็กเกจใหม่สำหรับเวอร์ชันที่ต้องการใช้ จากนั้นสามารถใช้ apt เพื่อติดตั้งด้วยสคริปต์การติดตั้งของ 3rd Party เวอร์ชันของ JDK ของ Oracle ที่คุณต้องดาวน์โหลดจะต้องตรงกับเวอร์ชันของสคริปต์ตัวติดตั้ง โดยการตรวจสอบเวอร์ชั่นที่ต้องการติดตั้งให้ไปที่ oracle-java11-installer
ในภาพนี้ เวอร์ชันของสคริปต์คือ 11.0.4 ในกรณีนี้ คุณจะต้องใช้ Oracle JDK 11.0.4 หมายเลขเวอร์ชันอาจแตกต่างกันไปขึ้นอยู่กับว่าคุณต้องการติดตั้งซอฟต์แวร์เวอร์ชั่นไหน และไม่จำเป็นต้องดาวน์โหลดอะไรจากหน้านี้ จากนั้นไปที่หน้าดาวน์โหลด และค้นหาเวอร์ชันที่ตรงกับที่คุณต้องการ คลิกปุ่มดาวน์โหลด JDK แล้วจะเข้าสู่หน้าจอที่แสดงเวอร์ชันที่มี คลิกแพ็คเกจ .tar.gz สำหรับ Linux
เมื่อคลิกดาวน์โหลด จะเห็นหน้าจอขอให้ยอมรับข้อตกลงตามใบอนุญาตของ Oracle เลือกช่องทำเครื่องหมายเพื่อยอมรับข้อตกลงแล้วกดปุ่มดาวน์โหลด การดาวน์โหลดจะเริ่มต้นขึ้น ซึ่งอาจต้องเข้าสู่ระบบบัญชี Oracle ก่อนถึงจะสามารถดาวน์โหลดได้
เมื่อดาวน์โหลดไฟล์แล้ว จะต้องโอนไฟล์ไปยังเซิร์ฟเวอร์บนเครื่องของคุณ บน macOS, Linux หรือ Windows ที่ใช้ระบบย่อย Windows สำหรับ Linux ให้ใช้คำสั่ง scp เพื่อถ่ายโอนไฟล์ไปยังโฮมไดเร็กทอรีของผู้ใช้ ในที่นี่ผู้ใช้มีชื่อว่า john คำสั่งต่อไปนี้จะถือว่าคุณได้บันทึกไฟล์ Oracle JDK ลงในโฟลเดอร์ดาวน์โหลดของเครื่องของคุณ
scp Downloads/jdk-11.0.4_linux-x64_bin.tar.gz john@your_server_ip:~
เมื่อการอัปโหลดไฟล์เสร็จสิ้น ให้กลับไปที่เซิร์ฟเวอร์และเพิ่มพื้นที่เก็บข้อมูลของ 3rd Party ที่จะช่วยให้ติดตั้ง Java ของ Oracle
ติดตั้งแพ็คเกจ software-properties-common ซึ่งจะเพิ่มคำสั่ง add-apt-repository ให้กับระบบ
sudo apt install software-properties-common
จากนั้นเข้ารหัสเพื่อยืนยันซอฟต์แวร์ที่กำลังจะติดตั้ง
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys EA8CACC073C3DB2A
จะเห็นผลลัพธ์ดังนี้
จากนั้นใช้คำสั่ง add-apt-repository เพื่อเพิ่ม repo ลงในแพ็กเกจ
sudo add-apt-repository ppa:linuxuprising/java
จะได้ผลลัพธ์ดังนี้
กด ENTER เพื่อดำเนินการติดตั้งต่อ และอาจเห็นข้อความว่าไม่พบข้อมูล OpenPGP ที่ถูกต้อง ซึ่งเราสามารถเพิกเฉยต่อสิ่งนี้ อัพเดตรายการแพ็กเกจของคุณเพื่อให้ซอฟต์แวร์ใหม่พร้อมสำหรับการติดตั้ง
sudo apt update
โปรแกรมติดตั้งจะค้นหา Oracle JDK ที่คุณดาวน์โหลดใน /var/cache/oracle-jdk11-installer-local สร้างไดเร็กทอรีนี้และย้ายไฟล์เก็บถาวร Oracle JDK ไปที่นั่น
sudo mkdir -p /var/cache/oracle-jdk11-installer-local/
sudo cp jdk-11.0.4_linux-x64_bin.tar.gz /var/cache/oracle-jdk11-installer-local/
สุดท้ายให้ติดตั้งแพ็คเกจ
sudo apt install oracle-java11-installer-local
โปรแกรมติดตั้งจะขอให้ยอมรับข้อตกลงใบอนุญาตของ Oracle ก่อน ยอมรับข้อตกลง จากนั้นตัวติดตั้งจะแตกแพ็คเกจ Java และติดตั้ง
ตอนนี้เรามาดูวิธีเลือกเวอร์ชันของ Java ที่คุณต้องการใช้
การจัดการ Java
เราสามารถมีการติดตั้ง Java ได้หลายรายการบนเซิร์ฟเวอร์เดียว โดยกำหนดค่าเวอร์ชันที่เป็นค่าเริ่มต้นสำหรับใช้ในบรรทัดคำสั่งได้โดยใช้คำสั่ง update-alternatives
sudo update-alternatives --config java
นี่คือลักษณะผลลัพธ์หากคุณได้ติดตั้ง Java ทั้งสองเวอร์ชันในคู่มือนี้ เลือกหมายเลขที่เกี่ยวข้องกับเวอร์ชัน Java เพื่อใช้เป็นค่าเริ่มต้น หรือกด ENTER เพื่อคงการตั้งค่าปัจจุบันไว้
เราสามารถทำเช่นนี้กับคำสั่ง Java อื่นๆ เช่น compiler (javac)
sudo update-alternatives --config javac
คำสั่งอื่นๆ ที่สามารถรันคำสั่งนี้ได้รวมถึงแต่ไม่จำกัดเฉพาะ: keytool, javadoc และ jarsigner
การตั้งค่าตัวแปร JAVA_HOME Environment
หากต้องการตั้งค่าตัวแปร Environment นี้ ขั้นแรกให้กำหนดตำแหน่งที่ติดตั้ง Java ใช้คำสั่ง update-alternatives
sudo update-alternatives --config java
ในกรณีนี้ เส้นทางการติดตั้งจะเป็นดังนี้
- OpenJDK 11 อยู่ที่ /usr/lib/jvm/java-11-openjdk-amd64/bin/java
- Oracle Java อยู่ที่ /usr/lib/jvm/java-11-oracle/jre/bin/java
คัดลอกเส้นทางจากการติดตั้งที่คุณต้องการ จากนั้นเปิด /etc/environment โดยใช้ nano หรือโปรแกรมแก้ไขข้อความที่คุณชื่นชอบ
sudo nano /etc/environment
JAVA_HOME="/usr/lib/jvm/java-11-openjdk-amd64"
การแก้ไขไฟล์นี้จะกำหนดเส้นทาง JAVA_HOME สำหรับผู้ใช้ทุกคนในระบบ หากดำเนินการเรียบร้อยแล้วให้บันทึกไฟล์และออกจากโปรแกรมแก้ไข
ตอนนี้ให้โหลดไฟล์นี้ใหม่เพื่อใช้การเปลี่ยนแปลงกับเซสชันปัจจุบันของคุณ
source /etc/environment
ตรวจสอบว่ามีการตั้งค่าตัวแปร Environment แล้ว
echo $JAVA_HOME
ผู้ใช้รายอื่นจะต้องดำเนินการคำสั่ง source /etc/environment หรือออกจากระบบและเข้าสู่ระบบกลับเพื่อใช้การตั้งค่านี้