Apache HTTP Server Version 2.4

Apache > HTTP Server > Documentation > Version 2.4 > 모듈

# 아파치 모듈 mod_userdir

이 문서는 최신판 번역이 아닙니다. 최근에 변경된 내용은 영어 문서를 참고하세요.

설명: | 사용자별 디렉토리
상태: | Base
모듈명: | userdir_module
소스파일: | mod_userdir.c

### 요약

이 모듈을 사용하면 `http://example.com/~user/` 식으로 사용자별 디렉토리에 접근할 수 있다.

### 지시어들

### Bugfix checklist

- httpd changelog
- Known issues
- Report a bug

### 참고

- URL을 파일시스템에 대응
- public_html 투토리얼

## UserDir 지시어

설명: | 사용자별 디렉토리 위치
문법: | `UserDir directory-filename`
기본값: | `UserDir public_html`
사용장소: | 주서버설정, 가상호스트
상태: | Base
모듈: | mod_userdir

`UserDir` 지시어는 사용자의 문서에 대한 요청을 받을때 사용자 홈디렉토리 안에서 사용할 실제 디렉토리를 지정한다. Directory-filename은 다음 중 하나이다:

- 아래와 같은 디렉토리명 혹은 패턴.
- `disabled` 키워드. `enabled` 키워드로 (아래 참고) 직접 이름을 지정하지 않았다면 모든 사용자명-디렉토리 변환을 하지 않는다.
- `disabled` 키워드 뒤에 공백으로 구분한 사용자명 목록. 사용자명이 `enabled` 구문에 있다고 하더라도, 이 목록에 있는 사용자명은 디렉토리 변환을 하지 않는다.
- `enabled` 키워드 뒤에 공백으로 구분한 사용자명 목록. 전체 disable을 사용하고 사용자명이 `disabled` 구문에 없더라도, 사용자명을 디렉토리 변환한다.

`Userdir` 지시어에 `enabled`나 `disabled` 키워드를 사용하지 않으면, 아규먼트를 파일명 패턴으로 처리하여 디렉토리로 변환한다. `http://www.foo.com/~bob/one/two.html`에 대한 요청은 다음과 같이 변환된다:

사용한 UserDir 지시어 | 변환한 경로
--- | ---
UserDir public_html | ~bob/public_html/one/two.html
UserDir /usr/web | /usr/web/bob/one/two.html
UserDir /home/*/www | /home/bob/www/one/two.html

다음 지시어는 클라이언트에게 리다이렉션을 보낸다:

사용한 UserDir 지시어 | 변환한 경로
--- | ---
UserDir http://www.foo.com/users | http://www.foo.com/users/bob/one/two.html
UserDir http://www.foo.com/*/usr | http://www.foo.com/bob/usr/one/two.html
UserDir http://www.foo.com/~*/ | http://www.foo.com/~bob/one/two.html

이 지시어를 사용할때 주의하라; 예를 들어, `"UserDir ./"`는 `"/~root"`를 아마도 바람직하지 않게 `"/"`로 변환한다. 설정에 "`UserDir disabled root`"를 포함하길 강력히 권한다. 자세한 정보를 알려면 `Directory` 지시어와 보안 팁도 참고하라.

추가 예제:

몇몇 사용자에게만 `UserDir` 디렉토리를 허용한다면, 다음과 같다:

`UserDir disabled
UserDir enabled user1 user2 user3`

대부분의 사용자에게 `UserDir` 디렉토리를 허용하고 일부만 거부한다면, 다음과 같다:

`UserDir enabled
UserDir disabled user4 user5 user6`

다른 사용자 디렉토리를 지정할 수도 있다. 다음과 같은 명령어를 사용한다면:

`Userdir public_html /usr/web http://www.foo.com/`

http://www.foo.com/~bob/one/two.html 요청을 하면, 먼저 ~bob/public_html/one/two.html 페이지를 찾고, /usr/web/bob/one/two.html을 찾은 후, 마지막으로 http://www.foo.com/bob/one/two.html으로 리다이렉션을 보낸다.

리다이렉션을 사용한다면 목록의 마지막에 두어야 한다. 아파치는 리다이렉션이 성공했는지 알 수 없기때문에, 리다이렉션을 목록 앞에 두면 항상 리다이렉션을 사용하게 된다.

### 참고

- public_html 투토리얼