Thuê chỗ đặt máy chủ

Trung tâm dữ liệu đạt chuẩn quốc tế tier 3+, đảm bảo dự phòng 2n+1

Dedicate Private Cloud

Hệ thống riêng của bạn, đảm bảo an toàn riêng tư và toàn vẹn dữ liệu

Bảng giá thuê máy chủ

Chi tiết phí dịch vụ thuê máy chủ. Tối ưu chi phí cho khách hàng

Cloud Server

Nền tảng điện toán đám mây, hoạt động trên nhiều kết nối server vật lý khác nhau

Cách cài đặt Tomcat 9 trên CentOS 8

Tóm tắt nội dung

Apache Tomcat là một phần mềm mã nguồn mở được triển khai của các công nghệ Java Servlet ,… Nó là một trong những ứng dụng và máy chủ web được chấp nhận rộng rãi nhất trên thế giới hiện nay. Bài viết này sẽ hướng dẫn cách cài đặt và cấu hình Tomcat 9.0 trên CentOS 8.

Cài đặt Java

Tomcat 9 yêu cầu Java SE 8 trở lên. Do đó mình sẽ cài đặt OpenJDK11 trên máy chủ của mình.
# sudo dnf install java-11-openjdk-devel
Sau khi hoàn tất kiểm tra cài đặt bằng cái xem phiên bản của Java :
# java -version

Tạo người dùng hệ thống

Tomcat chạy dưới quyền người dùng root là một rủi ro bảo mật. Mình sẽ tạo một nhóm và người dùng hệ thống mới với thư mục chính /opt/tomcat sẽ chạy dịch vụ Tomcat. Và mình làm như sau :
# sudo useradd -m -U -d /opt/tomcat -s /bin/false tomcat

Tải xuống Tomcat

Mình sẽ tải Tomcat từ trang chủ của Tomcat. Thời điểm hiện tại thì phiên bản mới nhất là 9.0.54. Bắt đầu mình sẽ tải bằng wget và đưa vào thư mục /tmp :
# VERSION=9.0.30

# wget https://www-eu.apache.org/dist/tomcat/tomcat-9/v${VERSION}/bin/apache-tomcat-${VERSION}.tar.gz -P /tmp
Sau khi hoàn tất mình sẽ giải nén vào thư mục /opt/tomcat :
# sudo tar -xf /tmp/apache-tomcat-${VERSION}.tar.gz -C /opt/tomcat/
Tomcat được cập nhật thường xuyên. Để có nhiều quyền kiểm soát hơn đối với các phiên bản và bản cập nhật, mình sẽ tạo một liên kết tượng trưng có tên latest, trỏ đến thư mục cài đặt Tomcat:
# sudo ln -s /opt/tomcat/apache-tomcat-${VERSION} /opt/tomcat/latest
Người dùng và nhóm người dùng mình đã tạo trước đó nên tiếp theo mình sẽ phân quyền để truy cập vào thư mục cài đặt tomcat :
# sudo chown -R tomcat: /opt/tomcat
Làm cho các tập lệnh shell bên trong thư mục Bin có thể thực thi được :
# sudo sh -c 'chmod +x /opt/tomcat/latest/bin/*.sh'
Các tập lệnh này được sử dụng để khởi động và dừng Tomcat.

Tạo file đơn vị hệ thống

Thay vì khởi động và dừng máy chủ Tomcat theo cách thủ công, mình sẽ đặt nó chạy như một dịch vụ. bắt đầu mình mở soạn thảo vi và tạo một file tomcat.service trong thư mục /etc/systemd/system/ , sau đó mình dán nội dung như sau :
# sudo vi /etc/systemd/system/tomcat.service
   
   
   [Unit]
   Description=Tomcat 9 servlet container
   After=network.target

   [Service]
   Type=forking

   User=tomcat
   Group=tomcat

   Environment="JAVA_HOME=/usr/lib/jvm/jre"
   Environment="JAVA_OPTS=-Djava.security.egd=file:///dev/urandom"

   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

[Install]
WantedBy=multi-user.target
Sau đó lưu và đóng file. Thông báo cho systemd rằng tệp dịch vụ mới tồn tại, bằng cách nhập:
# sudo systemctl daemon-reload
Bật và khởi động dịch vụ Tomcat:
# sudo systemctl enable --now tomcat
Kiểm tra trạng thái dịch vụ:
# sudo systemctl status tomcat

Cấu hình Firewall

Vì Tomcat đi trên port 8080 nên mình sẽ mở port 8080 lên :
# sudo firewall-cmd --permanent --zone=public --add-port=8080/tcp
# sudo firewall-cmd --reload

Cấu hình giao diện quản lý web Tomcat

Tại thời điểm này, bạn sẽ có thể truy cập Tomcat bằng trình duyệt web trên cổng 8080. Giao diện quản lý web không truy cập được vì mình chưa tạo người dùng. Người dùng và vai trò của Tomcat được xác định trong file tomcat-users.xml. Nếu bạn mở tệp, bạn sẽ nhận thấy rằng nó chứa đầy các nhận xét và ví dụ mô tả cách định cấu hình tệp.
# sudo vi /opt/tomcat/latest/conf/tomcat-users.xml
Để tạo người dùng có thể truy cập giao diện web tomcat, hãy chỉnh sửa file như hình dưới đây. Theo mặc định, giao diện quản lý web Tomcat được cấu hình để chỉ cho phép truy cập từ localhost. Nếu bạn cần truy cập giao diện web từ bất kỳ đâu, hãy mở các tệp sau và chận dấu # các dòng mình khoanh vùng sau
# vi /opt/tomcat/latest/webapps/manager/META-INF/context.xml
# vi /opt/tomcat/latest/webapps/host-manager/META-INF/context.xml
Xin lưu ý, việc cho phép truy cập từ mọi nơi không được khuyến khích vì đó là một rủi ro bảo mật. Nếu bạn chỉ muốn truy cập giao diện web từ một IP cụ thể, thì mình sẽ chỉnh sửa như sau: nếu IP của bạn là 50.50.50.50 và bạn chỉ muốn cho phép truy cập từ IP đó :
# vi /opt/tomcat/latest/webapps/manager/META-INF/context.xml
# vi /opt/tomcat/latest/webapps/host-manager/META-INF/context.xml
Danh sách các địa chỉ IP được phép là danh sách được phân tách bằng thanh dọc | . Sau khi hoàn tất, hãy khởi động lại dịch vụ Tomcat để các thay đổi có hiệu lực:
# sudo systemctl restart tomcat

Thử nghiệm cài đặt

Mở trình duyệt và truy cập vào IP server Apache Tomcat và thêm port 8080 ở phía sau:
http://"IP_cua_bạn":8080
Sau khi cài đặt thành công, một màn hình tương tự như sau sẽ xuất hiện:

Kết luận

Ở trên mình đã hướng dẫn cách cài đặt và cấu hình Tomcat 9.0 trên CentOS 8. Nếu bạn có những câu hỏi nào hoặc vẫn đề nào đừng quên để lại câu hỏi bên dưới mình sẽ giải quyết tất cả cho bạn.

Nguồn : Linuxize.com