Apache Tomcat là gì? Hướng dẫn tải và cài đặt Tomcat A-Z 2024

Apache Tomcat là gì? Vì sao trong thời gian gần đây, Apache Tomcat lại trở nên phổ biến một cách nhanh chóng và được rất nhiều người sử dụng? Trong bài viết này, Thiết Kế Web Số 1Group sẽ giải đáp cho bạn cũng như hướng dẫn tải và cài đặt Apache Tomcat nhé!

Giới thiệu Apache Tomcat

Apache Tomcat là gì?  

Apache Tomcat là một web server HTTP được phát triển bởi Apache Software Foundation, hỗ trợ mạnh cho ứng dụng Java thay vì website tĩnh. 

Vì thế, Apache Tomcat có thể chạy nhiều bản Java chuyên biệt. Ví dụ như Java Servlet, JavaServer Pages (JSP), Java EL, và WebSocket.

Bên cạnh Java, người dùng có thể sử dụng Apache Tomcat với nhiều ngôn ngữ lập trình khác như PHP, Python, Perl,… Nhờ sự giúp đỡ của module Apache phù hợp, chẳng hạn mod_php, mod_python, mod_perl,…

Sau khi được viết, các dự án Java web sẽ được kiểm nghiệm hoàn tất trên môi trường localhost. Từ môi trường này, developer sẽ đóng gói dự án này thành file war và đẩy lên Tomcat Server để cung cấp cho người dùng. 

Ưu điểm của Apache Tomcat

  • Độ ổn định cao
  • Có tất cả các tính năng của một ứng dụng web thương mại 
  • Mã nguồn mở của Apache
  • Một số chức năng bổ sung như tomcat manager application, specialized realm implementation và tomcat valves.
  • Hỗ trợ các hệ điều hành như windows, linux, Mac OS, BSD,…
  • Các phiên bản của Apache Tomcat trùng với phiên bản và đặc điểm kỹ thuật của Servlet Java hoặc Java servlet API. 

Ví dụ: Tomcat 5.5X hỗ trợ Servlet API 2.3, Tomcat 6.0X hỗ trợ servlet API 2.4, Tomcat 7.0 hỗ trợ servlet API 3.0. Ngoài Servlet versions API, phiên bản tomcat hỗ trợ phiên bản JSP API tương ứng.

Tìm hiểu về Apache Web Server

Lưu ý: Tomcat KHÔNG phải là HTTP Apache, HTTP Apache sử dụng lệnh viết bằng ngôn ngữ C để chạy trên máy chủ HTTP.

Apache Web Server chạy trên chính phần mềm của mình chứ không phải là server vật lý. Apache có nhiệm vụ chủ yếu là thiết lập kết nối, liên kết giữa server và browser rồi chuyển file giữa chúng (cấu trúc hai chiều client – server). Ngoài ra, Apache  là một phần mềm đa nền tảng hoạt động khá mượt với cả server Unix và Windows. 

Khi người dùng tải site lên web, trình duyệt sẽ gửi đi 1 request tải trang lên phía server. Apache có nhiệm vụ trả lại kết quả đầy đủ các file, thành phần để hiển thị các trang About Us. Server và client giao tiếp qua HTTP protocol.

Không dừng lại ở đó, Apache còn là một nền tảng module với độ tùy biến cao và chuẩn xác. Modules sẽ cho phép admin của server thực hiện các chế độ như tắt hoặc thêm vào các chức năng. Apache với công dụng sở hữu các chức năng modules mang tính bảo mật caching, chứng thực mật khẩu tuyệt đối.

Hướng dẫn 3 cách cài đặt Apache Tomcat

Cài đặt Apache Tomcat trên Windows

Bước 1: Truy cập vào Tomcat.Apache.org/ -> chọn Downloads -> chọn phiên bản của TomCat  => “10.0.{xx}” -> Binary Distributions -> Core -> “zip” package.

Bước 2: Mở file vừa tải và bắt đầu cài đặt theo hướng dẫn.

Sau khi quá trình bên dưới hoàn tất, cửa sổ sẽ tự động đóng lại. Máy chủ web Apache Tomcat hiện đã được cài đặt thành công.

Bước 3: Kiểm tra xem dịch vụ Tomcat của Apache có đang chạy không bằng cách mở menu Start và tìm kiếm Services.

Trong cửa sổ Services, bạn hãy định vị dịch vụ Apache Tomcat. Cột Status cho biết dịch vụ có đang chạy hay không.

Cài đặt Apache Tomcat trên máy chủ Ubuntu

Thiết Kế Web Số 1Group thao tác trên máy chủ Ubuntu 16.04 LTS, Ubuntu 17.10 và cả phiên bản Ubuntu 18.04 LTS mới nhất.

Cài đặt Java

Bước 1: Kiểm tra xem Java đã được cài đặt chưa.

Mở terminal (Ctrl + Alt + T) và sử dụng lệnh sau để kiểm tra phiên bản Java:

java -version

Bước 2: Cài đặt OpenJDK

Nếu không có OpenJDK hoặc có phiên bản cũ hơn Java 8, bạn hãy cài đặt bản phát hành mới nhất bằng cách nhập thông tin sau:

sudo apt install default-jdk

Bước 3: Tạo User và Group Tomcat

Vì lý do bảo mật, bạn sẽ không chạy Tomcat dưới quyền root user. Thay vào đó, bạn sẽ phải tạo một Group và System User mới để chạy dịch vụ Apache Tomcat từ thư mục /opt/tomcat với câu lệnh:

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

Bước 4: Tải xuống Tomcat 9

Truy cập vào trang Tải xuống Apache Tomcat chính thức. Trên đó, tìm danh sách Binary Distributions -> Core và liên kết tar.gz . Sao chép liên kết của tập tin.

Quay trở lại terminal và thay đổi thư mục/tmp  bằng lệnh:

cd /tmp 

Tiếp theo, sử dụng lệnh curl với liên kết tar.gz mà bạn đã sao chép ở bước 2 để tải xuống gói:

curl -O https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.56/bin/apache-tomcat-9.0.56.tar.gz

Bước 5: Giải nén tệp tar.gz bằng cách tạo một thư mục /opt/tomcat/ mới bằng lệnh:

sudo mkdir /opt/tomcat

Sau đó, giải nén tệp trong thư mục mới bằng lệnh sau:

sudo tar xzvf apache-tomcat-9*tar.gz -C /opt/tomcat --strip-components=1

Bước 6: Sửa đổi quyền User Tomcat bằng cách di chuyển đến thư mục chứa cài đặt Tomcat:

cd /opt/tomcat

Tiếp theo, cấp quyền sở hữu Group và User mới đối với thư mục cài đặt tomcatbằng lệnh:

sudo chown -RH tomcat: /opt/tomcat

Cuối cùng, thay đổi quyền của tập lệnh để cấp quyền truy cập thực thi trong /opt/tomcat/bin/with:

sudo sh -c 'chmod +x /opt/tomcat/bin/*.sh'

Bước 7: Tạo System Unit File. Để định cấu hình tệp, trước tiên bạn cần tìm đường dẫn JAVA_HOME. Đây là vị trí chính xác của gói cài đặt Java. Trong Terminal, bạn hãy nhập:

sudo update-java-alternatives -l

Như hình trên, có hai phiên bản Java khả dụng. Tại đây cũng hiển thị hai đường dẫn vị trí của chúng.

Chọn phiên bản bạn muốn sử dụng và tiến hành sao chép vị trí. Cùng với đó, bạn có thể tiếp tục tạo tệp dịch vụ.

Tiếp theo, tạo và mở một tệp mới trong /etc/system/system dưới tên tomcat.service :

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

Sau khi tệp mở ra, bạn hãy sao chép và dán nội dung bên dưới, thay đổi giá trị JAVA_HOME thành thông tin bạn tìm thấy ở bước trên:

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

[Service]
Type=forking

User=tomcat
Group=tomcat

Environment="JAVA_HOME=/usr/lib/jvm/java-1.11.0-openjdk-amd64"
Environment="JAVA_OPTS=-Djava.security.egd=file:///dev/urandom -Djava.awt.headless=true"

Environment="CATALINA_BASE=/opt/tomcat"
Environment="CATALINA_HOME=/opt/tomcat"
Environment="CATALINA_PID=/opt/tomcat/temp/tomcat.pid"
Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC"

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

[Install]
WantedBy=multi-user.target

Sau đó, lưu và thoát tệp.

Để các thay đổi diễn ra, hãy tải lại daemon hệ thống bằng lệnh:

sudo systemctl daemon-reload

Bạn cũng có thể bắt đầu dịch vụ Tomcat:

sudo systemctl start tomcat

Xác minh dịch vụ Apache Tomcat đang chạy bằng lệnh:

sudo systemctl status tomcat

Bước 8: Điều chỉnh tường lửa

Nếu đang sử dụng tường lửa để bảo vệ máy chủ của mình, bạn sẽ không thể truy cập giao diện Tomcat. Tomcat sử dụng Cổng 8080 nằm ngoài mạng cục bộ của bạn.

Đầu tiên, mở Port 8080 để cho phép lưu lượng truy cập bằng lệnh:

sudo ufw allow 8080/tcp

Nếu Port đang mở, bạn có thể xem trang Apache Tomcat splash page bằng cách nhập nội dung sau vào cửa sổ trình duyệt:

http://server_ip:8080 

hoặc

http://localhost:8080

Trình duyệt web của bạn sẽ mở trang web như trong hình bên dưới:

Bước 9: Định cấu hình giao diện quản lý web

Khi đã xác minh rằng dịch vụ đã chạy đúng cách, bạn cần tạo một người dùng có thể sử dụng giao diện quản lý web với lệnh:

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

Tệp sẽ xuất hiện giống như trong hình bên dưới:

Xóa mọi thứ khỏi tệp và thêm vào như sau:

<?xml version="1.0" encoding="UTF-8"?>
<tomcat-users>
  <role rolename="manager-gui"/>
  <role rolename="manager-script"/>
  <role rolename="manager-jmx"/>
  <role rolename="manager-status"/>
  <role rolename="admin-gui"/>
  <role rolename="admin-script"/>
  <user username="admin" password="Your_Password" roles="manager-gui, manager-script, manager-jmx, manager-status, admin-gui, admin-script"/>
</tomcat-users>

Lưu ý: Đảm bảo thay thế Your_Password giá trị bằng mật khẩu mạnh theo sở thích của bạn.

Sau đó, lưu và thoát tệp.

Bước 10: Cấu hình truy cập từ xa. Điều này là bắt buộc. Vì theo mặc định, Tomcat chỉ có thể truy cập được từ máy cục bộ.

Đầu tiên các bạn mở file quản lý bằng lệnh:

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

Tiếp theo, hãy quyết định có cấp quyền truy cập từ bất cứ nơi nào hoặc từ một địa chỉ IP cụ thể.

Để cho phép truy cập từ một vị trí bất kỳ, bạn sử dụng lênh:

<Context antiResourceLocking="false" privileged="true">
<!--

<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127.d+.d+.d+|::1|0000:1" />

-->

</Context>

Để cho phép truy cập từ một địa chỉ IP cụ thể, hãy thêm IP vào lệnh trước đó, như sau:

<Context antiResourceLocking="false" privileged="true">
<!--

<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127.d+.d+.d+|::1|0000:1" />

-->

</Context>

Lặp lại quy trình tương tự cho host-manager với lệnh:

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

Cài đặt Apache Tomcat 9 trên CentOS 7

Bước 1: Tải xuống Tomcat 9 bằng cách nhập thông tin sau:

cd /tmp
wget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.56/bin/apache-tomcat-9.0.56.tar.gz

Bước 2: Giải nén tệp .tar.gz

Để giải nén tệp Tomcat tar.gz thành /opt/tomcat, bạn hãy nhập thông tin sau:

sudo tar xzvf apache-tomcat-9*tar.gz -C /opt/tomcat --strip-components=1

Bước 3: Sửa đổi quyền Tomcat User với các lệnh:

sudo chown -R tomcat:tomcat /opt/tomcat
sudo sh -c 'chmod +x /opt/tomcat/bin/*.sh'

Bước 4: Tạo System Unit File

Tìm vị trí Java bằng lệnh sau:

readlink -f $(which java)

Bạn cần sao chép thư mục mẹ của /jre/bin/java cho bước sau.

Tiếp theo, bạn hãy tạo tệp tomcat.service với lệnh:

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

Trong tệp, hãy nhập thông tin sau:

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

[Service]
Type=oneshot
RemainAfterExit=yes

User=tomcat
Group=tomcat

Environment="JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-1.el7_9.x86_64/"
Environment="JAVA_OPTS=-Djava.security.egd=file:///dev/urandom -Djava.awt.headless=true"
Environment="CATALINA_BASE=/opt/tomcat"
Environment="CATALINA_HOME=/opt/tomcat"
Environment="CATALINA_PID=/opt/tomcat/temp/tomcat.pid"
Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC"
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh

[Install]
WantedBy=multi-user.target

Dán đường dẫn từ bước trước vào dòng Environment=”JAVA_HOME=”.

Lưu và đóng tệp.

Để làm mới hệ thống, bạn nhập lênh:

sudo systemctl daemon-reload

Đặt dịch vụ Tomcat bắt đầu khi khởi động bằng lệnh:

sudo systemctl enable tomcat

Bắt đầu dịch vụ Tomcat:

sudo systemctl start tomcat

Xác minh rằng dịch vụ Tomcat đã được cài đặt và đang chạy:

sudo systemctl status tomcat

Bước 4: Điều chỉnh tường lửa. Dịch vụ Tomcat cần quyền truy cập vào Port 8080. Bạn hãy cho phép lưu lượng truy cập bằng cách nhập các lệnh:

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

Tải lại tường lửa để áp dụng tùy chọn:

Bạn có thể thấy máy chủ Tomcat trong trình duyệt web. Nhập địa chỉ web này vào cửa sổ trình duyệt:

http://server_ip:8080

Ví dụ: nếu bạn đang chạy Tomcat trên máy chủ cục bộ, hãy sử dụng:

http://localhost:8080

Thiết lập giao diện quản lý web

Để tạo người dùng truy cập vào Giao diện quản lý web, hãy chỉnh sửa tệp người dùng bằng cách nhập:

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

Xóa mọi thứ khỏi tệp và thêm vào như sau:

<tomcat-users>
<!--
Comments
-->
<role rolename="admin-gui"/>
<role rolename="manager-gui"/>
<user username="admin" password="good_password" roles="admin-gui,manager-gui"/>
</tomcat-users>

Thay thế good_password bằng mật khẩu an toàn do bạn chọn.

Lưu file và thoát. Bây giờ bạn có thể truy cập Giao diện quản lý web trong trình duyệt web. Truy cập http://server_ip:8080/manager/html để sử dụng giao diện.

Với kiến trúc linh hoạt và hiệu suất đáng tin cậy, Apache Tomcat đã trở thành một trong những máy chủ ứng dụng web phổ biến nhất trên thị trường. Hy vọng qua bài viết trên, bạn sẽ nắm được những thông tin liên quan đến Apache Tomcat và biết cách cài đặt công cụ này trên máy tính của mình. Chúc bạn thành công!

Những câu hỏi thường gặp

Tại sao tôi cài Apache Tomcat 9 không thành công?

Apache Tomcat 9 cần Java 8 mới có thể cài đặt thành công. Nếu hệ thống của bạn chưa cài đặt Java 8, hãy cài đặt Java 8.

Nên chọn phiên bản Tomcat nào?

Bạn nên lựa chọn phiên bản ra mắt trước đó. Chúng sẽ ổn định và ít bugs hơn bản mới nhất.

Cài đặt 4 file hỗ trợ cấu hình Tomcat như thế nào?

Có bốn file phục vụ cho việc cấu hình của Tomcat:

1. xml: cấu hình số cổng của TCP. Cổng mặc định của TCP cấu hình trong Tomcat là 8080, chúng ta hoàn toàn có thể thay đổi thông số này trong khoảng từ 1024 đến 65535 như đoạn code dưới đây:

<Connector port=”9999″ protocol=”HTTP/1.1″

connectionTimeout=”20000″

redirectPort=”8443″ />

2. web.xml

3. context.xml

4. tomcat-users.xml : Để kích hoạt tính năng quản lí của Tomcat, bên trong cặp thẻ <tomcat-users>:a, bạn nên thêm đoạn code này vào:

<role rolename=”manager-gui”/>

<user username=”manager” password=”xxxx” roles=”manager-gui”/>

Nên tải phiên bản Alpha, Beta hay Stable?

Nếu bạn chơi game, bạn sẽ biết các phiên bản Alpha, Beta là các phiên bản chưa ổn định và chủ yếu được sử dụng để kiểm nghiệm lỗi, cũng như để thử nghiệm sau đó phát hành bản ổn định.

Vì thế, nếu là người dùng phổ thông hoặc mới bắt đầu, bạn nên tải các phiên bản Stable để đảm bảo độ ổn định khi sử dụng.