Cài đặt Apache Tomcat trên Fedora 35 - Install Apache Tomcat on Fedora 35

Hôm nay chúng ta sẽ tìm hiểu cách cài đặt Apache Tomcat trên Fedora 35. Dịch vụ máy chủ Tomcat là một ứng dụng máy chủ Servlet Java mã nguồn mở được phát triển bởi Tổ chức phần mềm Apache (ASF) và được phát hành theo giấy phép Apache phiên bản 2. Công cụ này cho phép bạn lưu trữ các ứng dụng web viết bằng Java. Tomcat thực thi Servlet Java và hiển thị các trang web chứa mã Java Server Page.

Tomcat 9 được xây dựng dựa trên các thông số kỹ thuật Java EE 8 mới nhất như Servlet 4.0, EL 3.1, JSP 2.4 và WebSocket 1.2. Dưới đây là các bước để cài đặt Apache Tomcat trên Fedora.

Bước 1: Vô hiệu hóa SELinux và cài đặt curl

Vì chúng ta sẽ chạy dịch vụ Tomcat với tài khoản tomcat nên hãy vô hiệu hóa hoặc đặt SELinux vào chế độ permissive:

sudo yum -y install curl vim wget
sudo setenforce 0
sudo sed -i 's/^SELINUX=.*/SELINUX=permissive/g' /etc/selinux/config

Để vô hiệu hóa hoàn toàn SELinux, chạy lệnh sau:

sudo sed -i 's/^SELINUX=.*/SELINUX=disabled/g' /etc/selinux/config
sudo reboot

Bước 2: Cài đặt OpenJDK 11

Bước đầu tiên là cài đặt OpenJDK 11 trên Fedora vì đây là một phần mềm cần thiết cho Tomcat.

Bước 3: Cài đặt Apache Tomcat

Sau khi cài đặt OpenJDK 11, tiếp theo bạn sẽ tải về và cài đặt Tomcat trên Fedora 35. Hãy kiểm tra phiên bản mới nhất của Tomcat trên trang web của Apache trước khi tải về.

export VER="9.0.74"
wget https://archive.apache.org/dist/tomcat/tomcat-9/v${VER}/bin/apache-tomcat-${VER}.tar.gz

Giải nén tập tin đã tải xuống:

tar xvf apache-tomcat-$VER.tar.gz

Di chuyển thư mục kết quả đến /usr/libexec/tomcat9:

sudo mv apache-tomcat-${VER} /usr/libexec/tomcat9

Bước 4: Thêm người dùng và nhóm Tomcat

Chúng ta cần thêm một người dùng để quản lý Tomcat. Người dùng này sẽ có tên là "tomcat":

sudo groupadd --system tomcat
sudo useradd -M -d /usr/libexec/tomcat9 -g tomcat tomcat

Thay đổi quyền sở hữu của thư mục /usr/libexec/tomcat9 cho người dùng và nhóm "tomcat":

sudo chown -R tomcat:tomcat /usr/libexec/tomcat9

Bước 5: Tạo dịch vụ Systemd cho Tomcat

Bước cuối cùng là tạo tệp đơn vị dịch vụ (service unit) cho Tomcat. Tạo một tệp mới trong thư mục sau:

sudo tee /etc/systemd/system/tomcat9.service<<EOF
[Unit]
Description=Apache Tomcat 9
Documentation=http://tomcat.apache.org/tomcat-9.0-doc/
After=network.target syslog.target

[Service]
User=tomcat
Group=tomcat
Type=oneshot
ExecStart=/usr/libexec/tomcat9/bin/startup.sh
ExecStop=/usr/libexec/tomcat9/bin/shutdown.sh
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
EOF

Tải lại systemd và khởi động dịch vụ tomcat9:

sudo systemctl daemon-reload
sudo systemctl restart tomcat9.service

Bạn có thể kiểm tra trạng thái của dịch vụ bằng cách sử dụng:

$ sudo systemctl status tomcat9.service
● tomcat9.service - Apache Tomcat 9
Loaded: loaded (/etc/systemd/system/tomcat9.service; disabled; vendor preset: disabled)
Active: active (running) since Sat 2018-11-10 06:34:50 UTC; 4min 15s ago
Docs: http://tomcat.apache.org/tomcat-9.0-doc/
Process: 3226 ExecStart=/usr/libexec/tomcat9/bin/startup.sh (code=exited, status=0/SUCCESS)
Main PID: 3226 (code=exited, status=0/SUCCESS)
Tasks: 43 (limit: 1149)
Memory: 81.5M
CGroup: /system.slice/tomcat9.service
└─3241 /usr/bin/java -Djava.util.logging.config.file=/usr/libexec/tomcat9/conf/logging.properties -Djava.util.logging.manager=org.apache.j>

Nov 10 06:34:50 fed29 systemd[1]: Starting Apache Tomcat 9...
Nov 10 06:34:50 fed29 startup.sh[3226]: Tomcat started.
Nov 10 06:34:50 fed29 systemd[1]: Started Apache Tomcat 9.

Dịch vụ nên lắng nghe trên cổng 8080:

$ sudo ss -tunelp | grep 8080
tcp LISTEN 0 100 *:8080 *:* users:(("java",pid=3241,fd=37)) uid:1001 ino:29845 sk:a v6only:0 <->

Nếu bạn đã bật dịch vụ tường lửa, hãy cho phép cổng 8080:

sudo firewall-cmd --add-port=8080/tcp
sudo firewall-cmd --reload

Trang web mặc định của Tomcat có sẵn tại [http://(tên máy chủ hoặc địa chỉ IP của máy chủ):8080/]

Cài Apache Tomcat Fedora 35 - Install Apache Tomcat Fedora 35

Hướng dẫn quản trị có sẵn tại [http://<Địa chỉ IP>:8080/docs/index.html].

Bước 6: Chuyển tiếp truy cập đến Tomcat bằng máy chủ Apache HTTP (Tùy chọn)

Bạn có thể cấu hình máy chủ Apache HTTP để truy cập giao diện Tomcat mà không cần chỉ định cổng 8080.

Cài đặt và khởi động máy chủ web Apache:

sudo yum -y install httpd
sudo systemctl start httpd && sudo systemctl enable httpd
sudo firewall-cmd --add-service=http --permanent
sudo firewall-cmd --reload

Tạo tệp cấu hình cho Tomcat:

sudo vim /etc/httpd/conf.d/proxy_tomcat.conf

Thêm:

ProxyPass /tomcat9/ ajp://localhost:8009/

Truy cập [http://(tên máy chủ hoặc địa chỉ IP của máy chủ)/tomcat9/] và xác nhận rằng sự thay đổi đang hoạt động như mong đợi.

Bước 7: Cấu hình xác thực

Tạo một người dùng Tomcat để truy cập trình quản lý Tomcat:

sudo vim /usr/libexec/tomcat9/conf/tomcat-users.xml

Thêm các dòng sau vào tệp cấu hình (config file):

<role rolename="admin-gui" />
<user username="admin" password="StrongPassword" roles="manager-gui,admin-gui"
</tomcat-users>

Thay thế "StrongPassword" bằng mật khẩu quản trị thực tế và mạnh mẽ của bạn.