วิธีติดตั้งและกำหนดค่า Apache Tomcat 9 ใน CentOS 8/7
Apache Tomcat (ก่อนหน้านี้รู้จักกันในชื่อ Jakarta Tomcat) เป็นเว็บเซิร์ฟเวอร์แบบโอเพ่นซอร์สที่พัฒนาโดย Apache Foundation เพื่อให้บริการเซิร์ฟเวอร์ Java HTTP ล้วนๆ ซึ่ง จะช่วยให้คุณสามารถเรียกใช้ไฟล์ Java ได้อย่างง่ายดาย ซึ่งหมายความว่า Tomcat ไม่ใช่เซิร์ฟเวอร์ปกติเช่น Apache หรือ Nginx เนื่องจากเป้าหมายหลักคือ จัดเตรียมสภาพแวดล้อมเว็บที่ดีในการรันแอปพลิเคชัน Java ซึ่งแตกต่างจากเว็บเซิร์ฟเวอร์ทั่วไปอื่น ๆ
บทความนี้จะแนะนำคุณตลอดการติดตั้ง Apache Tomcat 9 บน RHEL/CentOS 8/7/6
สำหรับ Ubuntu ให้ทำตามวิธีการติดตั้ง Apache Tomcat ใน Ubuntu
ขั้นตอนที่ 1: การติดตั้งและกำหนดค่า Java
ก่อนที่จะไปติดตั้ง Tomcat ตรวจสอบให้แน่ใจว่าคุณได้ติดตั้ง JAVA บนกล่อง Linux ของคุณเพื่อเรียกใช้ Tomcat ถ้าไม่ ให้ติดตั้ง JAVA เวอร์ชันล่าสุด หรือใช้คำสั่ง yum ต่อไปนี้เพื่อติดตั้ง Java ที่พร้อมใช้งานจากที่เก็บเริ่มต้น
yum install java-1.8.0-openjdk-devel #install JDK 8
OR
yum install java-11-openjdk-devel #install JDK 11
เมื่อติดตั้ง Java แล้ว คุณสามารถตรวจสอบเวอร์ชัน JAVA ที่เพิ่งติดตั้งใหม่โดยใช้คำสั่งต่อไปนี้บนระบบของคุณ
java -version
ผลลัพธ์ตัวอย่าง
openjdk version "11.0.4" 2019-07-16 LTS
OpenJDK Runtime Environment 18.9 (build 11.0.4+11-LTS)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.4+11-LTS, mixed mode, sharing)
ขั้นตอนที่ 2: การติดตั้ง Apache Tomcat 9
หลังจากติดตั้ง JAVA บนระบบแล้ว ตอนนี้ก็ถึงเวลาดาวน์โหลด Apache Tomcat เวอร์ชันล่าสุด (เช่น 9.0.26) ซึ่งเป็นเวอร์ชันเสถียรล่าสุดในขณะที่เขียนบทความนี้ หากคุณต้องการตรวจสอบข้าม ให้ไปที่หน้าดาวน์โหลด Apache และตรวจสอบว่ามีเวอร์ชันใหม่กว่าหรือไม่
- hhttps://tomcat.apache.org/download-90.cgi
ตอนนี้ดาวน์โหลด Apache Tomcat 9 เวอร์ชันล่าสุดโดยใช้คำสั่ง wget ต่อไปนี้และตั้งค่าตามที่แสดง
cd /usr/local
wget https://mirrors.estointernet.in/apache/tomcat/tomcat-9/v9.0.37/bin/apache-tomcat-9.0.37.tar.gz
tar -xvf apache-tomcat-9.0.37.tar.gz
mv apache-tomcat-9.0.37.tar.gz tomcat9
หมายเหตุ: แทนที่หมายเลขเวอร์ชันด้านบนด้วยเวอร์ชันล่าสุดที่มีอยู่หากเป็นเวอร์ชันอื่น
ก่อนที่จะเริ่มบริการ Tomcat ให้กำหนดค่าตัวแปรสภาพแวดล้อม CATALINA_HOME ในระบบของคุณโดยใช้คำสั่งต่อไปนี้
echo "export CATALINA_HOME="/usr/local/tomcat9"" >> ~/.bashrc
source ~/.bashrc
ตอนนี้เราทุกคนพร้อมที่จะเริ่มเว็บเซิร์ฟเวอร์ Tomcat โดยใช้สคริปต์ที่มาจากแพ็คเกจ Tomcat
cd /usr/local/tomcat9/bin
./startup.sh
ผลลัพธ์ตัวอย่าง
Using CATALINA_BASE: /usr/local/tomcat9
Using CATALINA_HOME: /usr/local/tomcat9
Using CATALINA_TMPDIR: /usr/local/tomcat9/temp
Using JRE_HOME: /usr
Using CLASSPATH: /usr/local/tomcat9/bin/bootstrap.jar:/usr/local/tomcat9/bin/tomcat-juli.jar
Tomcat started.
ตอนนี้เพื่อเปิด Tomcat จากเบราว์เซอร์ของคุณ ให้ไปที่ IP หรือโดเมนของคุณด้วยพอร์ต 8080 (เนื่องจาก Tomcat จะทำงานบนพอร์ต 8080 เสมอ) เป็นตัวอย่าง: mydomain.com :8080 แทนที่ mydomain.com ด้วย IP หรือโดเมนของคุณ
http://Your-IP-Address:8080
OR
http://Your-Domain.com:8080
ไดเร็กทอรีเริ่มต้นสำหรับไฟล์ Tomcat จะอยู่ใน /usr/local/tomcat9 คุณสามารถดูไฟล์การกำหนดค่าภายในโฟลเดอร์ conf
ซึ่งเป็นหน้าหลักที่คุณเห็นด้านบน เมื่อคุณเปิดเว็บไซต์ของคุณบนพอร์ต 8080 จะอยู่ใน /usr/local/tomcat9/webapps/ROOT/
ขั้นตอนที่ 3: การกำหนดค่า Apache Tomcat 9
โดยค่าเริ่มต้น คุณจะสามารถเข้าถึงเฉพาะหน้า Tomcat เริ่มต้น เพื่อเข้าถึง ผู้ดูแลระบบ และส่วนอื่นๆ เช่น สถานะเซิร์ฟเวอร์, แอปผู้จัดการ และ โฮสต์ ผู้จัดการ. คุณต้องกำหนดค่าบัญชีผู้ใช้สำหรับผู้ดูแลระบบและผู้จัดการ
ในการดำเนินการดังกล่าว คุณต้องแก้ไขไฟล์ 'tomcat-users.xml' ที่อยู่ใต้ไดเร็กทอรี /usr/local/tomcat9/conf
ตั้งค่าบัญชีผู้ใช้ Tomcat
ตัวอย่างเช่น หากต้องการกำหนดบทบาท manager-gui ให้กับผู้ใช้ชื่อ 'tecmint' ด้วยรหัสผ่าน 't$cm1n1' ให้เพิ่มสิ่งต่อไปนี้ บรรทัดโค้ดไปยังไฟล์กำหนดค่าภายในส่วน
vi /usr/local/tomcat9/conf/tomcat-users.xml
<role rolename="manager-gui"/>
<user username="tecmint" password="t$cm1n1" roles="manager-gui"/>
ในทำนองเดียวกัน คุณยังสามารถเพิ่มบทบาท 'admin-gui' ให้กับผู้ใช้ที่เป็นผู้ดูแลระบบชื่อ 'ผู้ดูแลระบบ' ด้วยรหัสผ่าน 'adm!n' ตามที่แสดงด้านล่าง
<role rolename="admin-gui"/>
<user username="admin" password="adm!n" roles="admin-gui"/>
เปิดใช้งานการเข้าถึงระยะไกลไปยัง Tomcat
ตามค่าเริ่มต้น การเข้าถึงส่วน ผู้จัดการ และ ผู้จัดการโฮสต์ จะถูกจำกัดไว้เฉพาะโฮสต์ในพื้นที่เท่านั้น เพื่อให้สามารถเข้าถึงเพจเหล่านี้ คุณจะต้องระบุที่อยู่ IP หรือช่วงเครือข่ายใน ไฟล์การกำหนดค่า
vi /usr/local/tomcat9/webapps/manager/META-INF/context.xml
จากนั้นมองหาบรรทัดต่อไปนี้และเปลี่ยนเป็นบรรทัดนี้เพื่ออนุญาตให้ Tomcat เข้าถึงจากที่อยู่ IP 192.168.56.10
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1 |192.168.56.10" />
คุณยังสามารถอนุญาตการเข้าถึง Tomcat จากเครือข่ายท้องถิ่น 192.168.56.0
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1 |192.168.56.*" /gt;
หลังจากตั้งค่าบทบาทของผู้ดูแลระบบและผู้จัดการแล้ว ให้รีสตาร์ท Tomcat จากนั้นลองเข้าถึงส่วนผู้ดูแลระบบ
./shutdown.sh
./startup.sh
ตอนนี้คลิกที่แท็บ 'สถานะเซิร์ฟเวอร์' ระบบจะแจ้งให้คุณป้อนข้อมูลรับรองผู้ใช้ ป้อนชื่อผู้ใช้และรหัสผ่านที่คุณได้เพิ่มไว้ด้านบนในไฟล์กำหนดค่า
เมื่อคุณป้อนข้อมูลรับรองผู้ใช้แล้ว คุณจะพบหน้าที่คล้ายกับด้านล่างนี้
การเปลี่ยนพอร์ต Apache Tomcat
หากคุณต้องการเรียกใช้ Tomcat บนพอร์ตอื่นให้พูดว่าพอร์ต 80 คุณจะต้องแก้ไขไฟล์ 'server.xml' ใน '/usr/local/tomcat9/conf/' ก่อนที่จะเปลี่ยน พอร์ต ตรวจสอบให้แน่ใจว่าได้หยุดการใช้เซิร์ฟเวอร์ Tomcat แล้ว
/usr/local/tomcat9/bin/shutdown.sh
ตอนนี้ให้เปิดไฟล์ server.xml โดยใช้โปรแกรมแก้ไข Vi
vi /usr/local/tomcat9/conf/server.xml
ตอนนี้ค้นหา “พอร์ตตัวเชื่อมต่อ ” และเปลี่ยนค่าจาก 8080 เป็น 80 หรือพอร์ตอื่น ๆ ที่คุณต้องการดังต่อไปนี้
หากต้องการบันทึกไฟล์และรีสตาร์ทเซิร์ฟเวอร์ Apache Tomcat อีกครั้งโดยใช้คำสั่งด้านล่าง
/usr/local/tomcat9/bin/startup.sh
เพียงเท่านี้ เซิร์ฟเวอร์ Tomcat ของคุณจะทำงานบนพอร์ต 80
แน่นอน คุณต้องรันคำสั่งข้างต้นทั้งหมดในฐานะ root ถ้าไม่ใช้คำสั่งเหล่านั้นจะไม่ทำงานเพราะเรากำลังดำเนินการกับ '/usr/local ' ไดเร็กทอรีซึ่งเป็นโฟลเดอร์ที่เป็นของผู้ใช้รูทเฉพาะในกรณีที่คุณต้องการให้คุณสามารถรันเซิร์ฟเวอร์ในฐานะผู้ใช้ปกติได้ แต่คุณจะต้องใช้โฟลเดอร์ HOME ของคุณเป็นพื้นที่ทำงานเพื่อดาวน์โหลด แยก และรัน เซิร์ฟเวอร์ Apache Tomcat
หากต้องการรับข้อมูลบางอย่างเกี่ยวกับเซิร์ฟเวอร์ Tomcat ที่ใช้งานอยู่และคอมพิวเตอร์ของคุณ ให้เรียกใช้
/usr/local/tomcat9/bin/version.sh
ผลลัพธ์ตัวอย่าง
Using CATALINA_BASE: /usr/local/tomcat9
Using CATALINA_HOME: /usr/local/tomcat9
Using CATALINA_TMPDIR: /usr/local/tomcat9/temp
Using JRE_HOME: /usr
Using CLASSPATH: /usr/local/tomcat9/bin/bootstrap.jar:/usr/local/tomcat9/bin/tomcat-juli.jar
NOTE: Picked up JDK_JAVA_OPTIONS: --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED
Server version: Apache Tomcat/9.0.26
Server built: Sep 16 2019 15:51:39 UTC
Server number: 9.0.26.0
OS Name: Linux
OS Version: 4.18.0-80.7.1.el8_0.x86_64
Architecture: amd64
JVM Version: 11.0.4+11-LTS
JVM Vendor: Oracle Corporation
แค่นั้นแหละ! ตอนนี้คุณสามารถเริ่มปรับใช้แอปพลิเคชันที่ใช้ JAVA ภายใต้ Apache Tomcat 9 ได้แล้ว หากต้องการข้อมูลเพิ่มเติมเกี่ยวกับวิธีการปรับใช้แอปพลิเคชันและสร้างโฮสต์เสมือน โปรดดูเอกสารประกอบ Tomcat อย่างเป็นทางการ