Cài đặt Apache Tomcat trên Fedora 36 - Install Apache Tomcat on Fedora 36
Hôm nay, chúng ta sẽ cài Tomcat trên Fedora 36. Apache Tomcat là một 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ân phối dưới Giấy phép Apache phiên bản 2. Nó cho phép bạn lưu trữ các ứng dụng web viết bằng Java và thực thi các Servlet Java cũng như 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 chuẩn 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à hướng dẫn cài đặt Apache Tomcat trên hệ điều hành Fedora.
Bước 1: Vô hiệu hóa SELinux và cài curl
Bởi vì dịch vụ Tomcat sẽ được chạy dưới tài khoản "tomcat," nên chúng ta cần thực hiện các bước để 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
Chạy lệnh bên dưới để vô hiệu hoá SELinux:
sudo sed -i 's/^SELINUX=.*/SELINUX=disabled/g' /etc/selinux/config
sudo reboot
Bước 2: Cài đặt OpenJDK 11
Đầu tiên, bạn cần cài đặt OpenJDK 11 trên Fedora vì đây là một thành phần cần thiết cho Tomcat.
Bước 3: Cài Tomcat trên Fedora 36
Đã xong bước cài đặt OpenJDK 11, tiếp đến bạn sẽ tiến hành tải và cài đặt Tomcat trên Fedora 36. Đừng quên kiểm tra trang web chính thức của Apache để xác định phiên bản Tomcat mới nhất trước khi tải xuống.
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 vừa tải xuống:
tar xvf apache-tomcat-$VER.tar.gz
Sau khi giải nén, hãy di chuyển kết quả đến /usr/libexec/tomcat9:
sudo mv apache-tomcat-${VER} /usr/libexec/tomcat9
Bước 4: Thêm nhóm và user Tomcat
Bạn phải tạo ra user để quản lý Tomcat, đặt tên user này là "tomcat":
sudo groupadd --system tomcat
sudo useradd -M -d /usr/libexec/tomcat9 -g tomcat tomcat
Chuyển 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
Đây sẽ là bước tạo tệp service unit cho Tomcat. Hãy tạo một tệp mới trong thư mục dưới đây:
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
Bắt đầu tải lại hệ thống và khởi động dịch vụ tomcat9:
sudo systemctl daemon-reload
sudo systemctl restart tomcat9.service
Bằng cách dưới đây bạn có thể kiểm tra trạng thái của dịch vụ:
$ 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 dịch vụ tường lửa đang bật thì hãy cho phép chúng ở cổng 8080:
sudo firewall-cmd --add-port=8080/tcp
sudo firewall-cmd --reload
Trang web mặc định của Tomcat có thể truy cập tại địa chỉ [http://(tên máy chủ hoặc địa chỉ IP của máy chủ):8080/]
Nếu muốn vào trang web hướng dẫn quản trị bạn hãy vào đường link [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 sử dụng 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
Để truy cập vào trình quản lý bạn phải tạo một user 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>
Hãy đặt "StrongPassword" bằng mật khẩu quản trị thực tế, mạnh mẽ và an toàn mà bạn sử dụng.