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

วิธีการติดตั้ง Apache Tomcat 9 บน Debian 10


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

อ่านเพิ่มเติม: วิธีการติดตั้ง Apache Tomcat ใน Ubuntu

บทช่วยสอนนี้จะแนะนำคุณตลอดกระบวนการติดตั้งและกำหนดค่า Tomcat 9 รุ่นล่าสุดบนเซิร์ฟเวอร์ Debian 10 Linux ของคุณ

ก่อนที่คุณจะเริ่มด้วยบทช่วยสอนนี้ ตรวจสอบให้แน่ใจว่าคุณมีบัญชีผู้ใช้ที่ไม่ใช่รูทที่มีสิทธิ์ sudo บนเซิร์ฟเวอร์ของคุณ ถ้าไม่เช่นนั้น คุณสามารถตั้งค่าได้โดยใช้คำแนะนำของเราเกี่ยวกับวิธีสร้างผู้ใช้ Sudo ใหม่บน Ubuntu/Debian

ขั้นตอนที่ 1: ติดตั้ง Java บน Debian 10

หากต้องการติดตั้ง Tomcat 9 รุ่นล่าสุดบนเซิร์ฟเวอร์ Debian 10 ของคุณ คุณต้องติดตั้ง Java บนเซิร์ฟเวอร์จึงจะสามารถเรียกใช้งานเว็บ Java ได้ รหัสแอปพลิเคชัน

ขั้นแรก ให้อัพเดตดัชนีแพ็คเกจซอฟต์แวร์ระบบโดยใช้คำสั่ง apt ดังที่แสดง

sudo apt update

จากนั้นติดตั้งแพ็คเกจ Java Development Kit โดยใช้คำสั่ง apt

sudo apt install default-jdk

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

java -version

ขั้นตอนที่ 2: ติดตั้ง Tomcat ใน Debian 10

เพื่อวัตถุประสงค์ด้านความปลอดภัย Tomcat ควรได้รับการติดตั้งและดำเนินการโดยผู้ใช้ที่ไม่มีสิทธิ์ (เช่น ไม่ใช่ root) เราจะสร้างกลุ่ม tomcat ใหม่และผู้ใช้เพื่อเรียกใช้บริการ Tomcat ภายใต้ไดเรกทอรี /opt/tomcat (การติดตั้ง Tomcat)

sudo mkdir /opt/tomcat
sudo groupadd tomcat
sudo useradd -s /bin/false -g tomcat -d /opt/tomcat tomcat

เมื่อเราตั้งค่าผู้ใช้ tomcat แล้ว ให้ดาวน์โหลด Tomcat 9 เวอร์ชันล่าสุด (เช่น 9.0.30) จากหน้าดาวน์โหลด Tomcat 9 หรือใช้ เครื่องมือบรรทัดคำสั่ง curl ต่อไปนี้เพื่อดาวน์โหลด tarball และแยกไฟล์เก็บถาวรไปยังไดเร็กทอรี /opt/tomcat

curl -O http://www-eu.apache.org/dist/tomcat/tomcat-9/v9.0.30/bin/apache-tomcat-9.0.30.tar.gz
sudo tar xzvf apache-tomcat-9*tar.gz -C /opt/tomcat --strip-components=1

จากนั้น กำหนดสิทธิ์ให้กับผู้ใช้ tomcat เพื่อให้สามารถเข้าถึงไดเร็กทอรีการติดตั้ง Tomcat /opt/tomcat

cd /opt/tomcat
sudo chgrp -R tomcat /opt/tomcat
sudo chmod -R g+r conf
sudo chmod g+x conf
sudo chown -R tomcat webapps/ work/ temp/ logs/

ขั้นตอนที่ 3: สร้างไฟล์บริการ Tomcat systemd

เราจะสร้างไฟล์บริการ systemd ใหม่เพื่อจัดการและเรียกใช้ Tomcat เป็นบริการภายใต้ systemd ในการสร้างไฟล์บริการ คุณควรทราบว่าติดตั้ง Java ไว้ที่ไหน เนื่องจากสิ่งนี้เรียกว่า JAVA_HOME โดยใช้คำสั่งต่อไปนี้

sudo update-java-alternatives -l

จากผลลัพธ์ข้างต้น JAVA_HOME ของเราคือ:

/usr/lib/jvm/java-1.11.0-openjdk-amd64

เมื่อเราทราบ JAVA_HOME ของเราแล้ว เราสามารถสร้างไฟล์บริการ systemd ชื่อ tomcat.service ใน /etc/systemd/system< ไดเร็กทอรีโดยการรัน

sudo nano /etc/systemd/system/tomcat.service

วางเนื้อหาต่อไปนี้ลงในไฟล์ tomcat.service ของคุณ

[Unit]
Description=Apache Tomcat Web Application Container
After=network.target

[Service]
Type=forking

Environment=JAVA_HOME=/usr/lib/jvm/java-1.11.0-openjdk-amd64
Environment=CATALINA_PID=/opt/tomcat/temp/tomcat.pid
Environment=CATALINA_HOME=/opt/tomcat
Environment=CATALINA_BASE=/opt/tomcat
Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC'
Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom'

ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh

User=tomcat
Group=tomcat
UMask=0007
RestartSec=10
Restart=always

[Install]
WantedBy=multi-user.target

จากนั้น โหลด systemd ซ้ำเพื่อใช้การเปลี่ยนแปลงใหม่ เพื่อให้ทราบเกี่ยวกับไฟล์ tomcat.service ของเรา

sudo systemctl daemon-reload

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

sudo systemctl start tomcat
systemctl status tomcat
systemctl enable tomcat

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

ในการเข้าถึงเว็บแอป manager-gui และ admin-gui ที่มาพร้อมกับ Tomcat เราต้องเปิดใช้งานการเข้าสู่ระบบ Tomcat ของเรา เซิร์ฟเวอร์โดยแก้ไขไฟล์ tomcat-users.xml ตามที่แสดง

sudo nano /opt/tomcat/conf/tomcat-users.xml

เพิ่มการกำหนดค่าต่อไปนี้ภายในแท็ก โดยมีชื่อผู้ใช้และรหัสผ่านที่ถูกต้องดังที่แสดง

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

การกำหนดค่าข้างต้นบ่งบอกว่าเพิ่มบทบาท admin-gui และ manager-gui ให้กับผู้ใช้ชื่อ “admin ” ด้วยรหัสผ่าน “tecmint123 ”.

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

ด้วยเหตุผลด้านความปลอดภัย การเข้าถึงแอป Tomcat Manager และ Host Manager จะถูกล็อคไว้ที่ localhost (เซิร์ฟเวอร์ที่ใช้งาน) ตามค่าเริ่มต้น

อย่างไรก็ตาม คุณสามารถเปิดใช้งานการเข้าถึงระยะไกลจากที่อยู่ IP ที่ระบุหรือโฮสต์หรือเครือข่ายใดๆ ไปยังแอป Tomcat Manager และ Host Manager ตามที่อธิบายไว้ด้านล่าง

สำหรับแอป Tomcat Manager ให้พิมพ์:

sudo nano /opt/tomcat/webapps/manager/META-INF/context.xml

สำหรับแอป Host Manager ให้พิมพ์:

sudo nano /opt/tomcat/webapps/host-manager/META-INF/context.xml

ข้างใน ให้ใส่ความคิดเห็นเกี่ยวกับข้อจำกัดที่อยู่ IP เพื่ออนุญาตการเข้าถึงจากเครือข่ายใดๆ

<Context antiResourceLocking="false" privileged="true" >
  <!--<Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />-->
</Context>

หรือเปิดใช้งานการเข้าถึงระยะไกลจากที่อยู่ IP ของคุณเอง 192.168.0.103 หรือจากเครือข่าย (192.168.0.0) โดยการเพิ่มที่อยู่ IP ลงในรายการ

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

บันทึกไฟล์และรีสตาร์ทบริการ Tomcat เพื่อให้การเปลี่ยนแปลงมีผล

sudo systemctl restart tomcat

ขั้นตอนที่ 6: เข้าถึง Tomcat Web Interface

หากต้องการเข้าถึงเว็บอินเทอร์เฟซ Tomcat จากเบราว์เซอร์ใดๆ คุณต้องเปิดพอร์ต 8080 เพื่ออนุญาตการรับส่งข้อมูลไปยังบริการ Tomcat บนไฟร์วอลล์โดยการพิมพ์

sudo ufw allow 8080

ตอนนี้เข้าถึงอินเทอร์เฟซการจัดการเว็บ Tomcat โดยไปที่ชื่อโดเมนของเซิร์ฟเวอร์หรือที่อยู่ IP ตามด้วยพอร์ต 8080 ในเบราว์เซอร์ของคุณ

http://server_domain_or_IP:8080

มาเข้าถึง แอปผู้จัดการ ได้ที่ URL ด้านล่าง คุณจะต้องป้อนข้อมูลรับรองบัญชี

http://server_domain_or_IP:8080/manager/html

มาเข้าถึง ผู้จัดการโฮสต์ ได้ที่ URL ด้านล่าง คุณจะต้องป้อนข้อมูลรับรองบัญชี

http://server_domain_or_IP:8080/host-manager/html/

นั่นคือทั้งหมด! การติดตั้ง Tomcat ของคุณเสร็จสมบูรณ์ ตอนนี้คุณสามารถปรับใช้และรันแอปพลิเคชันเว็บ Java ได้แล้ว หากคุณมีคำถามหรือความคิดที่จะแบ่งปัน ติดต่อเราผ่านแบบฟอร์มความคิดเห็นด้านล่าง