Cài đặt Apache Tomcat 9 trên Ubuntu 20.04

Apache Tomcat là gì?

Apache Tomcat là một web server HTTP được phát triển bởi Apache Software Foundation, hỗ trợ mạnh cho ứng dụng Java thay vì website tĩnh. Do đó, nó có thể chạy nhiều bản Java chuyên biệt như Java Servlet, JavaServer Pages (JSP), Java EL, và WebSocket.

Bạn hoàn toàn có thể sử dụng Apache Tomcat với nhiều ngôn ngữ lập trình khác như PHP, Python, Perl,… Nhờ sự giúp đỡ của module Apache phù hợp, chẳng hạn mod_php, mod_python, mod_perl,…

Bài viết này sẽ hướng dẫn các bạn cài đặt Tomcat trên Ubuntu 20

Cài đặt Tomcat trên Ubuntu 20

Môi trường cài đặt là một máy tính cài Ubuntu 20 với quyền root hoặc user với quyền sudo.

Cài đặt Java

Tomcat 9 yêu cầu  Java 8 hoặc cao hơn. Bạn có thể cài Java bằng lệnh dưới đây, hoặc bỏ qua nếu hệ thống đã có sẵn.

sudo apt install openjdk-11-jdk

Kiểm tra phiên bản Java

java -version
 
openjdk version "11.0.7" 2020-04-14 
OpenJDK Runtime Environment (build 11.0.7+10-post-Ubuntu-3ubuntu1) 
OpenJDK 64-Bit Server VM (build 11.0.7+10-post-Ubuntu-3ubuntu1, mixed mode, sharing)

Tạo user account cho Tomcat

Để tăng bảo mật, chúng ta nên tạo user riêng cho Tomcat.

Tạo user cho Tomcat bằng lệnh sau:

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

Lệnh trên sẽ tạo ra user và group “tomcat” trên hệ thống.

Download Tomcat

Các bạn có thể kiểm tra phiên bản mới nhất của Tomcat tại official download server. Câu lệnh dưới đây sẽ tải về Tomcat 9.0.35.

wget https://www-us.apache.org/dist/tomcat/tomcat-9/v9.0.35/bin/apache-tomcat-9.0.35.tar.gz

Giải nén và copy vào thư mục của tomcat.

tar xzf apache-tomcat-9.0.35.tar.gz 
sudo mv apache-tomcat-9.0.35/* /opt/tomcat/

Cấp quyền thư mục cho user tomcat

sudo chown -R tomcat:tomcat /opt/tomcat/

Cho phép truy cập từ xa

Mặc định, trình quản lý Tomcat và trình quản lý máy chủ chỉ cho phép truy cập từ localhost,để cho phép truy cập các trang này từ xa, bạn cần tạo các file cấu hình sau.

Tạo thư mục chứa file cấu hình:

mkdir -p /opt/tomcat/conf/Catalina/localhost/

Tạo file manager xml:

sudo nano /opt/tomcat/conf/Catalina/localhost/manager.xml

Thêm các dòng sau

<Context privileged="true" antiResourceLocking="false"
         docBase="{catalina.home}/webapps/manager">
    <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="^.*$" />
</Context>

Sau đó tạo host-manager xml file:

nano /opt/tomcat/conf/Catalina/localhost/host-manager.xml

Thêm các dòng sau

<Context privileged="true" antiResourceLocking="false"
         docBase="${catalina.home}/webapps/host-manager">
    <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="^.*$" />
</Context>

Tạo Tomcat Access Credentials

Chỉnh sửa file conf/tomcat-users.xml để bảo mật truy cập vào trang quản lý admin.

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

Thêm các dòng sau vào giữa thẻ <tomcat-users> </ tomcat-users>. Các bạn nên thay đổi mật khẩu trong cấu hình bên dưới để đảm bảo tính bảo mật cao.

<!-- user manager can access only manager section -->
<role rolename="manager-gui" />
<user username="manager" password="_SECRET_PASSWORD_" roles="manager-gui" />

<!-- user admin can access manager and admin section both -->
<role rolename="admin-gui" />
<user username="admin" password="_SECRET_PASSWORD_" roles="manager-gui,admin-gui" />

Tạo file script  Tomcat Service

Để quản lý Tomcat tắt bật một cách dễ dàng, chúng ta tạo 1 file service systemd như sau:

sudo nano /etc/systemd/system/tomcat.service
[Unit]
Description=Tomcat
After=network.target

[Service]
Type=forking

User=tomcat
Group=tomcat

Environment="JAVA_HOME=/usr/lib/jvm/java-11-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

[Install]
WantedBy=multi-user.target

Reload the systemd daemon service bằng lệnh

sudo systemctl daemon-reload

Sau đó cho phép Tomcat khởi động cùng hệ thống và bật Tomcat bằng lệnh sau:

sudo systemctl enable tomcat 
sudo systemctl start tomcat

Truy cập Tomcat

Tomcat server chạy với cổng mặc định là 8080. Sau khi cài đặt và cấu hình các bạn có thể truy cập thử bằng địa chỉ: http://ip:8080

Lưu ý user và password của manager trong file cấu hình /opt/tomcat/conf/tomcat-users.xml nhé.

Ở đây mình cài trên IP 192.168.1.113 thì truy cập như sau:

 http://192.168.1.113:8080

Trang Application Manager

 http://192.168.1.113:8080/manager/html

Trang Virtual Host Manager

 http://192.168.1.113:8080/host-manager/html

Trên đây hướng dẫn cài TomCat 9 trên Ubuntu 20.04 Chúc các bạn thành công.

Source