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

วิธีการติดตั้ง Apache Tomcat ใน RHEL 8


Apache Tomcat เป็นเว็บเซิร์ฟเวอร์แบบโอเพ่นซอร์ส น้ำหนักเบา ทรงพลัง และใช้กันอย่างแพร่หลาย ซึ่งพัฒนาและดูแลโดย Apache Foundation เป็นการนำ Java Servlet, JavaServer Pages (JSP), Java Expression Language (EL) และ Java WebSocket เทคโนโลยีที่แข็งแกร่ง> และมอบเซิร์ฟเวอร์ Java HTTP ที่แท้จริงเพื่อรันแอปพลิเคชันบนเว็บ Java

บทความนี้จะแนะนำคุณตลอดการติดตั้งและการกำหนดค่า Apache Tomcat 9 พร้อมการเข้าถึงเว็บอินเทอร์เฟซระยะไกลบน RHEL 8 Linux

หากคุณต้องการมี Tomcat บน RHEL/CentOS 7 ให้ทำตามบทความนี้เพื่อติดตั้ง Apache Tomcat บน RHEL/CentOS 7

ขั้นตอนที่ 1: การติดตั้ง Java บน RHEL 8

หากต้องการติดตั้ง Java บน RHEL 8 ขั้นแรก ให้อัปเดตแพ็คเกจระบบและติดตั้งเวอร์ชันเริ่มต้นที่มีอยู่ของ Java 8 หรือ Java 11< โดยใช้คำสั่ง dnf ต่อไปนี้ดังที่แสดง

dnf update
dnf install java-1.8.0-openjdk-devel  	#install JDK 8
OR
dnf install java-11-openjdk-devel		#install JDK 11

เมื่อการติดตั้งเสร็จสิ้น คุณสามารถตรวจสอบเวอร์ชัน Java ที่ติดตั้งบนระบบได้โดยใช้คำสั่งต่อไปนี้

java -version
ผลลัพธ์ตัวอย่าง
openjdk version "1.8.0_222"
OpenJDK Runtime Environment (build 1.8.0_222-b10)
OpenJDK 64-Bit Server VM (build 25.222-b10, mixed mode)

ขั้นตอนที่ 2: การติดตั้ง Apache Tomcat บน RHEL 8

เมื่อติดตั้ง JAVA บนระบบแล้ว ตอนนี้ก็ถึงเวลาดาวน์โหลด Apache Tomcat เวอร์ชันล่าสุด (เช่น 9.0.24) ซึ่งเป็นเวอร์ชันล่าสุด เวอร์ชันเสถียรล่าสุดในขณะที่เขียนบทความนี้

หากคุณต้องการตรวจสอบเวอร์ชัน ให้ไปที่หน้าดาวน์โหลดอย่างเป็นทางการของ Apache และตรวจสอบว่ามีเวอร์ชันใหม่ให้ดาวน์โหลดหรือไม่

  1. https://tomcat.apache.org/download-90.cgi

หรือคุณสามารถดาวน์โหลด Apache Tomcat เวอร์ชันล่าสุดได้โดยใช้คำสั่ง wget ต่อไปนี้และตั้งค่าตามที่แสดง

cd /usr/local
wget http://www-us.apache.org/dist/tomcat/tomcat-9/v9.0.24/bin/apache-tomcat-9.0.24.tar.gz
tar -xvf apache-tomcat-9.0.24.tar.gz
mv apache-tomcat-9.0.24 tomcat9

หมายเหตุ: หากมีเวอร์ชัน Apache Tomcat ที่ใหม่กว่า ให้ตรวจสอบให้แน่ใจว่าได้แทนที่หมายเลขเวอร์ชันด้านบนด้วยเวอร์ชันล่าสุด

ขณะนี้เซิร์ฟเวอร์ Apache Tomcat ได้รับการปรับใช้ในไดเร็กทอรี /usr/local/tomcat9 แล้ว คุณสามารถตรวจสอบเนื้อหาได้โดยการรันคำสั่ง pwd และแสดงรายการเนื้อหาไดเร็กทอรีด้วย

pwd tomcat9/
ls -l tomcat9/

ต่อไปนี้เป็นคำอธิบายของแต่ละไดเรกทอรีย่อยในไดเรกทอรีการติดตั้งของ Apache Tomcat

  • bin – มีไฟล์ปฏิบัติการ
  • conf – มีไฟล์การกำหนดค่า
  • lib – เก็บไฟล์ไลบรารี
  • บันทึก – เก็บไฟล์บันทึก
  • temp – มีไฟล์ชั่วคราว
  • webaaps – เก็บไฟล์เว็บแอปพลิเคชัน

ขั้นตอนที่ 3: เรียกใช้ Apache Tomcat ภายใต้ Systemd ใน RHEL 8

หากต้องการจัดการ Apache Tomcat daemon ได้อย่างง่ายดาย คุณต้องเรียกใช้เป็นบริการภายใต้ systemd (ผู้จัดการระบบและบริการ) บริการจะทำงานโดยมีสิทธิ์ของผู้ใช้ระบบที่เรียกว่า tomcat ซึ่งคุณต้องสร้างโดยใช้คำสั่ง useradd

useradd -r tomcat

เมื่อสร้างผู้ใช้ tomcat แล้ว ให้มอบสิทธิ์และสิทธิ์การเป็นเจ้าของแก่ไดเร็กทอรีการติดตั้ง Tomcat และเนื้อหาทั้งหมดโดยใช้คำสั่ง chown ต่อไปนี้

chown -R tomcat:tomcat /usr/local/tomcat9
ls -l /usr/local/tomcat9

จากนั้น สร้างไฟล์หน่วย tomcat.service ภายใต้ไดเร็กทอรี /etc/systemd/system/ โดยใช้โปรแกรมแก้ไขข้อความที่คุณชื่นชอบ

vi /etc/systemd/system/tomcat.service

คัดลอกและวางการกำหนดค่าต่อไปนี้ในไฟล์ tomcat.service

[Unit]
Description=Apache Tomcat Server
After=syslog.target network.target

[Service]
Type=forking
User=tomcat
Group=tomcat

Environment=CATALINA_PID=/usr/local/tomcat9/temp/tomcat.pid
Environment=CATALINA_HOME=/usr/local/tomcat9
Environment=CATALINA_BASE=/usr/local/tomcat9

ExecStart=/usr/local/tomcat9/bin/catalina.sh start
ExecStop=/usr/local/tomcat9/bin/catalina.sh stop

RestartSec=10
Restart=always
[Install]
WantedBy=multi-user.target

บันทึกไฟล์รีโหลดการกำหนดค่า systemd เพื่อใช้การเปลี่ยนแปลงล่าสุดโดยใช้คำสั่งต่อไปนี้

systemctl daemon-reload

จากนั้นเริ่มบริการ tomcat เปิดใช้งานเพื่อเริ่มอัตโนมัติเมื่อบูตระบบ และตรวจสอบสถานะโดยใช้คำสั่งต่อไปนี้

systemctl start tomcat.service
systemctl enable tomcat.service
systemctl status tomcat.service

Tomcat ใช้พอร์ต 8080 และ 8443 สำหรับคำขอ HTTP และ HTTPS ตามลำดับ คุณยังสามารถยืนยันได้ว่า daemon พร้อมใช้งานและรับฟังโดยการตรวจสอบพอร์ต HTTP ระหว่างพอร์ตการฟังทั้งหมดบนระบบโดยใช้คำสั่ง netstat

netstat -tlpn

หากคุณให้บริการไฟร์วอลล์ทำงานอยู่ คุณต้องเปิดพอร์ต 8080 และ 8443 ก่อนที่จะเข้าถึงเว็บอินเทอร์เฟซสำหรับ Tomcat โดยใช้คำสั่ง firewall-cmd ดังที่แสดง

firewall-cmd --zone=public --permanent --add-port=8080/tcp
firewall-cmd --zone=public --permanent --add-port=8443/tcp
firewall-cmd --reload

ขั้นตอนที่ 4: เข้าถึงเว็บอินเตอร์เฟส Apache Tomcat

เมื่อคุณได้ติดตั้ง กำหนดค่า และเริ่ม Tomcat เป็นบริการ และอนุญาตคำขอไปยัง daemon ผ่านไฟร์วอลล์แล้ว คุณสามารถทดสอบการติดตั้งได้โดยพยายามเข้าถึงเว็บอินเทอร์เฟซโดยใช้ URL

http://localhost:8080
OR
http://SERVER_IP:8080

เมื่อคุณเห็นหน้าเว็บที่แสดงในภาพหน้าจอ แสดงว่าคุณติดตั้ง Tomcat สำเร็จแล้ว

Tomcat รวมเว็บแอปพลิเคชันชื่อ ผู้จัดการ ที่ใช้ในการปรับใช้เว็บแอปพลิเคชันใหม่จากเนื้อหาที่อัปโหลดของไฟล์ WAR ปรับใช้เว็บแอปพลิเคชันใหม่ แสดงรายการเว็บแอปพลิเคชันที่ใช้งานอยู่ในปัจจุบัน และเซสชันที่ใช้งานอยู่สำหรับเว็บแอปเหล่านั้น และอื่นๆ อีกมากมาย

นอกจากนี้ยังมีแอปพลิเคชัน Host Manager ที่ใช้จัดการ (สร้าง ลบ ฯลฯ) โฮสต์เสมือนภายใน Tomcat

ขั้นตอนที่ 5: เปิดใช้งานการรับรองความถูกต้อง HTTP สำหรับ Tomcat Manager และ Host Manager

เพื่อให้แน่ใจว่ามีการจำกัดการเข้าถึงแอป ผู้จัดการ และ ตัวจัดการโฮสต์ ในสภาพแวดล้อมการใช้งานจริง คุณต้องกำหนดค่าการตรวจสอบสิทธิ์ HTTP พื้นฐานใน /usr/local/tomcat9/conf /tomcat-users.xml ไฟล์การกำหนดค่า

vi /usr/local/tomcat9/conf/tomcat-users.xml

คัดลอกและวางการกำหนดค่าต่อไปนี้ภายในแท็ก และ ดังที่แสดงในภาพหน้าจอ การกำหนดค่านี้จะเพิ่มบทบาท admin-gui และ manager-gui ให้กับผู้ใช้ชื่อ “admin ” ด้วยรหัสผ่าน “tomhost@ 80 ”.

<role rolename="admin-gui,manager-gui"/> 
<user username="admin" password="tomhost@80" roles="admin-gui,manager-gui"/>

บันทึกการเปลี่ยนแปลงในไฟล์และออก

ขั้นตอนที่ 6: เปิดใช้งานการเข้าถึงระยะไกลไปยัง Tomcat Manager และ Host Manager

ตามค่าเริ่มต้น การเข้าถึงแอป ผู้จัดการ และ ตัวจัดการโฮสต์ ถูกจำกัดไว้เฉพาะ localhost ซึ่งเป็นเซิร์ฟเวอร์ที่ Tomcat ได้รับการติดตั้งและใช้งานอยู่ แต่คุณสามารถเปิดใช้งานการเข้าถึงระยะไกลไปยังที่อยู่ IP หรือเครือข่ายเฉพาะได้ เช่น LAN ของคุณ

หากต้องการเปิดใช้งานการเข้าถึงแอป ผู้จัดการ จากระยะไกล ให้เปิดและแก้ไขไฟล์การกำหนดค่า /opt/apache-tomcat-9.0.24/webapps/host-manager/META-INF/context.xml< /แข็งแกร่ง>.

vi /usr/local/tomcat9/webapps/manager/META-INF/context.xml

จากนั้นมองหาบรรทัดต่อไปนี้

allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />

เปลี่ยนเป็นสิ่งนี้เพื่ออนุญาตการเข้าถึง 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.*" />

หรืออนุญาตการเข้าถึง Tomcat จากโฮสต์หรือเครือข่ายใดๆ

allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1 |.*" />

จากนั้นบันทึกการเปลี่ยนแปลงในไฟล์แล้วปิด

ในทำนองเดียวกัน ให้เปิดใช้งานการเข้าถึงแอป Host Manager จากระยะไกลในไฟล์ /usr/local/tomcat9/webapps/host-manager/META-INF/context.xml ดังที่แสดงด้านบน .

จากนั้น ให้รีสตาร์ทบริการ tomcat เพื่อใช้การเปลี่ยนแปลงล่าสุด

systemctl restart tomcat.service

ขั้นตอนที่ 7: เข้าถึง Tomcat Manager Web Apps

หากต้องการเข้าถึงเว็บแอป Tomcat Manager คุณสามารถคลิกลิงก์ตามที่แสดงในภาพหน้าจอหรือใช้ URL

http://localhost:8080/manager
OR
http://SERVER_IP:8080/manager

คุณจะถูกขอให้ตรวจสอบสิทธิ์: ป้อนชื่อผู้ใช้และรหัสผ่านที่คุณสร้างไว้ก่อนหน้านี้เพื่อเข้าสู่แอปผู้จัดการดังที่แสดงในภาพหน้าจอ

ภาพหน้าจอต่อไปนี้แสดงอินเทอร์เฟซ HTML ของแอป ผู้จัดการ ซึ่งคุณสามารถปรับใช้เว็บแอปพลิเคชันใหม่จากเนื้อหาที่อัปโหลดของไฟล์ WAR ปรับใช้เว็บแอปพลิเคชันใหม่ หรือแสดงรายการแอปที่มีอยู่ และทำสิ่งอื่น ๆ อีกมากมาย

ขั้นตอนที่ 8: เข้าถึงเว็บแอป Tomcat Host Manager

หากต้องการเข้าถึง ผู้จัดการโฮสต์ ให้ไปที่ URL ต่อไปนี้

http://localhost:8080/host-manager
OR
http://SERVER_IP:8080/host-manager

ยินดีด้วย! คุณได้ติดตั้งและกำหนดค่า Apache Tomcat บนเซิร์ฟเวอร์ RHEL 8 ของคุณสำเร็จแล้ว สำหรับข้อมูลเพิ่มเติม โปรดดูเอกสารประกอบ Apache Tomcat 9.0