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
1 | AllowOverride 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
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â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
1234 | AuthType Basic AuthName "Restricted Content" AuthUserFile /etc/httpd/.htpasswd Require 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:
You need to login in order to like this post: click here
YOU MIGHT ALSO LIKE