Hướng dẫn cài đặt và cấu hình Apache Tomcat 8 trên môi trường Linux

Để triển khai các ứng dụng web Java Servlet và JSP, việc cài đặt một máy chủ servlet container như Apache Tomcat là thiết yếu. Bài viết này hướng dẫn quy trình cài đặt Tomcat 8, thiết lập biến môi trường, cấu hình máy chủ ảo (Virtual Host) và bảo mật giao diện quản trị trên hệ điều hành Linux.

1. Chuẩn bị môi trường và giải nén bản cài đặt

Trước khi bắt đầu, đảm bảo rằng JDK (Java Development Kit) đã được cài đặt sẵn trên hệ thống. Tiếp theo, truy cập trang chủ của Apache Tomcat để tải bản phân phối binary (định dạng .tar.gz) của phiên bản 8.

Sau khi tải về, sử dụng lệnh giải nén để đưa thư mục cài đặt về vị trí mong muốn, ví dụ /opt/tomcat8. Quá trình này tạo ra cấu trúc thư mục cần thiết để vận hành server.

2. Thiết lập biến môi trường hệ thống

Để hệ thống nhận diện đường dẫn thực thi của Tomcat, cần cấu hình biến môi trường. Mở file cấu hình /etc/profile (hoặc /etc/environment tùy vào bản phân phối Linux) và bổ sung các khai báo sau:

export CATALINA_HOME=/opt/tomcat8
export CATALINA_BASE=$CATALINA_HOME
export PATH=$PATH:$CATALINA_HOME/bin

Việc xác định CATALINA_HOME giúp các script khởi động trong thư mục bin hoạt động đúng cách.

3. Cấu hình Virtual Host và ứng dụng

Mặc định Tomcat lắng nghe trên cổng 8080. Để chạy một tên miền cụ thể, ta cần can thiệp vào file $CATALINA_HOME/conf/server.xml. Tìm đến phần tử <Engine> và chèn cấu hình <Host> mới:

<Host name="example.com" appBase="/var/www/webapps" unpackWARs="true" autoDeploy="true">
</Host>

Tuy nhiên, một vấn đề thường gặp là file JSP đặt trực tiếp trong thư mục appBase không thể truy cập được ngay lập tức. Nguyên nhân là do Tomcat yêu cầu một Context ứng dụng mặc định. Có hai giải pháp để khắc phục:

  • Cấp độ Context: Khai báo rõ ràng node <Context> bên trong <Host>, chỉ định đường dẫn gốc là rỗng ("").
<Host name="example.com" appBase="/var/www/webapps">
    <Context path="" docBase="/var/www/webapps" reloadable="true" />
</Host>
  • Sử dụng thư mục ROOT: Tomcat quy ước thư mục ROOT (viết hoa) là ứng dụng mặc định cho một Host. Ta tạo thư mục ROOT bên trong appBase và đặt các file web vào đó.

4. Vận hành và kiểm tra dịch vụ

Các script điều khiển nằm trong thư mục bin. Trước khi khởi động, nên thực hiện kiểm tra lỗi cú pháp trong file cấu hình.

# Kiểm tra cấu hình
./configtest.sh

# Khởi động dịch vụ
./startup.sh

# Dừng dịch vụ
./shutdown.sh

Sau khi chạy thành công, có thể truy cập ứng dụng qua địa chỉ http://domain:8080.

5. Bảo mật giao diện quản trị

Tomcat cung cấp công cụ quản lý qua web (Manager App) cho phép triển khai và điều khiển ứng dụng. Mặc định, quyền truy cập là匿名 (anonymous), gây ra rủi ro bảo mật cao. Để khóa lại, chỉnh sửa file $CATALINA_HOME/conf/tomcat-users.xml.

Cần định nghĩa các vai trò (roles) cần thiết và gán chúng cho người dùng quản trị:

<tomcat-users>
    <role rolename="manager-gui" />
    <role rolename="admin-gui" />
    
    <user username="sysadmin" password="StrongP@ssw0rd" roles="manager-gui,admin-gui" />
</tomcat-users>

Sau khi lưu lại và khởi động lại dịch vụ, việc truy cập trang quản trị sẽ yêu cầu xác thực dựa trên tài khoản vừa tạo.

6. Quản lý máy chủ ảo qua giao diện

Giao diện quản lý Host Manager cho phép tạo thêm Virtual Host mà không cần can thiệp trực tiếp vào file server.xml. Khi thêm Host mới qua giao diện, Tomcat sẽ sinh ra một file cấu hình XML tương ứng trong thư mục conf/Catalina.

Tuy nhiên, cần lưu ý rằng các thay đổi thực hiện qua giao diện web đôi khi không được lưu lại vĩnh viễn sau khi khởi động lại server (do vấn đề quyền ghi file). Do đó, phương pháp an toàn nhất vẫn là cấu hình trực tiếp trong server.xml để đảm bảo tính bền vững của cấu hình.

Thẻ: Apache Tomcat linux Java Server Configuration Virtual Host

Đăng vào ngày 4 tháng 8 lúc 13:01