Cách cài đặt máy chủ web Apache với Let's Encrypt SSL trên Ubuntu

Tác giả Security+, T.Tư 26, 2024, 02:49:06 CHIỀU

« Chủ đề trước - Chủ đề tiếp »

0 Thành viên và 1 Khách đang xem chủ đề.

Apache là một mã nguồn mở, miễn phí và là một trong những máy chủ web phổ biến nhất được phát triển và duy trì bởi Quỹ phần mềm Apache. Nó có thể được cài đặt trên tất cả các hệ điều hành phổ biến như Linux, Windows, macOS, Solaris, v.v. Nó có thể tùy chỉnh và có thể tích hợp với các mô-đun khác. Nó nhanh, an toàn, đáng tin cậy và được sử dụng cho các trang web tĩnh đơn giản hoặc cực kỳ năng động. Apache cung cấp các tính năng rất hữu ích như mô-đun động có thể tải, lập chỉ mục tự động, khả năng tương thích IPv6, nén Gzip, cân bằng tải, viết lại URL và hơn thế nữa.

Trong bài viết này, chúng tôi sẽ hướng dẫn bạn cách cài đặt máy chủ web Apache với Let's Encrypt trên Ubuntu 22.04.

1. Yêu cầu

  • Một máy chủ chạy Ubuntu 22.04.
  • Một tên miền hợp lệ trỏ đến IP máy chủ của bạn.
  • Mật khẩu gốc được cấu hình trên máy chủ.

2. Cài đặt Apache trên Ubuntu 22.04

Theo mặc định, gói máy chủ web Apache được bao gồm trong kho lưu trữ mặc định của Ubuntu 22.04. Bạn có thể cài đặt nó bằng lệnh sau:

Mã nguồn [Chọn]
apt install apache2 -y
Sau khi cài đặt thành công, hãy khởi động dịch vụ Apache và kích hoạt nó bằng lệnh sau để nó khởi động khi hệ thống được khởi động lại:

Mã nguồn [Chọn]
systemctl start apache2
systemctl enable apache2

Để kiểm tra trạng thái của Apache, hãy chạy lệnh sau:

Mã nguồn [Chọn]
systemctl status apache2
Bạn sẽ nhận được kết quả đầu ra sau:


3. Cài đặt tường lửa UFW

Theo mặc định, tường lửa UFW không được cài đặt trên máy chủ Ubuntu 22.04. Bạn có thể cài đặt nó bằng cách thực hiện lệnh sau:

Mã nguồn [Chọn]
apt install ufw -y
Sau khi tường lửa UFW được cài đặt, hãy liệt kê tất cả các ứng dụng bằng lệnh sau:

Mã nguồn [Chọn]
ufw app list
Đầu ra sau đây sẽ cung cấp cho bạn danh sách tất cả các ứng dụng có sẵn trong UFW:

Mã nguồn [Chọn]
Available applications:
  Apache
  Apache Full
  Apache Secure
  OpenSSH

Bây giờ cho phép hoàn toàn dịch vụ Apache và dịch vụ OpenSSH bằng lệnh sau:

Mã nguồn [Chọn]
ufw allow 'Apache Full'
ufw allow OpenSSH

Bây giờ hãy kích hoạt tường lửa UFW để nó khởi động sau khi khởi động lại hệ thống:

Mã nguồn [Chọn]
ufw enable
Tiếp theo, kiểm tra trạng thái của tường lửa UFW bằng lệnh sau:

Mã nguồn [Chọn]
ufw status
Bạn sẽ thấy đầu ra sau:


Bây giờ hãy mở trình duyệt web của bạn và truy cập trang kiểm tra máy chủ web Apache thông qua URL http://your-server-ip. Bạn sẽ thấy trang thử nghiệm Apache trên màn hình sau:


Khi hoàn tất, bạn có thể tiến hành bước tiếp theo.

4. Định cấu hình máy chủ ảo Apache

Apache cung cấp các tính năng lưu trữ ảo cho phép bạn lưu trữ nhiều trang web trên một máy chủ. Trong phần này, chúng tôi sẽ hướng dẫn bạn cách thiết lập máy chủ ảo Apache trên Ubuntu 22.04.

4.1. Tạo thư mục cho Máy chủ ảo Apache

Đầu tiên, bạn cần tạo một thư mục cho trang web của mình. Chúng tôi sẽ tạo một thư mục cho trang web có tên   Đăng nhập để xem liên kết.

Mã nguồn [Chọn]
mkdir -p /var/www/html/test.example.com
Tiếp theo, sử dụng lệnh bên dưới để thay đổi quyền sở hữu thư mục đã tạo thành người dùng và nhóm dữ liệu www:

Mã nguồn [Chọn]
chown -R www-data:www-data /var/www/html/test.example.com
Tiếp theo, sử dụng lệnh sau để tạo một trang HTML đơn giản cho trang web của bạn:

Mã nguồn [Chọn]
nano /var/www/html/test.example.com/index.html
Dán đoạn mã sau:

Mã nguồn [Chọn]
<html>
 <head>
  <title>Welcome to test.example.com</title>
 </head>
 <body>
   <h1>Success!  Apache virtual host is working! </h1>
 </body>
</html>

Lưu và đóng tệp khi bạn hoàn tất.

4.2. Tạo tệp cấu hình Máy chủ ảo Apache

Tiếp theo, bạn sẽ cần tạo cấu hình Máy chủ ảo Apache để lưu trữ trang web   Đăng nhập để xem liên kết. Bạn có thể tạo nó bằng lệnh sau:

Mã nguồn [Chọn]
nano /etc/apache2/sites-available/test.example.com.conf
Dán các dòng sau:

Mã nguồn [Chọn]
<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    ServerName test.example.com
    DocumentRoot /var/www/html/test.example.com
    DirectoryIndex index.html
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Lưu và đóng tệp khi bạn hoàn tất và kích hoạt máy chủ ảo Apache bằng lệnh sau:

Mã nguồn [Chọn]
a2ensite test.example.com.conf
Sau đó khởi động lại dịch vụ Apache để áp dụng các thay đổi cấu hình:

Mã nguồn [Chọn]
systemctl restart apache2
Bạn cũng có thể kiểm tra trạng thái Apache bằng lệnh sau:

Mã nguồn [Chọn]
systemctl status apache2
Bây giờ hãy mở trình duyệt web của bạn và kiểm tra trang web của bạn bằng URL   Đăng nhập để xem liên kết. Bạn sẽ thấy trang index.html trên màn hình sau:


Sau khi hoàn tất, bạn có thể bảo mật trang web bằng Let's Encrypt SSL.

5. Bảo mật máy chủ web Apache với Let's Encrypt SSL

Theo mặc định, máy chủ web Apache không được bảo mật. Vì vậy, nên cài đặt Let's Encrypt SSL để bảo mật thông tin liên lạc.

Trước tiên hãy cài đặt gói máy khách Certbot để quản lý chứng chỉ SSL:

Mã nguồn [Chọn]
apt install certbot python3-certbot-apache -y
Sau khi cài đặt Certbot, hãy chạy lệnh sau để cài đặt và định cấu hình Let's Encrypt SSL cho trang web của bạn.

Mã nguồn [Chọn]
certbot --apache
Bạn sẽ được yêu cầu nhập địa chỉ email của bạn:


Nhập địa chỉ email hợp lệ của bạn và nhấn enter. Bạn sẽ được hỏi liệu bạn có chấp nhận các điều khoản sử dụng hay không:


Gõ Y và nhấn enter. Bạn sẽ được hỏi xem bạn có muốn chia sẻ địa chỉ email của mình không:


Gõ N và nhấn enter. Bạn sẽ được yêu cầu chọn miền mà bạn muốn bật HTTPS:


Nhấn Enter để chọn tên miền của bạn và bắt đầu cài đặt. Khi Let's Encrypt SSL được cài đặt và định cấu hình, bạn sẽ nhận được kết quả đầu ra sau:


Giờ đây, bạn có thể truy cập trang web của mình một cách an toàn bằng cách sử dụng URL   Đăng nhập để xem liên kết.

Chúc mừng! Bạn đã cài đặt thành công máy chủ web Apache với Let's Encrypt SSL trên Ubuntu 22.04. Bây giờ bạn có thể bắt đầu lưu trữ ứng dụng của mình với máy chủ web Apache.