Cài đặt Apache Tomcat trên CentOS 7 - Install Apache Tomcat CentOS 7
Apache Tomcat là một máy chủ mã nguồn mở dành cho Java servlet và Java Server Page. Nó đã cho phép các nhà phát triển xây dựng và triển khai các ứng dụng Java động. Servlet Java là các chương trình Java nhỏ xác định cách máy chủ xử lý các yêu cầu và phản hồi. Các nhà phát triển viết các servlet, trong khi Tomcat xử lý tất cả công việc phía sau và định tuyến. Với việc là mã nguồn mở, Apache Tomcat được đóng góp bởi các nhà phát triển từ khắp nơi trên thế giới. Dưới đây sẽ là hướng dẫn cách install Apache Tomcat CentOS 7.
Các tính năng của Apache Tomcat 10
Apache Tomcat 10 là phiên bản mới nhất, các ứng dụng chạy trên phiên bản 9 hoặc cũ hơn cần phải thay đổi để có thể chạy trên phiên bản 10. Một số thay đổi được thực hiện trong phiên bản 10 bao gồm:
- Tái cấu trúc bảo vệ overhead của HTTP/2 để giảm khả năng xảy ra các kết quả xác nhận sai.
- Cập nhật phiên bản trình biên dịch Eclipse JDT lên 4.20.
- Khắc phục các lỗi hồi quy trong việc biên dịch JSP trong phiên bản trước đó.
Install Apache Tomcat CentOS 7
Việc cài đặt Apache Tomcat đòi hỏi một số bước như đã được thảo luận dưới đây:
Bước 1: Update hệ thống
Luôn luôn chạy cập nhật gói trên máy chủ của bạn để đảm bảo rằng bạn có các gói mới nhất trong quá trình cài đặt.
sudo dnf -y update
Bước 2: Cài đặt Hostname và Hosts File
Thiết lập tên máy chủ và cấu hình tệp hosts bằng các lệnh dưới đây:
$ sudo hostnamectl set-hostname tomcat.example.com $ sudo vim /etc/hosts 192.168.50.3 tomcat.example.com
Sau đó, bạn có thể khởi động lại để thay đổi trên có hiệu lực.
sudo reboot
Bước 3: Cài đặt OpenJDK trên CentOS 7
Chúng ta cần cài đặt môi trường thực thi OpenJDK như dưới đây. Ở đây sẽ cài đặt phiên bản 11 nhưng bạn cũng có thể lựa chọn cài đặt phiên bản 8. Đối với những nhà phát triển, họ có thể chọn môi trường phát triển.
# OpenJDK 11 sudo dnf -y install java-11-openjdk java-11-openjdk-devel # OpenJDK 8 sudo dnf install java-1.8.0-openjdk java-1.8.0-openjdk-devel
Bước 4: Tạo một người dùng không phải là người dùng root và một thư mục cho Tomcat
Chúng ta cần tạo một người dùng không phải là người dùng root, chỉ được truy cập vào Tomcat và không được sử dụng cho mục đích khác. Chúng ta cũng cần một thư mục để đặt các tệp của Tomcat.
# Add Tomcat group sudo groupadd tomcat # Create Tomcat directory sudo mkdir /opt/tomcat # Create tomcat user, disable login and give rights sudo useradd -s /bin/nologin -g tomcat -d /opt/tomcat tomcat
Bước 5: Tải xuống Tomcat 10 trên CentOS 7
Bây giờ, truy cập trang chính thức của Apache Tomcat để tải về phiên bản mới nhất của Tomcat. Khi bạn đã truy cập vào trang đó, nhấp chuột phải vào tệp .tar.gz và sao chép địa chỉ liên kết.
Sử dụng lệnh wget để tải về tệp nhị phân của Apache Tomcat như sau.
sudo dnf install wget VER="10.0.22" wget https://archive.apache.org/dist/tomcat/tomcat-10/v${VER}/bin/apache-tomcat-${VER}.tar.gz
Giải nén tệp lưu trữ và sao chép các tệp đã giải nén vào thư mục tomcat đã được tạo trước đó.
sudo mkdir -p /opt/tomcat sudo tar -xvf apache-tomcat-${VER}.tar.gz -C /opt/tomcat --strip-components=1
Bước 6: Thiết lập quyền truy cập cho các thư mục của Tomcat
Chúng ta cần cho phép người dùng tomcat đọc các tệp trong thư mục tomcat. Đồng thời cũng cần cho phép các tập lệnh trong thư mục có khả năng thực thi.
sudo chown -R tomcat: /opt/tomcat sudo sh -c 'chmod +x /opt/tomcat/bin/*.sh'
Bước 7: Tạo tệp hệ thống Systemd cho Apache Tomcat
Chúng ta có thể tạo một tệp systemd để khởi động và dừng Apache Tomcat. Điều này cũng rất hữu ích để tự động khởi động tomcat khi hệ thống khởi động lại. Chúng ta cần truyền vị trí cài đặt Java như một biến trong tệp systemd. Để lấy đường dẫn, chạy lệnh dưới đây:
$ sudo alternatives --list | grep ^java java auto /usr/lib/jvm/java-11-openjdk-11.0.15.0.10-2.el8_6.x86_64/bin/java javac auto /usr/lib/jvm/java-11-openjdk-11.0.15.0.10-2.el8_6.x86_64/bin/javac java_sdk_openjdk auto /usr/lib/jvm/java-11-openjdk-11.0.15.0.10-2.el8_6.x86_64 java_sdk_11 auto /usr/lib/jvm/java-11-openjdk-11.0.15.0.10-2.el8_6.x86_64 java_sdk_11_openjdk auto /usr/lib/jvm/java-11-openjdk-11.0.15.0.10-2.el8_6.x86_64
Tiến hành tạo tệp dịch vụ Apache Tomcat.
sudo vim /etc/systemd/system/tomcat.service
Dán nội dung sau đây:
[Unit] Description=Apache Tomcat Web Application Container Wants=network.target After=network.target [Service] Type=forking Environment=JAVA_HOME=/usr/lib/jvm/jre Environment=CATALINA_PID=/opt/tomcat/temp/tomcat.pid Environment=CATALINA_HOME=/opt/tomcat Environment='CATALINA_OPTS=-Xms512M -Xmx1G -Djava.net.preferIPv4Stack=true' Environment='JAVA_OPTS=-Djava.awt.headless=true' ExecStart=/opt/tomcat/bin/startup.sh ExecStop=/opt/tomcat/bin/shutdown.sh SuccessExitStatus=143 User=tomcat Group=tomcat UMask=0007 RestartSec=10 Restart=always [Install] WantedBy=multi-user.target
Bước 8: Khởi động và kích hoạt dịch vụ Tomcat
Bây giờ chúng ta đã có tệp dịch vụ, bạn có thể dễ dàng khởi động và kích hoạt Apache Tomcat để tự động khởi động khi hệ thống được khởi động lại.
sudo systemctl daemon-reload sudo systemctl start tomcat sudo systemctl enable tomcat
Xác nhận trạng thái của Tomcat để đảm bảo rằng nó đang chạy.
systemctl status status tomcat
Kết quả đầu ra dưới đây cho thấy rằng nó đang chạy.
Bước 9: Cấu hình quản lý Web của Tomcat
Apache Tomcat có thể được quản lý hoàn toàn từ giao diện web. Chúng ta cần tạo một người dùng và mật khẩu để truy cập quản lý web như sau:
sudo vim /opt/tomcat/conf/tomcat-users.xml
Thêm các dòng được đánh dấu vào giữa thẻ <tomcat-users> để có dạng như sau:
<tomcat-users ... <!-- <role rolename="tomcat"/> <role rolename="role1"/> <user username="tomcat" password="must-be-changed" roles="tomcat"/> <user username="both" password="must-be-changed" roles="tomcat,role1"/> <user username="role1" password="must-be-changed" roles="role1"/> --> <role rolename="admin-gui"/> <user username="admin" password="MyAdminPassword" roles="admin-gui"/> <role rolename="manager-gui"/> <user username="admin" password="MyManagerPassword" roles="manager-gui"/> </tomcat-users>
Chúng ta cũng cần cho phép Tomcat có thể truy cập từ xa cả cho ứng dụng quản lý và quản lý máy chủ. Theo mặc định, Tomcat chỉ có thể truy cập từ máy cục bộ.
Đối với kết nối đến manager:
sudo vim /opt/tomcat/webapps/manager/META-INF/context.xml
Nhập địa chỉ IP từ xa để truy cập vào Tomcat, được tách ra bằng dấu gạch đứng (|). Trong trường hợp của bạn, địa chỉ IP từ xa là 192.168.50.2.
...
<Context antiResourceLocking="false" privileged="true" >
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|192.168.50.2" />
...
</Context>
Đối với Host Manager:
sudo vim /opt/tomcat/webapps/host-manager/META-INF/context.xml
Thêm địa chỉ IP từ xa.
...
<Context antiResourceLocking="false" privileged="true" >
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|192.168.50.2" />
...
</Context>
Bước 10: Cho phép Apache Tomcat thông qua tường lửa
Nếu bạn có một tường lửa đang hoạt động, bạn cần mở cổng Tomcat trên tường lửa.
sudo firewall-cmd --add-port=8080/tcp --permanent
sudo firewall-cmd --reload
Tại điểm này, bạn đã cài đặt thành công Apache Tomcat và bạn có thể kiểm tra từ trình duyệt bằng đường dẫn http://<your-server-ip>:8080. Bạn sẽ thấy trang như dưới đây mở ra:
Bước 11: Cấu hình Nginx như một Reverse Proxy cho Apache Tomcat
Trong quá trình cài đặt, chúng ta sẽ sử dụng máy chủ web Nginx để truy cập ứng dụng Apache Tomcat.
Cài đặt Nginx trên CentOS 7
Chúng ta bắt đầu bằng cách cài đặt Nginx.
sudo dnf install -y nginx
Sau đó, bắt đầu và kích hoạt Nginx.
sudo systemctl start nginx
sudo systemctl enable nginx
Tạo Virtual Host Nginx cho Apache Tomcat
Tạo tệp cấu hình Virtual Host như sau:
sudo vim /etc/nginx/conf.d/tomcat.conf
Thêm nội dung sau vào tệp cấu hình Virtual Host:
server {
listen 80;
server_name tomcat.example.com;
root /opt/tomcat/webapps/;
location / {
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:8080/;
}
}
Kiểm tra cấu hình Nginx của bạn.
sudo nginx -t
Khởi động lại Nginx.
sudo systemctl restart nginx
Bây giờ hãy truy cập Apache Tomcat bằng trình duyệt sử dụng tên máy chủ của bạn. Trong trường hợp của này, địa chỉ là http://example.com.
Nếu bạn nhấp vào "Server Status" hoặc "Manager App", nó sẽ yêu cầu bạn nhập tên người dùng và mật khẩu để có thể truy cập.
Nhập tên người dùng và mật khẩu Admin hoặc Manager mà bạn đã cấu hình trong tệp tomcat-users.xml. Bây giờ bạn đã sẵn sàng sử dụng giao diện web của Apache Tomcat. Đó là tất cả hướng dẫn, bạn đã install Apache Tomcat CentOS 7 thành công.
Mọi người cũng tìm kiếm: install tomcat centos 7, add tomcat user, openjdk install centos