Get in touch
or send us a question?
CONTACT

Cấu hình HTTP Basic Authentication trên WebServer Apache – httpd

Bước 1. Cho phép xác thực file .htaccess

Mặc định Apache không cho phép sử dụng các tệp .htaccess. Để sử dụng cần thiết lập Apache cho phép xác thực dựa trên .htaccess

Cấu hình file httpd.conf như sau:

1# sudo nano /etc/httpd/conf/httpd.conf

Trong file httpd.conf tìm đoạn

1<Directory "/var/www/html">

Thay đổi dòng AllowOverride none thành AllowOverride AuthConfig

1AllowOverride AuthConfig

Lưu lại và đóng file lại thực hiện tiếp bước 2.

Chú ý: trường hợp bạn đang cấu hình file httpd.conf là AllowOverride All thì có thể bỏ qua bước này

Bước 2. Tạo file chứa mật khẩu

Giờ chúng ta cần tạo một file lưu trữ mật khẩu trong thư mục /ect/httpd/ bằng cách sử dụng lệnh htpasswd của Apache để xác thực người dùng.

1# sudo htpasswd -c /etc/httpd/.htpasswd ictsharing

‎Lần đầu tiên sử dụng tiện ích này, cần thêm tùy chọn ‎‎ ‎‎-c‎‎ ‎‎ để tạo file được chỉ định. Chúng ta chỉ định tên người dùng ‎‎ ‎‎(ictsharing)‎‎ ‎‎ ở cuối lệnh để tạo mục nhập mới trong tệp.‎

sau đó hệ thống sẽ yêu cầu nhập mật khẩu cho tài khoản ictsharin

Chú ý: Chỉ sử dụng ‎‎ ‎‎-c‎‎ ‎‎ lần đầu tiên bạn tạo tệp. Không sử dụng ‎‎ ‎‎-c‎‎ ‎‎ khi bạn thêm người dùng trong tương lai.‎

1# sudo htpasswd  /etc/httpd/.htpasswd ictsharing001

Nếu bạn muốn xem nội dung của tệp, bạn có thể xem tên người dùng và mật khẩu được mã hóa cho mỗi bản ghi‎

1# nano /etc/httpd/.htpasswd

Bước 3. Cấu hình Xác thực Mật khẩu Apache‎

Bây giờ bạn cần tạo một ‎‎tệp .htaccess‎‎ trong thư mục web mà bạn muốn tạo mật khẩu. Trong bài hướng dẫn này, mình sẽ tạo tệp ‎‎.htaccess‎‎ trong thư mục ‎‎/var/www/html/‎‎ để hạn chế toàn bộ gốc tài liệu.

Nếu bạn muốn tạo mật khẩu cho một thư mục khác trong ‎ /var/www/html/‎‎ bạn chỉ việc tạo file .htaccess bên trong thư mục đó là được.

1# sudo nano /var/www/html/.htaccess

Sau đó, thêm đoạn code vào file .htaccess vừa tạo

1234AuthType BasicAuthName "Restricted Content"AuthUserFile /etc/httpd/.htpasswdRequire valid-user

Lưu lại và khởi động lại server Apache

1# sudo apachectl restart

Bạn truy cập vào link web của bạn để xem kết quả.

Nếu thành công nó sẽ như hình sau: