Cách cài đặt và cấu hình máy chủ web Apache trên Debian 11

Tác giả NetworkEngineer, T.Hai 18, 2022, 09:40:28 SÁNG

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

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

Cách cài đặt và cấu hình máy chủ web Apache trên Debian 11


Máy chủ Apache là một trong những máy chủ web mã nguồn mở phổ biến nhất được phát triển và duy trì bởi Apache Software Foundation. Apache cho đến nay là ứng dụng máy chủ web được sử dụng rộng rãi nhất trong hệ điều hành Linux, nhưng nó có thể được sử dụng trên hầu hết các nền tảng hệ điều hành như Windows, MAC OS, OS/2, v.v. Nó cho phép các nhà phát triển xuất bản nội dung của họ qua Internet.

Bài viết này giải thích cách cài đặt và cấu hình máy chủ web Apache trên Debian 11 (Bullseye). Các bước tương tự hoạt động và cũng đã được kiểm tra trên phiên bản Debian 10 cũ hơn.

1. Cài đặt Apache 2 trên Debian Linux

Làm theo các bước dưới đây để cài đặt Apache2 trên hệ thống của bạn bằng cách sử dụng kho lưu trữ chính thức của Ubuntu.

Bước 1: Cập nhật kho hệ thống

Đầu tiên, mình sẽ cần cập nhật kho lưu trữ gói trong hệ điều hành của mình. Đối với điều đó, hãy chạy lệnh sau trong Terminal dưới dạng sudo:

Mã nguồn [Chọn]
$ sudo apt update
Khi được nhắc nhập mật khẩu, hãy nhập mật khẩu sudo.


Bước 2: Cài đặt Apache 2 bằng lệnh apt

Tiếp theo trong bước này, cài đặt máy chủ web Apache2 bằng lệnh sau:

Mã nguồn [Chọn]
$ sudo apt install apache2

Bạn sẽ được cung cấp tùy chọn Y / n để tiếp tục cài đặt. Nhấn vào y để tiếp tục.

Bước 3: Xác minh cài đặt Apache

Sau khi cài đặt xong, bạn có thể xem phiên bản Apache đã cài đặt bằng cách chạy lệnh sau trong Terminal. Bằng cách này, bạn cũng có thể xác minh rằng Apache đã được cài đặt thành công trên hệ thống của bạn.

Mã nguồn [Chọn]
$ apache2 -version

2. Cấu hình cài đặt tường lửa

Nếu tường lửa UFW đang chạy trên hệ thống của bạn, bạn sẽ cần cho phép một số cổng web nhất định để người dùng bên ngoài có thể truy cập. Để làm được điều đó, hãy chạy các lệnh sau trong Terminal:

Mã nguồn [Chọn]
$ sudo ufw allow 80/tcp
Mã nguồn [Chọn]
$ sudo ufw allow 443/tcp
Sau đó, chạy lệnh sau để xác minh xem các cổng đã được cho phép hay chưa.

Mã nguồn [Chọn]
$ sudo ufw status
3. Cấu hình cài đặt máy chủ Web Apache

Bước 1: Xác minh rằng dịch vụ Apache đang chạy

Sau khi cài đặt, dịch vụ web Apache bắt đầu chạy tự động. Tuy nhiên để đảm bảo, hãy chạy lệnh sau trong Terminal:

Mã nguồn [Chọn]
$ sudo systemctl status apache2
Kết quả sẽ tương tự như sau:


Bước 2: Xác minh Máy chủ web Apache

Bạn có thể xác minh xem máy chủ web Apache có hoạt động tốt hay không bằng cách yêu cầu một trang web từ máy chủ web Apache.

Thực hiện lệnh dưới đây trong Terminal để tìm địa chỉ IP của máy chủ của bạn.

Mã nguồn [Chọn]
$ hostname -I
Khi bạn tìm thấy địa chỉ IP, hãy nhập http:// theo sau là địa chỉ IP của máy chủ web của bạn như sau:

http://server_IP

Bằng cách nhập địa chỉ IP ở trên, bạn sẽ thấy trang Apache mặc định sau đây.


4. Thiết lập Virtual Hosts trong Apache

Virtual Hosts trong Apache cho phép bạn chạy nhiều trang web trên một máy chủ duy nhất. Ở đây mình sẽ thiết lập Virtual Hosts trong máy chủ web Apache. Đối với điều đó, trước tiên mình sẽ tạo một trang web có tên   Đăng nhập để xem liên kết bằng cách sử dụng khối máy chủ có sẵn trong Apache theo mặc định.

Bước 1: Thiết lập tên miền

Đầu tiên, mình sẽ tạo một thư mục tại /var/www cho máy chủ ảo   Đăng nhập để xem liên kết. Để làm điều đó, mình sẽ sử dụng lệnh sau:

Lưu ý: Thay   Đăng nhập để xem liên kết bằng tên miền của riêng bạn.

Mã nguồn [Chọn]
$ sudo mkdir -p /var/www/testdomain.info/html
Bây giờ thay đổi quyền sở hữu và quyền bằng các lệnh sau:

Mã nguồn [Chọn]
$ sudo chown -R $USER:$USER /var/www/testdomain.info/html
Mã nguồn [Chọn]
$ sudo chmod -R 755 /var/www/testdomain.info
Bây giờ chúng ta sẽ tạo một trang chỉ mục mẫu để kiểm tra trang   Đăng nhập để xem liên kết của chúng ta. Để làm như vậy, mình sẽ tạo một tập tin HTML bằng trình chỉnh sửa nano như sau:

Mã nguồn [Chọn]
$ nano /var/www/testdomain.info/html/index.html
Thêm các dòng sau cho trang chỉ mục:

Mã nguồn [Chọn]
<html>
<head>
<title>Welcome to the page testdomain.info!</title>
</head>
<body>
<h1>You got Lucky! Your testdomain.info server block is up!</h1>
</body>
</html>


Sau khi hoàn tất, nhấn Ctrl + O để lưu và sau đó Ctrl + X để thoát khỏi tập tin.

Bây giờ mình sẽ tạo một tập tin máy chủ ảo sẽ phục vụ nội dung của máy chủ của bạn bằng cách sử dụng lệnh sau:

Mã nguồn [Chọn]
$ sudo nano /etc/apache2/sites-available/testdomain.info.conf
Bây giờ, hãy thêm các chi tiết cấu hình sau cho tên miền của bạn:

Mã nguồn [Chọn]
<VirtualHost *:80>
  ServerAdmin [email protected]
  ServerName testdomain.info
  ServerAlias www.testdomain.info
  DocumentRoot /var/www/testdomain.info/html
  ErrorLog ${APACHE_LOG_DIR}/error.log
  CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>


Sau khi hoàn tất, nhấn Ctrl + O để lưu và sau đó Ctrl + X để thoát khỏi tập tin.

Bước 2: Bật tập tin cấu hình miền

Bây giờ kích hoạt tập tin máy chủ ảo bằng lệnh sau:

Mã nguồn [Chọn]
$ sudo a2ensite testdomain.info.conf

Bây giờ, hãy tắt cấu hình Apache mặc định bằng lệnh sau:

Mã nguồn [Chọn]
$ sudo a2dissite 000-default.conf

Để áp dụng các thay đổi, hãy khởi động lại dịch vụ Apache2 bằng lệnh sau:

Mã nguồn [Chọn]
$ sudo systemctl restart apache2
Bước 3: Kiểm tra lỗi

Bây giờ hãy kiểm tra cấu hình xem có lỗi cú pháp nào không:

Mã nguồn [Chọn]
$ sudo apache2ctl configtest
Trong trường hợp không có lỗi, bạn sẽ nhận được kết quả như sau.


Trong một số trường hợp, bạn có thể nhận được lỗi sau. Trong trường hợp này, lỗi xảy ra trong quá trình thử nghiệm của mình trên hệ thống Debian 10:


Để giải quyết lỗi này, hãy chỉnh sửa tập tin servername.conf bằng cách thực hiện lệnh sau:

Mã nguồn [Chọn]
$ sudo nano /etc/apache2/conf-available/servername.conf
Thêm dòng sau vào đó:

Mã nguồn [Chọn]
ServerName testdomain.info

Sau khi hoàn tất, nhấn Ctrl + O để lưu và sau đó Ctrl + X để thoát khỏi tập tin.

Sau đó chạy lệnh sau:

Mã nguồn [Chọn]
$ sudo a2enconf servername

Bây giờ tải lại Apache2:

Mã nguồn [Chọn]
$ systemctl reload apache2
Sau khi hoàn tất, hãy chạy lại lệnh sau để kiểm tra tệp cấu hình:

Mã nguồn [Chọn]
$ sudo apache2ctl configtest
Bây giờ bạn sẽ thấy lỗi đã được loại bỏ.

Bước 4: Kiểm tra xem Apache có đang cung cấp tên miền của bạn không

Bây giờ, hãy mở trình duyệt và điều hướng đến:

  Đăng nhập để xem liên kết

Thay thế   Đăng nhập để xem liên kết bằng tên miền của riêng bạn.

Trang chỉ mục sau đây cho thấy bây giờ bạn có thể truy cập vào tất cả các trang web của mình.


5. Một số lệnh quản lý Apache phổ biến

Dưới đây là một số lệnh phổ biến nhất có thể được sử dụng để quản lý các dịch vụ Apache:

Sử dụng lệnh sau để khởi động máy chủ Apache:

Mã nguồn [Chọn]
$ sudo systemctl start apache2
Sử dụng lệnh sau để dừng máy chủ Apache:

Mã nguồn [Chọn]
$ sudo systemctl stop apache2
Sử dụng lệnh sau để khởi động lại máy chủ Apache:

Mã nguồn [Chọn]
$ sudo systemctl restart apache2
Sử dụng lệnh sau để tải lại máy chủ Apache:

Mã nguồn [Chọn]
$ sudo systemctl reload apache2
Sử dụng lệnh sau để luôn khởi động dịch vụ khi hệ thống khởi động:

Mã nguồn [Chọn]
$ sudo systemctl enable apache2
Sử dụng lệnh sau để tắt máy chủ Apache:

Mã nguồn [Chọn]
$ sudo systemctl disable apache2
Trong bài viết này, chúng ta đã học cách cài đặt và cấu hình máy chủ web Apache trên hệ điều hành Debian 11 hoặc Debian 10. Mình đã thực hiện một số cấu hình cơ bản bao gồm các thay đổi đối với tường lửa, thiết lập máy chủ ảo và cách quản lý các dịch vụ Apache bằng một số lệnh. Mình hy vọng nó đã cung cấp cho bạn một cái nhìn tổng quan cơ bản về cách sử dụng Apache để lưu trữ các trang web đúng cách.