Apache Tomcat là một web server mã nguồn mở được sử dụng rộng rãi, cho phép triển khai các ứng dụng Java web một cách dễ dàng và hiệu quả. Trong bài viết này, mình sẽ hướng dẫn bạn cách cài đặt Apache Tomcat 10 trên Ubuntu 20.04 chi tiết, cùng theo dõi ngay.
Những điểm chính
- Cài đặt Apache Tomcat 10 trên Ubuntu 20.04: Cung cấp hướng dẫn chi tiết cài đặt và vận hành Apache Tomcat 10 trên Ubuntu 20.04.
- Giới thiệu Vietnix: Giải pháp VPS tốc độ cao, đa dạng cấu hình phù hợp cho việc cài đặt Tomcat.
Hướng dẫn cách cài đặt Apache Tomcat 10 trên Ubuntu 20.04
Bước 1: Cài đặt Tomcat
Để thực hiện theo hướng dẫn bạn cần chuẩn bị một server Ubuntu 20.04 có user non-root với quyền sudo và thiết lập tường lửa.
Download Tomcat 10 với phiên bản mới nhất. Sau đó thiết lập 1 user riêng với các quyền thích hợp.
Ngoài ra bạn cũng cần cài đặt Java Development Kit (JDK).
Vì mục đích bảo mật, bạn nên chạy Tomcat thông qua một user cụ thể, không có đặc quyền. Chạy lệnh sau để tạo user mới:
sudo useradd -m -d /opt/tomcat -U -s /bin/false tomcat
Việc cung cấp /bin/false
dưới dạng shell mặc định của user sẽ đảm bảo rằng bạn không thể đăng nhập dưới dạng tomcat
.
Trước khi cài đặt JDK, bạn cần cập nhật cache của package manager bằng lệnh:
sudo apt update
Cài đặt JDK bằng cách chạy lệnh sau:
sudo apt install default-jdk
Nhấn y
để tiếp tục cài đặt.
Khi quá trình cài đặt kết thúc, hãy kiểm tra phiên bản cài đặt Java có sẵn:
java -version
Output sẽ trông như thế này:
Output
openjdk version "11.0.14" 2022-01-18
OpenJDK Runtime Environment (build 11.0.14+9-Ubuntu-0ubuntu2.20.04)
OpenJDK 64-Bit Server VM (build 11.0.14+9-Ubuntu-0ubuntu2.20.04, mixed mode, sharing)
Để cài đặt Tomcat, bạn cần có build Core Linux mới nhất cho Tomcat 10. Chọn build Core Linux mới nhất, ending bằng .tar.gz
. Tại thời điểm viết bài, phiên bản mới nhất là 10.0.20
.
Đầu tiên, điều hướng đến thư mục tmp
:
cd /tmp
Download wget
bằng cách chạy lệnh sau:
wget https://dlcdn.apache.org/tomcat/tomcat-10/v10.0.20/bin/apache-tomcat-10.0.20.tar.gz
Lệnh wget
tải xuống resource từ Internet.
Sau đó, giải nén kho lưu trữ bạn đã tải xuống bằng lệnh:
sudo tar xzvf apache-tomcat-10*tar.gz -C /opt/tomcat --strip-components=1
Vì bạn đã tạo user, giờ đây bạn có thể cấp quyền cho tomcat
sở hữu đối với bản cài đặt đã giải nén bằng lệnh sau:
sudo chown -R tomcat:tomcat /opt/tomcat/
sudo chmod -R u+x /opt/tomcat/bin
Để cài đặt và chạy Tomcat hiệu quả, máy chủ cần có hiệu suất ổn định, đủ bộ nhớ và khả năng xử lý tốt. Nếu chưa có máy chủ phù hợp, bạn có thể lựa chọn VPS Vietnix – giải pháp VPS tốc độ cao, dễ dàng nâng cấp tài nguyên. Vietnix cung cấp đa dạng gói VPS như VPS Giá Rẻ, VPS SSD, VPS NVMe,… đáp ứng mọi nhu cầu. Đội ngũ hỗ trợ 24/7 luôn sẵn sàng giúp bạn cài đặt Tomcat nhanh chóng. Liên hệ ngay để được tư vấn chọn gói phù hợp!
Bước 2: Cấu hình Users Admin
Để có quyền truy cập vào các trang Manager và Host Manager, bạn sẽ xác định user đặc quyền trong cấu hình của Tomcat. Bạn sẽ cần phải loại bỏ các hạn chế về địa chỉ IP.
User Tomcat được xác định trong /opt/tomcat/conf/tomcat-users.xml
. Mở file để chỉnh sửa bằng lệnh sau:
sudo nano /opt/tomcat/conf/tomcat-users.xml
Thêm các dòng sau vào trước tag ending:
<role rolename="manager-gui" />
<user username="manager" password="manager_password" roles="manager-gui" />
<role rolename="admin-gui" />
<user username="admin" password="admin_password" roles="manager-gui,admin-gui" />
Thay thế password bằng password riêng của bạn. Sau đó lưu và đóng file.
Tại đây, bạn xác định vai trò của hai user, manager-gui
và admin-gui
, cho phép truy cập tương ứng vào các trang Manager và Host Manager. Bạn cũng xác định các vai trò liên quan của hai user, manager
và admin
.
Theo mặc định, Tomcat được cấu hình để hạn chế quyền truy cập vào các trang admin, trừ khi kết nối đến từ chính máy chủ. Để truy cập các trang đó với user bạn vừa xác định, bạn sẽ cần chỉnh sửa file cấu hình cho các trang đó.
Để xóa hạn chế cho trang Manager, hãy mở file config của trang manager để chỉnh sửa:
sudo nano /opt/tomcat/webapps/manager/META-INF/context.xml
Comment out Valve
sẽ ra như bên dưới:
...
<Context antiResourceLocking="false" privileged="true" >
<CookieProcessor className="org.apache.tomcat.util.http.Rfc6265CookieProcessor"
sameSiteCookies="strict" />
<!-- <Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" /> -->
<Manager sessionAttributeValueClassNameFilter="java\.lang\.(?:Boolean|Integer|Long|Number|String)|org\.apache\.catalina\.filters\.Csr>
</Context>
Lưu và đóng file, làm tương tự với Host Manager
sudo nano /opt/tomcat/webapps/host-manager/META-INF/context.xml
Bước 3: Tạo một dịch vụ systemd
Dịch vụ systemd
giữ cho Tomcat chạy ngầm trong background. Dịch vụ này cũng sẽ tự động khởi động lại Tomcat trong trường hợp xảy ra error hoặc failure.
Bản thân Tomcat là một ứng dụng Java, vì vậy cần phải có thời gian để chạy Java mà bạn đã cài đặt với JDK ở bước 1. Trước khi tạo dịch vụ, bạn cần biết locate của Java. Bạn có thể tra cứu điều đó bằng cách chạy lệnh sau:
sudo update-java-alternatives -l
Output sẽ trông như sau:
Output
java-1.11.0-openjdk-amd64 1111 /usr/lib/jvm/java-1.11.0-openjdk-amd64
Lưu ý: Đường dẫn nơi Java reside, được liệt kê trong cột cuối cùng. Bạn sẽ cần đường dẫn này để xác định dịch vụ.
Bạn sẽ lưu trữ dịch vụ tomcat
trong một file có tên tomcat.service
, dưới phần /etc/systemd/system
. Tạo file để chỉnh sửa bằng lệnh:
sudo nano /etc/systemd/system/tomcat.service
Thêm các dòng sau:
[Unit]
Description=Tomcat
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"
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
RestartSec=10
Restart=always
[Install]
WantedBy=multi-user.target
Sửa đổi giá trị JAVA_HOME
nếu nó khác với giá trị bạn đã note trước đó.
Tại đây, bạn xác định một dịch vụ sẽ chạy Tomcat bằng cách thực thi các tập lệnh khởi động và shutdown mà Tomcat cung cấp. Bạn cũng đặt một vài biến môi trường (environment variables) để xác định thư mục chính (giống như /opt/tomcat
trước) và giới hạn dung lượng bộ nhớ mà Java VM có thể phân bổ (trong CATALINA_OPTS
). Khi failure, dịch vụ Tomcat sẽ tự động khởi động lại.
Khi bạn hoàn tất, hãy lưu và đóng file.
Tải lại systemd
daemon để Tomcat nhận biết được dịch vụ mới:
sudo systemctl daemon-reload
Sau đó, bạn có thể bắt đầu dịch vụ Tomcat bằng cách nhập lệnh:
sudo systemctl start tomcat
Tiếp đến, hãy check trạng thái của Tomcat để xác nhận rằng dịch vụ đã bắt đầu thành công:
sudo systemctl status tomcat
Output sẽ trông như sau:
Output
● tomcat.service - Tomcat
Loaded: loaded (/etc/systemd/system/tomcat.service; disabled; vendor preset: enabled)
Active: active (running) since Fri 2022-03-11 14:37:10 UTC; 2s ago
Process: 4845 ExecStart=/opt/tomcat/bin/startup.sh (code=exited, status=0/SUCCESS)
Main PID: 4860 (java)
Tasks: 15 (limit: 1132)
Memory: 90.1M
CGroup: /system.slice/tomcat.service
└─4860 /usr/lib/jvm/java-1.11.0-openjdk-amd64/bin/java -Djava.util.logging.config.file=/opt/tomcat/conf/logging.properties ...
Nhấn q
để thoát lệnh.
Để cho phép Tomcat khởi động cùng hệ thống, hãy chạy lệnh sau:
sudo systemctl enable tomcat
Bước 4: Truy cập Giao diện Web
Lúc này dịch vụ Tomcat đang chạy, bạn có thể cấu hình tường lửa để cho phép kết nối với Tomcat. Sau đó, bạn có thể truy cập giao diện web.
Tomcat sử dụng cổng 8080
để accept các yêu cầu HTTP. Chạy lệnh sau để cho phép lưu lượng truy cập vào cổng đó:
sudo ufw allow 8080
Trong trình duyệt của bạn, bây giờ bạn có thể truy cập Tomcat bằng cách điều hướng đến địa chỉ IP của server của bạn:
http://your_server_ip:8080
Bạn sẽ thấy trang chủ mặc định của Tomcat:

Bây giờ bạn đã verified rằng dịch vụ Tomcat đang hoạt động.
Nhấn vào nút Manager App ở bên phải. Bạn sẽ được nhắc nhập thông tin đăng nhập tài khoản mà bạn đã xác định ở bước trước.
Bạn sẽ thấy một trang giống như sau:

Trình quản lý ứng dụng web được sử dụng để quản lý các ứng dụng Java của bạn. Bạn có thể bắt đầu, dừng, reload, deploy và undeploy chúng từ đây. Bạn cũng có thể chạy một số diagnostics trên app của mình (ví dụ: để tìm memory bị leaks). Thông tin về server của bạn nằm ở cuối trang này.
Bây giờ, hãy xem Host Manager, bạn có thể truy cập bằng cách nhấn nút Host Manager nằm trên trang chủ:

Tại đây, bạn có thể thêm các virtual host để khởi chạy các ứng dụng của mình. Hãy nhớ rằng trang này không thể truy cập được bởi những user không được admin-gui
chỉ định, chẳng hạn như manager
.
Vietnix – Giải pháp VPS hàng đầu, tối ưu hiệu suất kinh doanh
Vietnix là nhà cung cấp giải pháp VPS, hosting, tên miền và Firewall chống DDoS,… uy tín tại Việt Nam. Với nhiều năm kinh nghiệm, Vietnix đã phục vụ hơn hàng chục nghìn khách hàng cá nhân và doanh nghiệp, bao gồm iVIVU, Vietnamworks, SEOSONA, SAGO Media,… cùng hơn 100.000 dịch vụ được kích hoạt.
Vietnix luôn đặt sự hài lòng của khách hàng lên hàng đầu, với hơn 97% khách hàng giới thiệu dịch vụ cho người thân, bạn bè và đối tác. Chất lượng dịch vụ của Vietnix đã được khẳng định qua giải thưởng Thương hiệu Việt Nam xuất sắc năm 2022, chứng nhận ISO 9001:2015, chứng nhận ISO 27001:2022,…
Với đội ngũ chuyên gia tận tâm, Vietnix cam kết mang đến giải pháp VPS mạnh mẽ, giúp tối ưu chi phí và nâng cao hiệu quả vận hành. Lựa chọn Vietnix, bạn sẽ có một đối tác đáng tin cậy trên hành trình phát triển kinh doanh.
Thông tin liên hệ:
- Địa chỉ: 265 Hồng Lạc, Phường 10, Quận Tân Bình, Thành Phố Hồ Chí Minh
- Hotline: 1800 1093
- Email: sales@vietnix.com.vn
- Website: https://vietnix.vn/
Qua bài viết này, bạn đã nắm được các bước chi tiết để cài đặt Apache Tomcat 10 trên Ubuntu 20.04, từ việc chuẩn bị môi trường, tải và cấu hình Tomcat, đến kiểm tra hoạt động của ứng dụng. Với Tomcat, bạn có thể triển khai các ứng dụng Java web một cách dễ dàng và hiệu quả. Hy vọng hướng dẫn này sẽ giúp bạn xây dựng được một môi trường máy chủ ổn định và sẵn sàng cho các dự án của mình. Chúc bạn thành công!