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
Để xác nhận phiên bản của Java đã được cài đặt, hãy chạy lệnh sau:
$ java -version
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
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
Đ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
Sau đó, xác minh rằng Apache Tomcat đang chạy.
$ systemctl status tomcat
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"/>
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" /> -->
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" /> -->
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
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ị.
Để 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'.
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.
Nhấp vào 'Host Manager', bạn sẽ được đưa đến phần Virtual Host Manager như được hiển thị.
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