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-develSau 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 /tmpSau 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/latestNgườ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/tomcatLà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.targetSau đó 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-reloadBật và khởi động dịch vụ Tomcat:
# sudo systemctl enable --now tomcatKiể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.xmlXin 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.xmlDanh 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":8080Sau 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