Apache Tomcat hay "Tomcat" là một trình chứa Java Servlet mã nguồn mở và miễn phí cho mã Java và các ứng dụng. Ban đầu được Sun Microsystem tạo ra, sau đó tặng cơ sở mã cho Apache Software Foundation và phân phối theo Giấy phép Apache v2. Apache Tomcat cung cấp một môi trường máy chủ HTTP "thuần Java" trong đó mã Java có thể chạy. Nó cũng là một triển khai của các công nghệ JavaServer Pages, Java Expression Language và WebSocket.
Tomcat là một trong những triển khai Java Servlet phổ biến nhất. Nó hỗ trợ SSL để bảo mật dữ liệu nhạy cảm như xác thực. Và nó cũng nhẹ về tài nguyên máy chủ và đa nền tảng, có thể được cài đặt trên các hệ điều hành giống Unix, Windows và macOS.
Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn các hướng dẫn từng bước về cách cài đặt Apache Tomcat Java Server trên máy chủ Ubuntu 22.04. Bài đăng này sẽ trình bày hai phương pháp khác nhau để cài đặt Apache Tomcat trên hệ thống Ubuntu và cách thiết lập Apache2 làm proxy ngược cho ứng dụng Apache Tomcat.
Trước khi cài đặt bất kỳ gói nào, hãy chạy lệnh apt bên dưới để cập nhật và làm mới kho lưu trữ Ubuntu của bạn.
Bây giờ hãy cài đặt Java OpenJDK bằng lệnh sau. Lệnh này sẽ cài đặt phiên bản OpenJDK mặc định do kho lưu trữ Ubuntu cung cấp, đó là OpenJDK v11. Bây giờ hãy nhập Y để xác nhận cài đặt và nhấn ENTER, quá trình cài đặt OpenJDK sẽ bắt đầu.
Sau khi quá trình cài đặt OpenJDK hoàn tất, hãy chạy lệnh java bên dưới để kiểm tra và xác minh phiên bản Java OpenJDK. Bạn sẽ nhận được kết quả đầu ra của OpenJDK v11 được cài đặt trên máy Ubuntu của mình.
Để biết thông tin chi tiết về gói Apache Tomcat 9, hãy chạy lệnh sau. NHƯ bạn thấy, Apache Tomcat 9 có sẵn trên phần kho lưu trữ "universe/java" của Ubuntu và được bảo trì bởi Ubuntu Developers.
Bây giờ hãy chạy lệnh apt bên dưới để cài đặt các gói Apache Tomcat 9 vào hệ thống của bạn. Nhập Y để xác nhận cài đặt và nhấn ENTER, quá trình cài đặt sẽ bắt đầu.
Sau khi quá trình cài đặt Apache Tomcat hoàn tất, hãy chạy lệnh bên dưới để kiểm tra và xác minh dịch vụ Apache Tomcat "tomcat9". Bạn sẽ thấy dịch vụ "tomcat9" được bật, dịch vụ này sẽ tự động chạy khi khởi động hệ thống. Và trạng thái hiện tại của dịch vụ "tomcat9" đang chạy.
Bằng cách cài đặt Apache Tomcat từ kho lưu trữ Ubuntu APT, bạn nên biết một số cấu hình quan trọng cho Apache Tomcat:
Để cài đặt Apache Tomcat theo cách thủ công bằng Binary Distribution, bạn nên làm theo các bước dưới đây:
Trước tiên, bạn phải tạo một người dùng mới có tên là "tomcat" trên hệ thống của mình. Chạy lệnh sau.
Bây giờ hãy tải xuống Bản phân phối nhị phân Apache Tomcat bằng lệnh bên dưới. Trong ví dụ này, bạn sẽ cài đặt Apache Tomcat 10.0.22.
Tiếp theo, chạy lệnh sau để tạo thư mục cài đặt mới cho Apache Tomcat "/opt/tomcat" và giải nén Gói nhị phân của Apache Tomcat vào đó.
Chạy lệnh bên dưới để tạo liên kết tượng trưng mới của thư mục Apache Tomcat tới "/opt/tomcat/latest". Điều này sẽ giúp thư mục cài đặt Apache của bạn dễ dàng hơn, đó là thư mục "/opt/tomcat/latest".
Tiếp theo, hãy thay đổi quyền sở hữu của thư mục cài đặt Apache Tomcat chính "/opt/tomcat" thành đúng người dùng và nhóm có tên "tomcat".
Tại thời điểm này, bạn đã hoàn tất quá trình cài đặt cơ bản của Apache Tomcat bằng Phân phối nhị phân.
Bây giờ, bạn sẽ cần tạo một tệp dịch vụ systemd mới để thiết lập Apache Tomcat thành một dịch vụ systemd. Điều này sẽ giúp bạn dễ dàng quản lý quy trình Apache Tomcat hơn.
Để thiết lập Apache Tomcat thành một dịch vụ systemd, bạn phải tạo một dịch vụ hệ thống mới. Chạy lệnh sau để tạo nó.
Thêm cấu hình sau vào tệp.
Lưu và đóng tệp khi bạn hoàn tất.
Tiếp theo, tải lại trình quản lý systemd để áp dụng các thay đổi mới trên systemd bằng cách sử dụng lệnh bên dưới lệnh.
Bây giờ bạn có thể khởi động và kích hoạt dịch vụ Apache Tomcat bằng lệnh bên dưới. Dịch vụ Apache Tomcat đã được kích hoạt và sẽ hoạt động.
Chạy lệnh bên dưới để kiểm tra và xác minh dịch vụ Apache Tomcat. Và bạn sẽ thấy dịch vụ Apache Tomcat đang chạy.
Cuối cùng, hãy mở trình duyệt web và truy cập địa chỉ IP máy chủ của bạn theo sau là cổng Apache Tomcat mặc định "8080" (tức là: http://192.169.5.75:8080/). Và bạn sẽ thấy trang chỉ mục mặc định của cài đặt Apache Tomcat.
Nếu bạn đã cài đặt Apache Tomcat thông qua kho lưu trữ Ubuntu APT, hãy chỉnh sửa tệp cấu hình "/etc/tomcat9/tomcat-users.xml" bằng lệnh sau.
Và nếu bạn đã cài đặt Apache Tomcat thông qua Phân phối nhị phân, bạn sẽ cần chỉnh sửa tệp cấu hình "/opt/tomcat/latest/tomcat-users.xml" bằng lệnh sau.
Thêm cấu hình sau vào bên trong Phần "<tomcat-users>.....</tomcat-users>". Hãy chắc chắn thay đổi tên người dùng "admin" và mật khẩu "tomcatadmin".
Lưu và đóng tệp khi bạn hoàn tất.
Tiếp theo, chỉnh sửa tệp cấu hình "context.xml" bên trong cả hai thư mục Tomcat "manager" và "host-manager".
Đối với Apache Tomcat được cài đặt thông qua kho lưu trữ Ubuntu APT, hãy chạy lệnh bên dưới.
Đối với Apache Tomcat được cài đặt thông qua Phân phối nhị phân, hãy chạy lệnh bên dưới.
Bây giờ bạn có hai tùy chọn khác nhau để thiết lập trình quản lý Tomcat và trình quản lý máy chủ:
Để công khai trình quản lý Apache Tomcat và trình quản lý máy chủ, hãy sử dụng cấu hình sau. Bằng cách đặt chú thích bên trong cấu hình "<Valve className="org.apache.catalina.valves.RemoteAddrValve"".
Nhưng nếu bạn muốn làm cho trình quản lý Apache Tomcat và trình quản lý máy chủ khả dụng cho địa chỉ IP của máy khách cụ thể, bạn có thể sử dụng cấu hình sau.
Lưu và đóng tệp khi bạn hoàn tất.
Cuối cùng, chạy lệnh sau để khởi động lại dịch vụ Apache Tomcat và áp dụng các thay đổi mới cho các tệp cấu hình Tomcat.
Đối với Apache Tomcat được cài đặt thông qua kho lưu trữ Ubuntu APT, tệp dịch vụ được gọi là "tomcat9".
Đối với Apache Tomcat được cài đặt thông qua Phân phối nhị phân, dịch vụ mà bạn vừa tạo được gọi là "tomcat".
Bây giờ bạn có thể truy cập trình quản lý ứng dụng web Apache Tomcat thông qua đường dẫn URL "/manager" (tức là: http://192.168.5.75:8080/manager/) và có thể truy cập trình quản lý máy chủ thông qua URL pat "/host-manager" (tức là: http://192.168.5.75:8080/host-manager). Khi bạn cố gắng đăng nhập vào trình quản lý Tomcat và trình quản lý máy chủ, bạn sẽ được yêu cầu nhập tên người dùng và mật khẩu quản trị Tomcat mà bạn vừa xác định trên tệp cấu hình "tomcat-users.xml".
Dưới đây là ảnh chụp màn hình của trình quản lý ứng dụng web Apache Tomcat.
Và dưới đây là ảnh chụp màn hình của Trình quản lý máy chủ Apache Tomcat.
Chạy lệnh apt bên dưới để cài đặt máy chủ web Apache2 vào hệ thống Ubuntu của bạn. Nhập Y để xác nhận cài đặt và nhấn ENTER, quá trình cài đặt sẽ bắt đầu.
Sau khi quá trình cài đặt Apache2 hoàn tất, hãy chạy lệnh bên dưới để kích hoạt mô-đun Apache "proxy" và "proxy_http". Các mô-đun này sẽ được sử dụng cho proxy ngược cho các ứng dụng Apache Tomcat.
Tiếp theo, tạo cấu hình máy chủ ảo mới "/etc/apache2/sites-available/tomcat.conf" bằng lệnh sau.
Thêm cấu hình sau vào tệp. trong bản demo này, bạn sẽ thiết lập proxy ngược cho trang chỉ mục mặc định của Apache Tomcat và "examples" của ứng dụng Tomcat. Khi bạn truy cập miền "howtoforge.local", bạn sẽ thấy trang chỉ mục mặc định của Apache Tomcat. Và nếu bạn truy cập "howtoforge.local/examples/", bạn sẽ thấy các ví dụ về ứng dụng Tomcat.
Lưu và đóng tệp khi bạn hoàn tất.
Bây giờ hãy chạy lệnh bên dưới để kích hoạt cấu hình máy chủ ảo "tomcat.conf". Sau đó, hãy kiểm tra và xác minh cấu hình Apache2 của bạn. Và bạn sẽ nhận được thông báo đầu ra như "Cú pháp OK".
Cuối cùng, hãy khởi động lại dịch vụ Apache2 để áp dụng các thay đổi mới cho cấu hình máy chủ ảo.
Bây giờ hãy quay lại trình duyệt web của bạn và truy cập tên miền cài đặt Apache Tomcat của bạn (ví dụ: http:howtoforge.local). Và bạn sẽ nhận được trang chỉ mục mặc định của Apache Tomcat.
Để truy cập ứng dụng Tomcat "examples", bạn chỉ cần thêm đường dẫn URL "/examples" (tức là: http://howtoforge.local/examples/). Và bạn sẽ nhận được ứng dụng Tomcat "examples".
Nếu bạn đang ở trong môi trường cục bộ, bạn chỉ cần chỉnh sửa tệp "/etc/hosts" trên máy tính của mình và xác định địa chỉ IP của máy chủ và tên miền của bạn.
Tomcat là một trong những triển khai Java Servlet phổ biến nhất. Nó hỗ trợ SSL để bảo mật dữ liệu nhạy cảm như xác thực. Và nó cũng nhẹ về tài nguyên máy chủ và đa nền tảng, có thể được cài đặt trên các hệ điều hành giống Unix, Windows và macOS.
Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn các hướng dẫn từng bước về cách cài đặt Apache Tomcat Java Server trên máy chủ Ubuntu 22.04. Bài đăng này sẽ trình bày hai phương pháp khác nhau để cài đặt Apache Tomcat trên hệ thống Ubuntu và cách thiết lập Apache2 làm proxy ngược cho ứng dụng Apache Tomcat.
Điều kiện tiên quyết
Trước khi bắt đầu với hướng dẫn này, bạn phải có các yêu cầu sau:- Máy chủ Ubuntu 22.04
- Người dùng root hoặc người dùng không phải root có quyền sudo/root/administrator.
Cài đặt Java OpenJDK
Apache Tomcat là ứng dụng dựa trên Java. Trong phần này, bạn sẽ cài đặt gói Java OpenJDK vào máy chủ Ubuntu trước khi bắt đầu cài đặt Apache Tomcat. Kho lưu trữ Ubuntu mặc định cung cấp Java OpenJDK v11, phù hợp với phiên bản mới nhất của cài đặt Apache Tomcat, cả Tomcat v9 và Tomcat v10.Trước khi cài đặt bất kỳ gói nào, hãy chạy lệnh apt bên dưới để cập nhật và làm mới kho lưu trữ Ubuntu của bạn.
Mã:
sudo apt update
Mã:
sudo apt install default-jdk
Sau khi quá trình cài đặt OpenJDK hoàn tất, hãy chạy lệnh java bên dưới để kiểm tra và xác minh phiên bản Java OpenJDK. Bạn sẽ nhận được kết quả đầu ra của OpenJDK v11 được cài đặt trên máy Ubuntu của mình.
Mã:
java -version
Cài đặt Apache Tomcat
Trên các hệ thống Ubuntu, Apache Tomcat có thể được cài đặt theo hai cách khác nhau:- Từ kho lưu trữ Ubuntu APT: Phiên bản mới nhất của Ubuntu 22.04 cung cấp gói Apache Tomcat phiên bản 9. Vì vậy, điều này phù hợp nếu bạn chỉ cần Apache Tomcat cho ứng dụng của mình, nhưng không phải phiên bản Tomcat cụ thể.
- Từ Phân phối nhị phân: Cách này là cài đặt Apache Tomcat theo cách thủ công vào hệ thống Ubuntu của bạn, phù hợp hơn nếu bạn muốn cài đặt phiên bản Apache Tomcat cụ thể. Bạn có thể tải xuống phiên bản Apache Tomcat cụ thể khi cần. Sau đó, cài đặt thủ công từng bước trên hệ thống của bạn.
Từ kho lưu trữ Ubuntu APT
Trước khi cài đặt Apache Tomcat, hãy chạy lệnh sau để kiểm tra và xác minh các gói có sẵn có tên "tomcat". Và bạn sẽ thấy kho lưu trữ Ubuntu 22.04 cung cấp Apache Tomcat v9. "tomcat9" là gói chính của Apache Tomcat, "tomcat9-admin" là gói chứa các ứng dụng web quản trị cho Apache Tomcat và "tomcat9-examples" là ví dụ về các ứng dụng Apache Tomcat từ "hello world" đơn giản đến API.
Mã:
sudo apt search tomcat
Để biết thông tin chi tiết về gói Apache Tomcat 9, hãy chạy lệnh sau. NHƯ bạn thấy, Apache Tomcat 9 có sẵn trên phần kho lưu trữ "universe/java" của Ubuntu và được bảo trì bởi Ubuntu Developers.
Mã:
sudo apt info tomcat9
Bây giờ hãy chạy lệnh apt bên dưới để cài đặt các gói Apache Tomcat 9 vào hệ thống của bạn. Nhập Y để xác nhận cài đặt và nhấn ENTER, quá trình cài đặt sẽ bắt đầu.
Mã:
sudo apt install tomcat9 tomcat9-admin tomcat9-examples
Sau khi quá trình cài đặt Apache Tomcat hoàn tất, hãy chạy lệnh bên dưới để kiểm tra và xác minh dịch vụ Apache Tomcat "tomcat9". Bạn sẽ thấy dịch vụ "tomcat9" được bật, dịch vụ này sẽ tự động chạy khi khởi động hệ thống. Và trạng thái hiện tại của dịch vụ "tomcat9" đang chạy.
Mã:
sudo systemctl is-enabled tomcat9
sudo systemctl status tomcat9
Bằng cách cài đặt Apache Tomcat từ kho lưu trữ Ubuntu APT, bạn nên biết một số cấu hình quan trọng cho Apache Tomcat:
- /etc/default/tomcat9 - Cấu hình mặc định để quản lý như "JAVA_OPTS", "JSP_COMPILER" và nhiều cấu hình khác liên quan đến quá trình bắt đầu Apache Tomcat.
- /etc/tomcat9/ - Thư mục chính cho các tệp cấu hình Apache Tomcat.
- /var/lib/tomcat9 - Thư mục dữ liệu cho Apache Tomcat, chứa các "webapp" mặc định cho Apache Tomcat.
- /usr/share/tomcat9-admin/ - Thư mục chính cho ứng dụng web quản trị Tomcat.
Từ Binary Distribution
Bây giờ nếu bạn cần một Apache Tomcat cụ thể cho ứng dụng của mình, thì bạn sẽ cần cài đặt thủ công từ Binary Distribution. Trong ví dụ sau, bạn sẽ cài đặt phiên bản mới nhất của Apache Tomcat v10 trên máy chủ Ubuntu theo cách thủ công bằng Binary Distribution.Để cài đặt Apache Tomcat theo cách thủ công bằng Binary Distribution, bạn nên làm theo các bước dưới đây:
Trước tiên, bạn phải tạo một người dùng mới có tên là "tomcat" trên hệ thống của mình. Chạy lệnh sau.
Mã:
sudo useradd -m -u -d /opt/tomcat -s /usr/sbin/nologin tomcat
Mã:
export VERSION=10.0.22
wget https://www-eu.apache.org/dist/tomcat/tomcat-10/v${VERSION}/bin/apache-tomcat-${VERSION}.tar.gz
Mã:
mkdir -p /opt/tomcat
sudo tar -xf apache-tomcat-${VERSION}.tar.gz -C /opt/tomcat
Mã:
sudo ln -s /opt/tomcat/apache-tomcat-${VERSION} /opt/tomcat/latest
Mã:
sudo chown -R tomcat:tomcat /opt/tomcat
Bây giờ, bạn sẽ cần tạo một tệp dịch vụ systemd mới để thiết lập Apache Tomcat thành một dịch vụ systemd. Điều này sẽ giúp bạn dễ dàng quản lý quy trình Apache Tomcat hơn.
Để thiết lập Apache Tomcat thành một dịch vụ systemd, bạn phải tạo một dịch vụ hệ thống mới. Chạy lệnh sau để tạo nó.
Mã:
sudo nano /etc/systemd/system/tomcat.service
Mã:
[Unit]
Description=Tomcat 10 servlet container
After=network.target
[Service]
Type=forking
User=tomcat
Group=tomcat
Environment="JAVA_HOME=/usr/lib/jvm/default-java"
Environment="JAVA_OPTS=-Djava.security.egd=file:///dev/urandom -Djava.awt.headless=true"
Environment="CATALINA_BASE=/opt/tomcat/latest"
Environment="CATALINA_HOME=/opt/tomcat/latest"
Environment="CATALINA_PID=/opt/tomcat/latest/temp/tomcat.pid"
Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC"
ExecStart=/opt/tomcat/latest/bin/startup.sh
ExecStop=/opt/tomcat/latest/bin/shutdown.sh
[Cài đặt]
WantedBy=multi-user.target
Tiếp theo, tải lại trình quản lý systemd để áp dụng các thay đổi mới trên systemd bằng cách sử dụng lệnh bên dưới lệnh.
Mã:
sudo systemctl daemon-reload
Mã:
sudo systemctl enable tomcat
sudo systemctl start tomcat
Mã:
sudo systemctl status tomcat
Cuối cùng, hãy mở trình duyệt web và truy cập địa chỉ IP máy chủ của bạn theo sau là cổng Apache Tomcat mặc định "8080" (tức là: http://192.169.5.75:8080/). Và bạn sẽ thấy trang chỉ mục mặc định của cài đặt Apache Tomcat.
Cấu hình giao diện Quản lý Web
Trong phần này, bạn sẽ thiết lập xác thực cho giao diện quản lý và quản trị web Apache Tomcat. Bạn sẽ thiết lập người dùng quản trị cho quản trị Apache Tomcat thông qua tệp cấu hình "tomcat-users.xml", có sẵn trong thư mục "conf" của Apache Tomcat.Nếu bạn đã cài đặt Apache Tomcat thông qua kho lưu trữ Ubuntu APT, hãy chỉnh sửa tệp cấu hình "/etc/tomcat9/tomcat-users.xml" bằng lệnh sau.
Mã:
sudo nano /etc/tomcat9/tomcat-users.xml
Mã:
sudo nano /opt/tomcat/latest/tomcat-users.xml
Mã:
Tiếp theo, chỉnh sửa tệp cấu hình "context.xml" bên trong cả hai thư mục Tomcat "manager" và "host-manager".
Đối với Apache Tomcat được cài đặt thông qua kho lưu trữ Ubuntu APT, hãy chạy lệnh bên dưới.
Mã:
sudo nano /usr/share/tomcat9-admin/host-manager/META-INF/context.xml
sudo nano /usr/share/tomcat9-admin/manager/META-INF/context.xml
Mã:
sudo nano /opt/tomcat/latest/webapps/host-manager/META-INF/context.xml
sudo nano /opt/tomcat/latest/webapps/manager/META-INF/context.xml
Để công khai trình quản lý Apache Tomcat và trình quản lý máy chủ, hãy sử dụng cấu hình sau. Bằng cách đặt chú thích bên trong cấu hình "<Valve className="org.apache.catalina.valves.RemoteAddrValve"".
Mã:
Mã:
Cuối cùng, chạy lệnh sau để khởi động lại dịch vụ Apache Tomcat và áp dụng các thay đổi mới cho các tệp cấu hình Tomcat.
Đối với Apache Tomcat được cài đặt thông qua kho lưu trữ Ubuntu APT, tệp dịch vụ được gọi là "tomcat9".
Mã:
sudo systemctl restart tomcat9
Mã:
sudo systemctl restart tomcat
Dưới đây là ảnh chụp màn hình của trình quản lý ứng dụng web Apache Tomcat.
Và dưới đây là ảnh chụp màn hình của Trình quản lý máy chủ Apache Tomcat.
Thiết lập máy chủ web Apache làm proxy ngược
Lúc này, bạn đã hoàn tất quá trình cài đặt Apache Tomcat. Ở bước tiếp theo, bạn sẽ tìm hiểu cách thiết lập máy chủ web Apache2 làm proxy ngược cho ứng dụng Apache Tomcat của mình. Để thực hiện điều đó, bạn sẽ cần cài đặt máy chủ web Apache2, thiết lập máy chủ ảo mới và bật một số mô-đun Apache2.Chạy lệnh apt bên dưới để cài đặt máy chủ web Apache2 vào hệ thống Ubuntu của bạn. Nhập Y để xác nhận cài đặt và nhấn ENTER, quá trình cài đặt sẽ bắt đầu.
Mã:
sudo apt install apache2
Sau khi quá trình cài đặt Apache2 hoàn tất, hãy chạy lệnh bên dưới để kích hoạt mô-đun Apache "proxy" và "proxy_http". Các mô-đun này sẽ được sử dụng cho proxy ngược cho các ứng dụng Apache Tomcat.
Mã:
sudo a2enmod proxy proxy_http
Mã:
sudo nano /etc/apache2/sites-available/tomcat.conf
Mã:
ServerName howtoforge.local
ProxyRequests On
ProxyPass / http://localhost:8080/
ProxyPassReverse / http://localhost:8080/
ProxyPass /examples http://localhost:8080/examples/
ProxyPassReverse /examples http://localhost:8080/examples/
Order allow,deny
Allow from all
Order allow,deny
Allow from all
Bây giờ hãy chạy lệnh bên dưới để kích hoạt cấu hình máy chủ ảo "tomcat.conf". Sau đó, hãy kiểm tra và xác minh cấu hình Apache2 của bạn. Và bạn sẽ nhận được thông báo đầu ra như "Cú pháp OK".
Mã:
sudo a2ensite tomcat.conf
sudo apachectl configtest
Mã:
sudo systemctl restart apache2
Để truy cập ứng dụng Tomcat "examples", bạn chỉ cần thêm đường dẫn URL "/examples" (tức là: http://howtoforge.local/examples/). Và bạn sẽ nhận được ứng dụng Tomcat "examples".
Nếu bạn đang ở trong môi trường cục bộ, bạn chỉ cần chỉnh sửa tệp "/etc/hosts" trên máy tính của mình và xác định địa chỉ IP của máy chủ và tên miền của bạn.