Apache의 기본 HTTP 인증을 사용하여 디렉토리를 암호로 보호하는 방법을 알아 봅니다. 이 방법을 사용하면 액세스를 위해 사용자 이름과 암호가 필요한 웹 사이트의 제한 영역을 설정할 수 있습니다.

요구 사항

  • Linux (CentOS 7 또는 Ubuntu 16.04)를 실행하는 클라우드 서버.
  • Apache 웹 서버가 설치되어 실행 중입니다.

암호 파일 만들기

첫 번째 단계는 Apache가 사용자 이름과 암호를 확인하는 데 사용할 암호 파일을 만드는 것입니다. 이 파일의 이름 은 Ubuntu 16.04 및 CentOS 7 과 .htpasswd같은 안전한 위치 /etc/apache2에 지정 /etc/httpd됩니다.

이 htpasswd명령은 암호 파일을 만들거나 항목을 추가하는 데 사용할 수 있습니다. 처음으로 -c플래그를 사용하여 파일을 만들고 사용자 이름을 추가합니다 jdoe.

  • CentOS 7 :sudo htpasswd -c /etc/httpd/.htpasswd jdoe
  • Ubuntu 16.04 :sudo htpasswd -c /etc/apache2/.htpasswd jdoe

사용자의 새 암호를 입력하고 확인하라는 메시지가 표시됩니다.

기존 파일에 새 사용자 추가

기존 비밀번호 파일에 새 사용자를 추가하려면 -c플래그 없이 동일한 명령을 사용하십시오 . 예를 들어 사용자를 추가 janedoe하려면 명령은 다음과 같습니다.

  • CentOS 7 :sudo htpasswd /etc/httpd/.htpasswd janedoe
  • Ubuntu 16.04 :sudo htpasswd /etc/apache2/.htpasswd janedoe

사용자의 새 암호를 입력하고 확인하라는 메시지가 표시됩니다.

디렉터리 제한 활성화

디렉토리를 제한하려면 먼저 .htaccess파일 을 허용하도록 Apache를 구성해야 합니다.

CentOS 7

다음 명령으로 편집 할 기본 Apache 구성 파일을 엽니 다.

sudo nano /etc/httpd/conf/httpd.conf
혼합

<Directory>섹션 까지 아래로 스크롤하여로 "/var/www/html"변경 AllowOverride합니다 All.

파일을 저장하고 종료하십시오. 그런 다음 Apache를 다시 시작하여 변경 사항을 적용하십시오.

sudo systemctl restart httpd

Ubuntu 16.04

다음 명령으로 편집 할 기본 Apache 구성 파일을 엽니 다.

sudo nano /etc/apache2/apache2.conf

<Directory>섹션 까지 아래로 스크롤하여로 "/var/www"변경 AllowOverride합니다 All.

<Directory /var/www/>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
</Directory>

파일을 저장하고 종료하십시오. 그런 다음 Apache를 다시 시작하여 변경 사항을 적용하십시오.

sudo systemctl restart apache2

제한 구역 만들기

보호하려는 디렉토리로 이동하십시오. 예를 들면 :

cd /var/www/html/admin

라는 파일을 .htaccess만들고 편집을 위해 엽니 다.

sudo nano .htaccess

이 파일에 다음을 넣으십시오.

CentOS 7 :

AuthType Basic
AuthName "Password Required"
Require valid-user
AuthUserFile /etc/httpd/.htpasswd
혼합

Ubuntu 16.04 :

AuthType Basic
AuthName "Password Required"
Require valid-user
AuthUserFile /etc/apache2/.htpasswd

인증 테스트

인증을 테스트하려면 브라우저에서 비밀번호로 보호 된 URL을 방문하십시오. 계속하려면 사용자 이름과 비밀번호를 입력하라는 팝업이 표시됩니다.

참고 : 브라우저에 팝업 차단기가있는 경우이 도메인에 대한 팝업을 허용하도록 구성해야합니다.


출처 URL

https://www.ionos.com/community/server-cloud-infrastructure/apache/password-protect-a-directory-with-apache/