Cài đặt Tomcat 9 trên CentOS 7

Share and Enjoy !

Shares

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.

Bài viết này sẽ hướng dẫn bạn 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.

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:

# yum install java-1.8.0-openjdk-devel 

 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

Bước 6 – Cấu hình Firewall

Nếu server của bạn có sử dụng tường lửa (firewalld hoặc iptables), bạn cần thiết lập mở port 8080 để có thể truy cập giao diện Tomcat từ bên ngoài.

# firewall-cmd --add-port=8080/tcp --permanent
# firewall-cmd --reload 

Ngay sau khi mở port 8080, bạn có thể mở trình duyệt web, truy cập đường dẫn: http://ip-server:8080 để kiểm tra giao diện mặc định Tomat.

 

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/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 AppHost 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 nền tảng CentOS 7. 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é!

Share and Enjoy !

Shares
Giới thiệu Hiệp Phạm 135 bài viết
Hiệp hiện đang là thành viên nhóm tác giả của HIEPSHARING.COM. Thích tìm hiểu, nghiên cứu Ethical Hacking, SysAdmin, DevOps và những công nghệ mới. Phương châm sống của mình: "Chỉ cần bản thân không bỏ cuộc, chậm chút cũng không sao."

Hãy bình luận đầu tiên

Để lại một phản hồi

Thư điện tử của bạn sẽ không được hiện thị công khai.


*