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

By | 8 July, 2020

Apache là một trong những máy chủ web phổ biến nhất trên thế giới. Nó là một máy chủ HTTP đa nền tảng và mã nguồn mở cung cấp một tỷ lệ lớn các trang web của Internet. Apache cung cấp nhiều tính năng mạnh mẽ có thể được mở rộng thông qua các mô-đun bổ sung.

Hướng dẫn này mô tả cách cài đặt và quản lý máy chủ web Apache trên Ubuntu 20.04.

Điều kiện tiên quyết

Trước khi bắt đầu với hướng dẫn, hãy đảm bảo bạn đã đăng nhập với tư cách là người dùng có quyền sudo .

Cài đặt Apache

Apache được bao gồm trong kho Ubuntu mặc định.

Việc cài đặt khá đơn giản. Trên các hệ thống Ubuntu và Debian, gói Apache và dịch vụ được gọi apache2.

Chạy các lệnh sau để cập nhật chỉ mục gói và cài đặt Apache:

sudo apt update
sudo apt install apache2

Khi quá trình cài đặt hoàn tất, dịch vụ Apache sẽ tự động khởi động.

Bạn có thể xác minh rằng Apache đang chạy bằng cách gõ:

sudo systemctl status apache2

Output sẽ cho bạn biết rằng dịch vụ đang chạy và được bật khi bắt đầu khởi động hệ thống:

● apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
     Active: active (running) since Sat 2020-05-09 19:28:40 UTC; 36min ago
...

Thế là xong, bạn đã cài đặt thành công Apache trên máy chủ Ubuntu 20.04 của mình và bạn có thể bắt đầu sử dụng nó.

Mở cổng HTTP và HTTP

Apache lắng nghe trên cổng 80(HTTP) và 443(HTTPS). Bạn phải mở các cổng đó trong tường lửa của mình để máy chủ web có thể truy cập được từ Internet.

Giả sử bạn đang sử dụng UFW, bạn có thể làm điều đó bằng cách bật cấu hình ‘Apache Full’ bao gồm các quy tắc cho cả hai cổng:

sudo ufw allow 'Apache Full'

Xác nhận thay đổi:

sudo ufw status

Output:

Status: active

To                         Action      From
--                         ------      ----
22/tcp                     ALLOW       Anywhere
Apache Full                ALLOW       Anywhere
22/tcp (v6)                ALLOW       Anywhere (v6)
Apache Full (v6)           ALLOW       Anywhere (v6)

Xác minh cài đặt Apache

Để xác minh rằng mọi thứ hoạt động chính xác, hãy mở trình duyệt của bạn, nhập địa chỉ IP máy chủ của bạn http://YOUR_IP_OR_DOMAIN/và bạn sẽ thấy trang chào mừng mặc định của Ubuntu 20.04 Apache như được hiển thị bên dưới:

apache wellcome page

Trang này bao gồm một số thông tin cơ bản về các tệp cấu hình Apache, tập lệnh trợ giúp và vị trí thư mục.

Thiết lập Virtual Host

Virtual Host là một chỉ thị cấu hình Apache cho phép bạn chạy nhiều hơn một trang web trên một máy chủ. Thông thường một máy chủ ảo mô tả một trang web.

Apache có một Virtual Host được bật theo mặc định. Tất cả các tên miền trỏ đến địa chỉ IP của máy chủ sẽ khớp với Virtual Host mặc định. Nếu bạn sẽ lưu trữ một trang web duy nhất, bạn có thể tải lên nội dung của nó /var/www/html và chỉnh sửa chỉnh sửa cấu Virtual Host ảo được tìm thấy trong tệp /etc/apache2/sites-enabled/000-default.conf.

Nếu bạn có ý định lưu trữ nhiều trang web, bạn sẽ cần tạo cấu hình Virtual Hostcho mỗi trang web. Trong phần này, chúng tôi sẽ thiết lập một trang web cho một tên miền gọi là example example.com. Bạn có thể thay thế example.com bằng tên miền của bạn.

Bước đầu tiên là tạo thư mục gốc tài liệu trong đó các tệp trang web cho tên miền sẽ được lưu trữ và phục vụ theo yêu cầu. Chạy lệnh sau để tạo thư mục :

sudo mkdir -p /var/www/example.com

Đối với mục đích thử nghiệm, tạo một file index.html trong thư mục gốc của tài liệu miền: /var/www/example.com/index.html

<!DOCTYPE html>
<html lang="en" dir="ltr">
  <head>
    <meta charset="utf-8">
    <title>Welcome to example.com</title>
  </head>
  <body>
    <h1>Success! example.com home page!</h1>
  </body>
</html>

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

Để tránh các vấn đề về quyền, thay đổi quyền sở hữu thư mục gốc của tài liệu miền thành người dùng apache ( www-data):

sudo chown -R www-data: /var/www/example.com

Bước tiếp theo là tạo một cấu hình Virtual Host cho tên miền example.com. Cách thực hành tốt nhất là lưu trữ từng cấu hình vhost trong một tệp riêng.

Các tập tin vhosts Apache được lưu trữ trong thư mục /etc/apache2/sites-available. Quy ước đặt tên tiêu chuẩn là đặt tên tệp theo tên miền.

Mở trình soạn thảo văn bản của bạn và tạo tệp sau: /etc/apache2/sites-available/example.com

<VirtualHost *:80>
    ServerName example.com
    ServerAlias www.example.com
    ServerAdmin [email protected]
    DocumentRoot /var/www/example.com/public_html

    <Directory /var/www/example.com/public_html>
        Options -Indexes +FollowSymLinks
        AllowOverride All
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/example.com-error.log
    CustomLog ${APACHE_LOG_DIR}/example.com-access.log combined
</VirtualHost>

Apache không đọc các tệp cấu hình được tìm thấy trong thư mục /etc/apache2/sites-available trừ khi chúng được liên kết với thư mục /etc/apache2/sites-enabled.

Để kích hoạt cấu hình máy chủ ảo, hãy tạo một Symbolic Link trong linux bằng tool a2ensite:

sudo a2ensite example.com

Kiểm tra cấu hình xem có bất kỳ lỗi cú pháp nào không với:

sudo apachectl configtest

Nếu không có lỗi, bạn sẽ thấy đầu ra sau:

Syntax OK

Khởi động lại dịch vụ Apache để các thay đổi có hiệu lực:

sudo systemctl restart apache2

Cuối cùng, để xác minh rằng mọi thứ đều hoạt động như mong đợi, hãy mở http://example.com trong trình duyệt của bạn và bạn sẽ thấy một cái gì đó như thế này:

Phần kết luận

Tôi đã chỉ cho bạn cách cài đặt Apache trên Ubuntu 20.04. Bây giờ bạn đã sẵn sàng để bắt đầu triển khai các ứng dụng của mình và sử dụng Apache làm máy chủ web hoặc proxy.

Nếu bạn có bất kỳ câu hỏi hoặc phản hồi, hãy để lại nhận xét.

Leave a Reply

avatar
  Subscribe  
Notify of