Apache Tomcat là một web server mã nguồn mở được phát triển bởi tập đoàn Apache. Tomcat không phải là một web server đa dụng như Apache hoặc Nginx, mục đích chính của nó là cung cấp một môi trường dùng để thực thi các ứng dụng thuần Java, Java Servlet và JavaServer Pages.
Trong bài viết trước, mình đã chia sẻ những bước cài đặt và cấu hình cơ bản Tomcat 9 trên nền tảng hệ điều hành CentOS 7. Tuy nhiên, với một đòn đau từ Red Hat (ngưng hỗ trợ CentOS 7 đến hết 30/6/2024 và CentOS 8 đến hết năm 2021) nhằm mục đích ép một lượng lớn người dùng chuyển sang bản OS trên nền tảng cloud (bản quyền).
Do đó, trong nội dung bài viết này, mình sẽ tiếp tục hướng dẫn triển khai Tomcat 9 trên Ubuntu 20.04 để các bạn có phương án chuyển đổi cho hệ thống web server hiện tại.
Cài đặt và cấu hình Tomcat service
Bước 1 – Cài đặt Java
Tomcat 9 yêu cầu Java SE 8 (hoặc cao hơn) phải được cài đặt trên CentOS. Bạn có thể cài đặt Java từ kho lưu trữ gói mặc định bằng lệnh yum như sau:
$ sudo apt update $ sudo apt install default-jdk -y
Sau khi quá trình cài đặt hoàn tất, bạn có thể kiểm tra lại phiên bản Java bằng lệnh bên dưới:
# java -version
Bước 2 – Tạo Tomcat System User
Vì lý do bảo mật, Tomcat nên được thực thi bởi một user được cấp quyền riêng (không phải user root). Chúng ta sẽ tạo một user và group để thực thi Tomcat.
Đầu tiên, bạn tạo group bằng lệnh
$ groupadd tomcat
Sau đó, tạo một user tomcat (là thành viên của group tomcat) với thư mục home /opt/tomcat (thư mục cài đặt Tomcat ở bước sau) và tắt quyền truy cập vào server:
$ useradd -M -s /bin/nologin -g tomcat -d /opt/tomcat tomcat
Bước 3 – Download Tomcat
Bạn có thể sử dụng lệnh wget như sau để tải về phiên bản tomcat 9 mới nhất
$ wget https://downloads.apache.org/tomcat/tomcat-9/v9.0.31/bin/apache-tomcat-9.0.31.tar.gz
Tiếp theo, bạn tiến hành giải nén file .tar.gz vào thư mục cài đăt Tomcat (/opt/tomcat) bằng lệnh sau:
$ tar -xzvf apache-tomcat-9.0.31.tar.gz -C /opt/tomcat --strip-components=1
Bước 4 – Cập nhật quyền thực thi
Để user tomcat có thể truy cập vào thư mục cài đặt Tomcat, bạn lần lượt thiết lập quyền như sau:
– Gán quyền sỡ hữu thư mục cài đặt Tomcat cho group tomcat
$ cd /opt/tomcat $ chgrp -R tomcat /opt/tomcat
– Kế tiếp, thiết lập quyền đọc và thực thi thư mục conf (và tất cả nội dung con bên trong) cho group tomcat.
$ chmod -R g+r conf $ chmod g+x conf
Sau cùng, bạn gán user tomcat sở hữu các thư mục webapps, work, temp và logs như sau
$ chown -R tomcat webapps/ work/ temp/ logs/
Bước 5 – Tạo file Systemd Unit cho Tomcat
Để Tomcat hoạt động như một dịch vụ trên CentOS 7, bạn cần tạo mới một file Tomcat Systemd unit.
Tạo và mở file unit bằng lệnh sau:
$ vi /etc/systemd/system/tomcat.service
Thêm nội dung bên dưới vào file.
$ Systemd unit file for tomcat
[Unit]
Description=Apache Tomcat Web Application Container
After=syslog.target network.target
[Service]
Type=forking
Environment=JAVA_HOME=/usr/lib/jvm/jre
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=/bin/kill -15 $MAINPID
User=tomcat
Group=tomcat
UMask=0007
RestartSec=10
Restart=always
[Install]
WantedBy=multi-user.target
Tiếp theo, bạn thực thi lệnh sau để khởi động lại Systemd để nhận file Tomat unit
$ systemctl daemon-reload
Sau cùng, bạn lần lượt thực thi những lệnh sau để khởi động, bật chế độ chạy nền và kiểm tra trạng thái của Tomcat.
$ systemctl start tomcat $ systemctl enable tomcat $ systemctl status tomcat
Cấu hình giao diện web quản trị Tomcat
1. Cấu hình
Sau khi hoàn tât các bước cài đặt và cấu hình cơ bản, bạn đã có thể truy cập trang Tomcat mặc định như trên. Tuy nhiên, vì lý do bảo mật nên bạn cần tạo thêm user để có thể truy cập trang quản trị Tomcat manager.
User Tomcat và các quyền sẽ được định nghĩa trong file tomcat-users.xml. Bạn mở file /opt/tomcat/latest/conf/tomcat-users.xml, tìm và thêm nội dung bên dưới vào bên trong thẻ <tomcat-users>…</tomcat-users>
<role rolename="admin-gui"/>
<role rolename="manager-gui"/>
<user username="admin" password="admin_password" roles="admin-gui,manager-gui"/>
Lưu ý:
- rolename=”admin-gui” và “manager-gui” lần lượt các quyền truy cập vào trang quản trị Tomcat và trang quản lý webapps.
- Thay đổi các giá trị username và password tương ứng với hệ thống của bạn.
Theo mặc định, giao diện quản trị Tomcat chỉ cho phép truy cập từ localhost, để có thể truy cập từ một remote IP hoặc bất kỳ đâu, bạn thực hiện những điều chỉnh như sau:
Lần lượt mở các file /opt/tomcat/webapps/manager/META-INF/context.xml và /opt/tomcat/webapps/host-manager/META-INF/context.xml, khóa hoặc xóa bỏ nội dung bên dưới trong thẻ <Context>…</Context>
Khởi động lại Tomcat để những điều chỉnh có tác dụng bằng lệnh sau:
$ systemctl restart tomcat
2. Kiểm tra cấu hình
Sau khi hoàn tất các thiết lập, bạn truy cập lại giao diện quản trị Tomcat theo đường dẫn: http://<your_domain_or_IP_address>:8080
Bạn lần lượt truy cập vào Server Status, Manage App và Host Manager, sau khi hoàn tất bước xác thực Tomcat User sẽ được kết quả tương tự như sau:
- Server Status
- Manage App
- Host-Manager
Kết luận
Như vậy là mình đã hoàn thành bài viết hướng dẫn những bước cài đặt và cấu hình Tomcat 9 cơ bản nhất trên Ubuntu 20.04. Bạn có thể truy cập trang Tài liệu Tomcat 9 của Apache để tìm hiểu thêm những thiết lập nâng cao khác.
Trong bài viết sau, mình sẽ tiếp tục chia sẻ hướng dẫn quản trị và deploy ứng dụng Java lêm Tomcat server. Các bạn nhớ theo dõi nhé!
Để lại một phản hồi