Cài đặt Apache Tomcat trên Debian 11 - Install Apache Tomcat on Debian 11

Trong hướng dẫn này, chúng ta sẽ tìm hiểu cách install Apache Tomcat trên Debian 11 (Bullseye) từng bước một. Apache Tomcat là một máy chủ web miễn phí và mã nguồn mở được sử dụng rộng rãi để lưu trữ các ứng dụng web viết bằng ngôn ngữ lập trình Java. Đây là một phiên bản thực thi của Jakarta Servlet và Jakarta Expression Language (trước đây là Java Servlet và Java Expression Language) cùng với các công nghệ Java websocket khác.

Apache Tomcat không phải là một máy chủ web theo nghĩa của Apache hoặc Nginx. Nó là một máy chủ ứng dụng cung cấp môi trường HTTP dựa trên Java và logic dựa trên Java để phục vụ mã Java.

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

Vì Tomcat được xây dựng trên nền tảng Java nên bước đầu tiên sẽ là cài đặt Java, được cung cấp bởi OpenJDK. Chúng ta sẽ cài đặt OpenJDK 11, đó là phiên bản LTS mới nhất.

Để cài đặt OpenJDK 11, hãy cập nhật danh sách các gói:

$ sudo apt update

Tiếp theo, chạy lệnh sau để cài đặt OpenJDK 11:

$ sudo apt install openjdk-11-jdk -y

Cài Apache Tomcat Debian 11 - Install Apache Tomcat Debian 11

Để xác nhận phiên bản của Java đã được cài đặt, hãy chạy lệnh sau:

$ java -version

Cài Apache Tomcat Debian 11 - Install Apache Tomcat Debian 11

Bước 2: Download và install Apache Tomcat

Với việc cài đặt Java đã hoàn tất, bước tiếp theo của chúng ta là tải về và install Apache Tomcat.

Hãy truy cập trang tải về chính thức của Apache Tomcat tại https://tomcat.apache.org/ và tải xuống bản nhị phân mới nhất hoặc sử dụng lệnh wget như sau.

$ wget https://downloads.apache.org/tomcat/tomcat-10/v10.0.18/bin/apache-tomcat-10.0.18.tar.gz

Cài Apache Tomcat Debian 11 - Install Apache Tomcat Debian 11

Tiếp theo, hãy tạo một thư mục trong /opt.

$ sudo mkdir /opt/tomcat

Tiếp theo, hãy giải nén tệp nhị phân bằng lệnh tar trong đường dẫn /opt/tomcat.

$ sudo tar -xvf apache-tomcat-10*tar.gz -C /opt/tomcat --strip-components=1

Bước 3: Tạo một người dùng và nhóm mới cho Tomcat

Thường thì không nên kiểm tra các ứng dụng web bằng tài khoản root, vì tài khoản root có thể dễ dàng bị xâm nhập bởi một kẻ tấn công, dẫn đến việc xâm nhập hệ thống.

Xem xét điều đó, chúng ta sẽ tạo một người dùng không phải là root, nhưng có quyền truy cập vào thư mục /opt/tomcat. Do đó, hãy tạo một nhóm có tên là "tomcat".

$ sudo groupadd tomcat

Tiếp theo, hãy tạo người dùng "tomcat" và thêm người dùng này vào nhóm "tomcat", với thư mục gốc (/opt/tomcat) là thư mục chính của người dùng.

$ sudo useradd -s /bin/false -g tomcat -d /opt/tomcat tomcat

Bước 4: Cấu hình quyền của người dùng

Tiếp theo, chúng ta sẽ thiết lập quyền sở hữu và quyền truy cập cho thư mục /opt/tomcat bằng các lệnh chown và chmod tương ứng.

$ sudo chown -R tomcat: /opt/tomcat
$ sudo sh -c 'chmod +x /opt/tomcat/bin/*.sh'

Bước 5: Tạo một tệp systemd cho Apache Tomcat

Chúng ta cần làm cho Apache Tomcat chạy trong nền dưới dạng một dịch vụ systemd có thể được khởi động, dừng và kích hoạt. Mặc định, Tomcat không đi kèm với tệp đơn vị systemd, vì vậy chúng ta sẽ tạo nó thủ công như sau.

$ sudo vi /etc/systemd/system/tomcat.service

Dán đoạn mã sau đây, định nghĩa tệp dịch vụ systemd.

[Unit]
Description=Tomcat webs servlet container
After=network.target
[Service]
Type=forking
User=tomcat
Group=tomcat
RestartSec=10
Restart=always
Environment="JAVA_HOME=/usr/lib/jvm/java-1.11.0-openjdk-amd64"
Environment="JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom"
Environment="CATALINA_BASE=/opt/tomcat"
Environment="CATALINA_HOME=/opt/tomcat"
Environment="CATALINA_PID=/opt/tomcat/temp/tomcat.pid"
Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC"
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh
[Install]
WantedBy=multi-user.target

Lưu các thay đổi và thoát khỏi tệp. Sau đó, chạy lại tiện ích systemd generator và tải lại tất cả các tệp đơn vị.

$ sudo systemctl daemon-reload

Để xác nhận đường dẫn mặc định cho Java, chạy lệnh sau:

$ sudo update-java-alternatives -l

Cài Apache Tomcat Debian 11 - Install Apache Tomcat Debian 11

Điều này trùng khớp với đường dẫn được chỉ định trong tệp dịch vụ systemd, điều này có nghĩa là chúng ta đang thực hiện đúng.

Bước 6: Bật và khởi động dịch vụ Tomcat

Với tệp systemd của Tomcat đã được thiết lập, hãy khởi động dịch vụ Apache Tomcat và bật chế độ tự động khởi động cùng với hệ thống.

$ sudo systemctl daemon-reload
$ sudo systemctl start tomcat
$ sudo systemctl enable tomcat

Cài Apache Tomcat Debian 11 - Install Apache Tomcat Debian 11

Sau đó, xác minh rằng Apache Tomcat đang chạy.

$ systemctl status tomcat

Cài Apache Tomcat Debian 11 - Install Apache Tomcat Debian 11

Từ đầu ra, chúng ta có thể thấy rằng dịch vụ Tomcat đang chạy, điều này có nghĩa rằng cấu hình của chúng ta là đúng.

Bước 7: Thêm người dùng quản trị Tomcat và cấu hình các vai trò

Chúng ta cần cấu hình một người dùng quản trị để truy cập các phần 'server status', 'host manager' và 'manager app' trên trang web của Tomcat. Nếu không làm như vậy, chúng ta sẽ gặp lỗi trên trình duyệt.

Để thực hiện điều này, chúng ta sẽ chỉnh sửa tệp cấu hình người dùng của Tomcat.

$ sudo vi /opt/tomcat/conf/tomcat-users.xml

Dán đoạn mã sau đây ngay trước thẻ </tomcat-users>. Bạn có thể tự do chỉ định giá trị tên người dùng và mật khẩu của riêng bạn.

<role rolename="admin"/>
<role rolename="admin-gui"/>
<role rolename="manager"/>
<role rolename="manager-gui"/>
<user username="linuxtechi" password="<enetr-password-here>" roles="admin,admin-gui,manager,manager-gui"/>

Cài Apache Tomcat Debian 11 - Install Apache Tomcat Debian 11

Lưu các thay đổi và đóng tệp cấu hình.

Bước 8: Quản lý truy cập từ xa vào Apache Tomcat

Theo mặc định, bạn chỉ có thể truy cập giao diện web của Tomcat từ máy chủ chứa nó. Vì vậy, chúng ta cần cấu hình truy cập từ xa vào Tomcat Manager bằng cách chỉnh sửa thủ công tệp cấu hình context.xml.

$ sudo vi /opt/tomcat/webapps/manager/META-INF/context.xml

Cuộn xuống và nhận xét những dòng sau bằng cách thêm <!– vào đầu và –> vào cuối.

<!-- <Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" /> -->

Cài Apache Tomcat Debian 11 - Install Apache Tomcat Debian 11

Lưu tệp và thoát. Tiếp theo, chúng ta cần cho phép truy cập từ xa vào Host Manager. Vì vậy, hãy chỉnh sửa tệp context.xml của Host Manager.

$ sudo vi /opt/tomcat/webapps/host-manager/META-INF/context.xml

Một lần nữa, hãy nhận xét đoạn sau bằng cách thêm <!– vào đầu và –> vào cuối.

<!-- <Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" /> -->

Cài Apache Tomcat Debian 11 - Install Apache Tomcat Debian 11

Lưu các thay đổi và thoát tệp cấu hình. Để áp dụng tất cả các thay đổi đã thực hiện, khởi động lại Tomcat.

$ sudo systemctl restart tomcat

Cài Apache Tomcat Debian 11 - Install Apache Tomcat Debian 11

Bước 9: Truy cập vào Apache Tomcat

Tomcat hiện đã được cấu hình hoàn chỉnh và có thể được truy cập từ xa. Còn một bước cuối cùng nữa. Nếu bạn đang chạy tường lửa UFW, hãy xem xét mở cổng 8080, đây là cổng mặc định mà Apache Tomcat lắng nghe.

$ sudo ufw allow 8080
$ sudo ufw reload

Cuối cùng, để truy cập giao diện web của Tomcat, mở trình duyệt của bạn và điều hướng đến địa chỉ sau.

http://server-ip-addres:8080
or
http://youdomain.com:8080

Điều này sẽ đưa bạn đến trang chủ mặc định của máy chủ web Tomcat như được hiển thị.

Cài Apache Tomcat Debian 11 - Install Apache Tomcat Debian 11

Để truy cập trang 'Server status', nhấp vào 'Server status'. Một hộp thoại xuất hiện yêu cầu thông tin đăng nhập của người dùng. Cung cấp thông tin đăng nhập của Admin được chỉ định ở Bước 6 và nhấp vào 'Sign In'.

Cài Apache Tomcat Debian 11 - Install Apache Tomcat Debian 11

Cài Apache Tomcat Debian 11 - Install Apache Tomcat Debian 11

Tương tự, bạn sẽ được nhắc nhập thông tin đăng nhập giống nhau khi truy cập Tomcat Application Manager. Bạn có thể truy cập bằng cách nhấp vào 'Manager App' trên giao diện web mặc định.

Cài Apache Tomcat Debian 11 - Install Apache Tomcat Debian 11

Nhấp vào 'Host Manager', bạn sẽ được đưa đến phần Virtual Host Manager như được hiển thị.

Cài Apache Tomcat Debian 11 - Install Apache Tomcat Debian 11

Và đó là một hướng dẫn hoàn chỉnh. Trong hướng dẫn này, chúng ta đã chỉ bạn cách install Apache Tomcat trên Debian 11. Chúc bạn may mắn khi lưu trữ các ứng dụng Java của mình.

Mọi người cũng tìm kiếm: tomcat 10.0.18, apache tomcat 10.0.18, apache tomcat 11