NỘI DUNG

Hosting tốc độ cao Vietnix - tốc độ tải trang trung bình dưới 1 giây
VPS siêu tốc Vietnix - trải nghiệm mượt mà, ổn định
05/06/2023
Lượt xem

Cách cài đặt Apache Tomcat 10 trên Ubuntu 20.04

05/06/2023
12 phút đọc
Lượt xem

Đánh giá

5/5 - (181 bình chọn)

Apache Tomcat là một web server và servlet container được sử dụng để khởi chạy các ứng dụng Java. Trong bài viết này, Vietnix sẽ hướng dẫn bạn cách cài đặt Apache Tomcat 10 trên Ubuntu 20.04 giúp thiết lập users, vai trò cũng như điều hướng giao diện người dùng quản trị hiệu quả.

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

Để thực hiện theo hướng dẫn bạn cần chuẩn bị một server Ubuntu 20.04 có user non-root với quyền sudo và thiết lập tường lửa.

Download Tomcat 10 với phiên bản mới nhất. Sau đó thiết lập 1 user riêng với các quyền thích hợp.

Ngoài ra bạn cũng cần cài đặt Java Development Kit (JDK).

Vì mục đích bảo mật, bạn nên chạy Tomcat thông qua một user cụ thể, không có đặc quyền. Chạy lệnh sau để tạo user mới:

sudo useradd -m -d /opt/tomcat -U -s /bin/false tomcat

Việc cung cấp /bin/false dưới dạng shell mặc định của user sẽ đảm bảo rằng bạn không thể đăng nhập dưới dạng tomcat.

Trước khi cài đặt JDK, bạn cần cập nhật cache của package manager bằng lệnh:

sudo apt update

Cài đặt JDK bằng cách chạy lệnh sau:

sudo apt install default-jdk

Nhấn y để tiếp tục cài đặt.

Khi quá trình cài đặt kết thúc, hãy kiểm tra phiên bản cài đặt Java có sẵn:

java -version

Output sẽ trông như thế này:

Output openjdk version "11.0.14" 2022-01-18 OpenJDK Runtime Environment (build 11.0.14+9-Ubuntu-0ubuntu2.20.04) OpenJDK 64-Bit Server VM (build 11.0.14+9-Ubuntu-0ubuntu2.20.04, mixed mode, sharing)

Để cài đặt Tomcat, bạn cần có build Core Linux mới nhất cho Tomcat 10. Chọn build Core Linux mới nhất, ending bằng .tar.gz. Tại thời điểm viết bài, phiên bản mới nhất là 10.0.20.

Đầu tiên, điều hướng đến thư mục tmp:

cd /tmp

Download wget bằng cách chạy lệnh sau:

wget https://dlcdn.apache.org/tomcat/tomcat-10/v10.0.20/bin/apache-tomcat-10.0.20.tar.gz

Lệnh wget tải xuống resource từ Internet.

Sau đó, giải nén kho lưu trữ bạn đã tải xuống bằng lệnh:

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

Vì bạn đã tạo user, giờ đây bạn có thể cấp quyền cho tomcat sở hữu đối với bản cài đặt đã giải nén bằng lệnh sau:

sudo chown -R tomcat:tomcat /opt/tomcat/ sudo chmod -R u+x /opt/tomcat/bin

Để quá trình cài đặt và cấu hình Tomcat diễn ra thuận lợi, bạn cần phải đảm bảo rằng máy chủ có đáp ứng đầy đủ các yêu cầu của hệ thống. Điều này bao gồm nhiều yếu tố như tốc độ xử lý, bộ nhớ đủ lớn để xử lý các tác vụ nặng, hoạt động ổn định trong thời gian dài. Nếu máy chủ không đáp ứng được các yêu cầu cơ bản như vậy, bạn có thể cân nhắc sử dụng VPS Việt Nam làm giải pháp thay thế. Với VPS Vietnix, bạn có thể dễ dàng nâng cấp, phân bổ lại tài nguyên hệ thống khi cần thiết mà không cần phải mua một máy chủ mới.

Hiện tại, Vietnix đang cung cấp đa dạng gói dịch vụ, bao gồm VPS Giá Rẻ, VPS Phổ Thông, VPS Cao Cấp, VPS NVMe và VPS GPU, giúp bạn có thể nhanh chóng lựa chọn gói phù hợp với nhu cầu của mình. Bên cạnh đó, đội ngũ hỗ trợ khách hàng luôn túc trực 247 giúp bạn giải quyết mọi vấn đề liên quan đến việc cài đặt Tomcat trên VPS. Vì vậy, không có lý do gì để bạn không thử sử dụng dịch vụ VPS Vietnix để cài đặt Nginx trên máy chủ của mình.

Liên hệ để được trải nghiệm VPS Vietnix ngay hôm nay.

Bước 2: Cấu hình Users Admin

Để có quyền truy cập vào các trang Manager Host Manager, bạn sẽ xác định user đặc quyền trong cấu hình của Tomcat. Bạn sẽ cần phải loại bỏ các hạn chế về địa chỉ IP.

User Tomcat được xác định trong /opt/tomcat/conf/tomcat-users.xml. Mở file để chỉnh sửa bằng lệnh sau:

sudo nano /opt/tomcat/conf/tomcat-users.xml

Thêm các dòng sau vào trước tag ending:

<role rolename="manager-gui" /> <user username="manager" password="manager_password" roles="manager-gui" />  <role rolename="admin-gui" /> <user username="admin" password="admin_password" roles="manager-gui,admin-gui" />

Thay thế password bằng password riêng của bạn. Sau đó lưu và đóng file.

Tại đây, bạn xác định vai trò của hai user, manager-guiadmin-gui, cho phép truy cập tương ứng vào các trang Manager Host Manager. Bạn cũng xác định các vai trò liên quan của hai user, manageradmin.

Theo mặc định, Tomcat được cấu hình để hạn chế quyền truy cập vào các trang admin, trừ khi kết nối đến từ chính máy chủ. Để truy cập các trang đó với user bạn vừa xác định, bạn sẽ cần chỉnh sửa file cấu hình cho các trang đó.

Để xóa hạn chế cho trang Manager, hãy mở file config của trang manager để chỉnh sửa:

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

Comment out Valve sẽ ra như bên dưới:

... <Context antiResourceLocking="false" privileged="true" >   <CookieProcessor className="org.apache.tomcat.util.http.Rfc6265CookieProcessor"                    sameSiteCookies="strict" /> <!--  <Valve className="org.apache.catalina.valves.RemoteAddrValve"          allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" /> -->   <Manager sessionAttributeValueClassNameFilter="java\.lang\.(?:Boolean|Integer|Long|Number|String)|org\.apache\.catalina\.filters\.Csr> </Context>

Lưu và đóng file, làm tương tự với Host Manager

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

Bước 3: Tạo một dịch vụ systemd 

Dịch vụ systemd giữ cho Tomcat chạy ngầm trong background. Dịch vụ này cũng sẽ tự động khởi động lại Tomcat trong trường hợp xảy ra error hoặc failure.

Bản thân Tomcat là một ứng dụng Java, vì vậy cần phải có thời gian để chạy Java mà bạn đã cài đặt với JDK ở bước 1. Trước khi tạo dịch vụ, bạn cần biết locate của Java. Bạn có thể tra cứu điều đó bằng cách chạy lệnh sau:

sudo update-java-alternatives -l

Output sẽ trông như sau:

Output java-1.11.0-openjdk-amd64      1111       /usr/lib/jvm/java-1.11.0-openjdk-amd64

Lưu ý: Đường dẫn nơi Java reside, được liệt kê trong cột cuối cùng. Bạn sẽ cần đường dẫn này để xác định dịch vụ.

Bạn sẽ lưu trữ dịch vụ tomcat trong một file có tên tomcat.service, dưới phần /etc/systemd/system. Tạo file để chỉnh sửa bằng lệnh:

sudo nano /etc/systemd/system/tomcat.service

Thêm các dòng sau:

[Unit] Description=Tomcat After=network.target  [Service] Type=forking  User=tomcat Group=tomcat  Environment="JAVA_HOME=/usr/lib/jvm/java-1.11.0-openjdk-amd64" Environment="JAVA_OPTS=-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  RestartSec=10 Restart=always  [Install] WantedBy=multi-user.target

Sửa đổi giá trị JAVA_HOME nếu nó khác với giá trị bạn đã note trước đó.

Tại đây, bạn xác định một dịch vụ sẽ chạy Tomcat bằng cách thực thi các tập lệnh khởi động và shutdown mà Tomcat cung cấp. Bạn cũng đặt một vài biến môi trường (environment variables) để xác định thư mục chính (giống như /opt/tomcat trước) và giới hạn dung lượng bộ nhớ mà Java VM có thể phân bổ (trong CATALINA_OPTS). Khi failure, dịch vụ Tomcat sẽ tự động khởi động lại.

Khi bạn hoàn tất, hãy lưu và đóng file.

Tải lại systemd daemon để Tomcat nhận biết được dịch vụ mới:

sudo systemctl daemon-reload

Sau đó, bạn có thể bắt đầu dịch vụ Tomcat bằng cách nhập lệnh:

sudo systemctl start tomcat

Tiếp đến, hãy check trạng thái của Tomcat để xác nhận rằng dịch vụ đã bắt đầu thành công:

sudo systemctl status tomcat

Output sẽ trông như sau:

Output ● tomcat.service - Tomcat      Loaded: loaded (/etc/systemd/system/tomcat.service; disabled; vendor preset: enabled)      Active: active (running) since Fri 2022-03-11 14:37:10 UTC; 2s ago     Process: 4845 ExecStart=/opt/tomcat/bin/startup.sh (code=exited, status=0/SUCCESS)    Main PID: 4860 (java)       Tasks: 15 (limit: 1132)      Memory: 90.1M      CGroup: /system.slice/tomcat.service              └─4860 /usr/lib/jvm/java-1.11.0-openjdk-amd64/bin/java -Djava.util.logging.config.file=/opt/tomcat/conf/logging.properties ...

Nhấn q để thoát lệnh.

Để cho phép Tomcat khởi động cùng hệ thống, hãy chạy lệnh sau:

sudo systemctl enable tomcat

Bước 4: Truy cập Giao diện Web

Lúc này dịch vụ Tomcat đang chạy, bạn có thể cấu hình tường lửa để cho phép kết nối với Tomcat. Sau đó, bạn có thể truy cập giao diện web.

Tomcat sử dụng cổng 8080 để accept các yêu cầu HTTP. Chạy lệnh sau để cho phép lưu lượng truy cập vào cổng đó:

sudo ufw allow 8080

Trong trình duyệt của bạn, bây giờ bạn có thể truy cập Tomcat bằng cách điều hướng đến địa chỉ IP của server của bạn:

http://your_server_ip:8080

Bạn sẽ thấy trang chủ mặc định của Tomcat:

Trang chủ mặc định của Tomcat
Trang chủ mặc định của Tomcat

Bây giờ bạn đã verified rằng dịch vụ Tomcat đang hoạt động.

Nhấn vào nút Manager App ở bên phải. Bạn sẽ được nhắc nhập thông tin đăng nhập tài khoản mà bạn đã xác định ở bước trước.

Bạn sẽ thấy một trang giống như sau:

Thông tin đăng nhập tài khoản Tomcat
Thông tin đăng nhập tài khoản Tomcat

Trình quản lý ứng dụng web được sử dụng để quản lý các ứng dụng Java của bạn. Bạn có thể bắt đầu, dừng, reload, deploy và undeploy chúng từ đây. Bạn cũng có thể chạy một số diagnostics trên app của mình (ví dụ: để tìm memory bị leaks). Thông tin về server của bạn nằm ở cuối trang này.

Bây giờ, hãy xem Host Manager, bạn có thể truy cập bằng cách nhấn nút Host Manager nằm trên trang chủ:

Xem Host Manager trên Tomcat
Xem Host Manager trên Tomcat

Tại đây, bạn có thể thêm các virtual host để khởi chạy các ứng dụng của mình. Hãy nhớ rằng trang này không thể truy cập được bởi những user không được admin-gui chỉ định, chẳng hạn như manager.

Vietnix là một nhà cung cấp giải pháp VPS hàng đầu tại Việt Nam, với hơn 10 kinh nghiệm trong lĩnh vực cung cấp các giải pháp hosting, VPS, tên miền, Firewall anti DDoS,… cho cá nhân và doanh nghiệp. Vietnix đã có hơn 50.000 khách hàng cá nhân, doanh nghiệp, nổi bật trong đó có thể kể đến như iVIVU, Vietnamworks, SEOSONA, SAGO Media,… Với hơn 100.000 dịch vụ được kích hoạt, Vietnix luôn cố gắng mang đến những giải pháp tốt nhất để giúp khách hàng vận hành website, ứng dụng một cách nhanh chóng, mượt mà và bảo đảm tính ổn định tối đa.

Sự hài lòng của khách hàng luôn được đặt lên hàng đầu, và đó là lý do tại sao hơn 97% khách hàng của Vietnix đã giới thiệu dịch vụ cho người thân, bạn bè và đối tác của họ sau khi sử dụng. Vietnix tự hào được vinh danh với giải thưởng Thương hiệu Việt Nam xuất sắc năm 2022, một minh chứng cho sự cam kết của Vietnix đối với chất lượng và uy tín.

Với đội ngũ nhân viên chuyên nghiệp và tận tâm, Vietnix cam kết cung cấp đến khách hàng của mình những giải pháp VPS tốt nhất, giúp họ tiết kiệm chi phí và tối đa hóa hiệu quả kinh doanh. Hãy để Vietnix trở thành đối tác đồng hành trong việc phát triển kinh doanh của bạn.

Mọi vấn đề thắc mắc cần tư vấn, quý khách vui lòng liên hệ:

  • Địa chỉ: 265 Hồng Lạc, Phường 10, Quận Tân Bình, Thành Phố Hồ Chí Minh
  • Hotline: 1800 1093
  • Email: sales@vietnix.com.vn

Như vậy, bạn đã cài đặt thành công Tomcat 10 trên server Ubuntu 20.04 của mình và định cấu hình cho Tomcat để có thể truy cập từ xa bằng tài khoản quản lý. Bây giờ bạn có thể sử dụng để triển khai các ứng dụng Java của mình, dựa trên công nghệ Jakarta EE. Nếu bạn có bất kỳ thắc mắc nào thì hãy để lại bình luận bên dưới nhé.

THEO DÕI VÀ CẬP NHẬT CHỦ ĐỀ BẠN QUAN TÂM

Đăng ký ngay để nhận những thông tin mới nhất từ blog của chúng tôi. Đừng bỏ lỡ cơ hội truy cập kiến thức và tin tức hàng ngày

Chọn chủ đề :

Hưng Nguyễn

Co-Founder
tại

Kết nối với mình qua

Kết nối với mình qua

Theo dõi
Thông báo của
guest
0 Comments
Phản hồi nội tuyến
Xem tất cả bình luận

Tăng tốc độ website - Nâng tầm giá trị thương hiệu

Tăng tốc tải trang

95 điểm

Nâng cao trải nghiệm người dùng

Tăng 8% tỷ lệ chuyển đổi

Thúc đẩy SEO, Google Ads hiệu quả

Tăng tốc ngay

SẢN PHẨM NỔI BẬT

7 NGÀY DÙNG THỬ HOSTING

NẮM BẮT CƠ HỘI, THÀNH CÔNG DẪN LỐI

Cùng trải nghiệm dịch vụ hosting tốc độ cao được hơn 100,000 khách hàng sử dụng

ĐĂNG KÝ NHẬN TÀI LIỆU THÀNH CÔNG
Cảm ơn bạn đã đăng ký nhận tài liệu mới nhất từ Vietnix!
ĐÓNG

ĐĂNG KÝ DÙNG THỬ HOSTING

7 NGÀY MIỄN PHÍ

ĐĂNG KÝ DÙNG THỬ HOSTING

7 NGÀY MIỄN PHÍ

XÁC NHẬN ĐĂNG KÝ DÙNG THỬ THÀNH CÔNG
Cảm ơn bạn đã đăng ký thông tin thành công. Đội ngũ CSKH sẽ liên hệ trực tiếp để kích hoạt dịch vụ cho bạn nhanh nhất!
ĐÓNG