
Apache 사용자 인증
1. 설정 절차
- HTTP 프로토콜은 기본적으로 사용자 인증을 하지 않지만, 아파치 웹서버에서는 특정 웹 페이지에 대해 다음과 같은 절차를 통해 사용자 인증을 할 수 있음
1. 사용자 생성 및 사용자 계정 파일 생성
- posein이라는 웹 사용자를 생성하고 계정 파일은 /etc/password로 생성
htpasswd -c /etc/password posein
2. httpd.conf 파일에 인증할 디렉터리 관련 설정
<Directory "/usr/local/apache/htdocs/admin">
AllowOverride AuthConfig
</Directory>
3. 인증할 디렉터리에 관련 정보를 담고 있는 .htaccess 파일 생성
# vi /usr/local/apache/htdocs/admin/.htaccess
AuthType Basic
AuthName "Admin Login"
AuthUserFile /etc/password
Require valid-user
2. .htaccess 지시자
| 지시자 | 설명 |
| AuthType | 인증 형태를 지정. Basic 또는 Digest를 선택할 수 있음 |
| AuthName | 웹 브라우저 인증 창에 표시되는 메시지를 설정 |
| AuthUserFile | 사용자 계정 파일명을 설정 |
| Require | 접속을 허가할 사용자를 설정. 사용자 계정 파일에 등록된 사용자를 전부 허가하려면 ‘Require valid-user’라고 설정하고, 특정 계정만 허가하려면 ‘Require user posein yuloje’ 형태로 지정 |
3. 관련 명령어 : htpasswd
- 아파치 사용자 인증 파일을 생성하고 관리하는 명령
htpasswd [option] 계정파일 사용자명
[주요 옵션]
| 옵션 | 설명 |
| -c | 사용자 계정 파일을 생성할 때 사용하는 옵션으로 계정 생성할 때 한번은 반드시 사용해야 함 |
| -B | Blowfish 기반의 bcrypt를 이용해서 패스워드를 암호화 |
| -b | 암호를 묻는 명령 줄 대신에 직접 지정 |
| -n | 파일 업데이트와 관련된 내용을 표준 출력에 표시하지 않음 |
[사용 예]
- posein이라는 계정을 생성하고, 관련 정보 파일은 /usr/local/apache/conf/password에 생성
htpasswd -c /usr/local/apache/conf/password posein
- yuloje라는 계정을 생성
htpasswd /usr/local/apache/conf/password yuloje
- Blowfish 기반의 bcrypt 암호화를 사용해서 아이디는 joon, 패스워드는 password를 갖는 웹 사용자를 생성하고 관련 정보는 /etc/webuser 파일에 저장
htpasswd -Bbn joon password > /etc/webuser
💡위치 / 옵션 찾기
사용자 인증 관련 계정 생성 명령어
- htpasswd 라는 것은 암기!
httpd.conf 에서 위치 찾기
- vi /usr/local/apache/httpd.conf
- /htaccess 입력하여 위치 찾기
- /usr/local/apache/conf/extra/httpd-multilang-errordoc.conf

'Linux' 카테고리의 다른 글
| [Linux] NIS 관련 명령어 - nisdomainname / ypwhich / ypcat / yptest (0) | 2026.01.11 |
|---|---|
| [Linux] NIS 설정법 (0) | 2026.01.03 |
| [Linux] Apache 에러 설정 httpd-multilang-errordoc.conf (0) | 2025.12.22 |
| [Linux] httpd 패키지로 웹 서버 구현 (0) | 2025.12.13 |
| [Linux] Apache 버추얼 호스트 설정 httpd-vhosts.conf (0) | 2025.11.28 |