ค้นหาเว็บไซต์

วิธีติดตั้งและกำหนดค่า 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 และตรวจสอบว่ามีเวอร์ชันใหม่กว่าหรือไม่

  1. 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 อย่างเป็นทางการ