Lệnh httpd trong linux với các ví dụ dễ hiểu

```html

Lệnh httpd trong Linux là một công cụ mạnh mẽ để quản lý máy chủ web Apache, giúp khởi động, dừng hoặc khởi động lại dịch vụ một cách dễ dàng. Nó cho phép bạn kiểm soát hoạt động của máy chủ web, đảm bảo trang web của bạn luôn sẵn sàng phục vụ người dùng. Sử dụng httpd, bạn có thể cấu hình các tùy chọn khác nhau cho máy chủ web của mình.

```

Lệnh httpd trong linux là gì?

Lệnh command httpd in linux là một công cụ dòng lệnh dùng để quản lý dịch vụ web Apache HTTP Server, một phần mềm máy chủ web phổ biến. Nó cho phép bạn khởi động, dừng, khởi động lại, và kiểm tra trạng thái của máy chủ web Apache một cách dễ dàng. Sử dụng httpd, bạn có thể cấu hình các tùy chọn khác nhau cho máy chủ web, ví dụ như cổng lắng nghe và các module được kích hoạt. Đây là một công cụ quan trọng cho các nhà phát triển web và quản trị viên hệ thống để đảm bảo website hoạt động ổn định. Nó giúp bạn kiểm soát và duy trì máy chủ web Apache một cách hiệu quả trên hệ thống Linux của mình.

Cài đặt Apache HTTP Server trên Ubuntu 22.04

Trong bước này, chúng ta sẽ cài đặt Apache HTTP Server trên Docker container Ubuntu 22.04.

Đầu tiên, hãy cập nhật package index để đảm bảo có thông tin mới nhất:

sudo apt-get update

Ví dụ về kết quả:

Hit:1 http://archive.ubuntu.com/ubuntu jammy InRelease
Get:2 http://security.ubuntu.com/ubuntu jammy-security InRelease [110 kB]
Get:3 http://archive.ubuntu.com/ubuntu jammy-updates InRelease [114 kB]
Get:4 http://archive.ubuntu.com/ubuntu jammy-backports InRelease [99.8 kB]
Fetched 324 kB in 1s (324 kB/s)
Reading package lists... Done

Tiếp theo, hãy cài đặt package Apache HTTP Server bằng lệnh sau:

sudo apt update
sudo apt-get install -y apache2

Ví dụ về kết quả:

Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
  apache2-bin apache2-data apache2-utils libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap libexpat1 libxml2 procps
Suggested packages:
  www-browser
The following NEW packages will be installed:
  apache2 apache2-bin apache2-data apache2-utils libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap libexpat1 libxml2 procps
0 upgraded, 11 newly installed, 0 to remove and 0 not upgraded.
Need to get 1,679 kB of archives.
After this operation, 7,542 kB of additional disk space will be used.
Do you want to continue? [Y/n] Y
Get:1 http://archive.ubuntu.com/ubuntu jammy/main amd64 libapr1 amd64 1.7.0-6ubuntu0.22.04.1 [94.8 kB]
Get:2 http://archive.ubuntu.com/ubuntu jammy/main amd64 libaprutil1 amd64 1.6.1-4ubuntu2 [87.1 kB]
...
Selecting previously unselected package apache2.
(Reading database ... 14342 files and directories currently installed.)
Preparing to unpack .../apache2_2.4.52-1ubuntu4.1_amd64.deb ...
Unpacking apache2 (2.4.52-1ubuntu4.1) ...
Selecting previously unselected package apache2-bin.
Preparing to unpack .../apache2-bin_2.4.52-1ubuntu4.1_amd64.deb ...
Unpacking apache2-bin (2.4.52-1ubuntu4.1) ...
...
Setting up apache2 (2.4.52-1ubuntu4.1) ...
Creating config file /etc/apache2/apache2.conf with new version
Creating config file /etc/apache2/ports.conf with new version
...
Processing triggers for systemd (249.11-0ubuntu3.6) ...
Processing triggers for man-db (2.10.2-1) ...
Processing triggers for ufw (0.36.1-2ubuntu1) ...

Sau khi cài đặt hoàn tất, ta có thể kiểm tra xem Apache HTTP Server đang chạy hay không.

sudo systemctl status apache2

Ví dụ về kết quả:

● apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2023-04-28 06:29:07 UTC; 10s ago
       Docs: https://httpd.apache.org/docs/2.4/
    Process: 1190 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
   Main PID: 1196 (apache2)
      Tasks: 55 (limit: 4686)
     Memory: 7.1M
        CPU: 86ms
     CGroup: /system.slice/apache2.service
             ├─1196 /usr/sbin/apache2 -k start
             ├─1197 /usr/sbin/apache2 -k start
             └─1198 /usr/sbin/apache2 -k start

Kết quả cho thấy Apache HTTP Server đang chạy và ở trạng thái active.

Khởi động, Dừng và Khởi động lại Apache HTTP Server

Trong bước này, chúng ta sẽ tìm hiểu cách khởi động, dừng và khởi động lại Apache HTTP Server.

Đầu tiên, hãy cùng nhau khởi động Apache HTTP Server:

sudo systemctl start apache2

Ví dụ về kết quả đầu ra:

Để xác minh Apache HTTP Server đang chạy, ta dùng lệnh systemctl status:

sudo systemctl status apache2

Ví dụ về kết quả đầu ra:

● apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2023-04-28 06:29:07 UTC; 10s ago
       Docs: https://httpd.apache.org/docs/2.4/
    Process: 1190 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
   Main PID: 1196 (apache2)
      Tasks: 55 (limit: 4686)
     Memory: 7.1M
        CPU: 86ms
     CGroup: /system.slice/apache2.service
             ├─1196 /usr/sbin/apache2 -k start
             ├─1197 /usr/sbin/apache2 -k start
             └─1198 /usr/sbin/apache2 -k start

Tiếp theo, chúng ta sẽ dừng Apache HTTP Server:

sudo systemctl stop apache2

Ví dụ về kết quả đầu ra:

Để xác minh Apache HTTP Server đã dừng, ta dùng lại lệnh systemctl status:

sudo systemctl status apache2

Ví dụ về kết quả đầu ra:

● apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
     Active: inactive (dead) since Fri 2023-04-28 06:29:17 UTC; 5s ago
       Docs: https://httpd.apache.org/docs/2.4/
    Process: 1190 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
    Process: 1321 ExecStop=/usr/sbin/apachectl stop (code=exited, status=0/SUCCESS)
   Main PID: 1196 (code=exited, status=0/SUCCESS)

Cuối cùng, hãy khởi động lại Apache HTTP Server:

sudo systemctl restart apache2

Ví dụ về kết quả đầu ra:

Xác minh Apache HTTP Server đang chạy lại:

sudo systemctl status apache2

Ví dụ về kết quả đầu ra:

● apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2023-04-28 06:29:22 UTC; 5s ago
       Docs: https://httpd.apache.org/docs/2.4/
    Process: 1190 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
    Process: 1321 ExecStop=/usr/sbin/apachectl stop (code=exited, status=0/SUCCESS)
    Process: 1358 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
   Main PID: 1364 (apache2)
      Tasks: 55 (limit: 4686)
     Memory: 7.1M
        CPU: 86ms
     CGroup: /system.slice/apache2.service
             ├─1364 /usr/sbin/apache2 -k start
             ├─1365 /usr/sbin/apache2 -k start
             └─1366 /usr/sbin/apache2 -k start

Kết quả cho thấy Apache HTTP Server đang chạy lại sau khi khởi động lại.

Cấu hình Virtual Host cho Apache

Trong bước này, chúng ta sẽ cấu hình Apache virtual host để host nhiều website trên cùng một server.

Đầu tiên, hãy tạo hai thư mục cho các virtual host của chúng ta:

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

Tiếp theo, tạo một file index.html mặc định cho mỗi virtual host:

echo "<h1>Welcome to example.com</h1>" | sudo tee /var/www/example.com/index.html
echo "<h1>Welcome to example.org</h1>" | sudo tee /var/www/example.org/index.html

Bây giờ, hãy cấu hình các Apache virtual host. Mở file cấu hình Apache mặc định:

sudo nano /etc/apache2/sites-available/000-default.conf

Thay thế nội dung của file bằng đoạn cấu hình sau:

<VirtualHost *:80>
    ServerName example.com
    DocumentRoot /var/www/example.com
</VirtualHost>

<VirtualHost *:80>
    ServerName example.org
    DocumentRoot /var/www/example.org
</VirtualHost>

Lưu và đóng file cấu hình vừa chỉnh sửa.

Kích hoạt các cấu hình virtual host mới vừa tạo:

sudo a2ensite 000-default.conf

Cuối cùng, khởi động lại Apache HTTP Server để áp dụng các thay đổi:

sudo systemctl restart apache2

Bây giờ, bạn có thể truy cập http://example.comhttp://example.org trên trình duyệt để thấy trang chào mừng.

Kết luận cho linux httpd command

Tóm lại, lệnh linux httpd command là một công cụ mạnh mẽ để quản lý máy chủ web Apache trên hệ thống Linux của bạn. Với các tùy chọn đa dạng, bạn có thể dễ dàng khởi động, dừng, khởi động lại và kiểm tra trạng thái của máy chủ web. Việc nắm vững các lệnh cơ bản sẽ giúp bạn duy trì và quản lý website một cách hiệu quả. Hãy thử nghiệm và khám phá thêm các tùy chọn khác để tối ưu hóa hiệu suất máy chủ của bạn. Đừng ngần ngại tìm kiếm thêm thông tin và tài liệu tham khảo để hiểu rõ hơn về cách thức hoạt động của Apache. Chúc bạn thành công trong việc quản lý máy chủ web của mình! Hy vọng bài viết này đã cung cấp cho bạn những kiến thức hữu ích về lệnh httpd.

Last Updated : 15/10/2025