2011년 11월 8일 화요일

Apache HTTP 서버에 외부 폴더 추가

참고http://httpd.apache.org/docs/2.0/ko/mod/mod_alias.html

기본적으로 htdocs 폴더가 접근 가능한 폴더이지만 alias 기능을 이용하여 이외 다른 폴더를 추가할 수 있다.

1. mod_alias 모듈을 load 한다.
우선 mod_alias.so 모듈이 필요하다.
아래와 같은 라인을 찾아 주석 처리 되어 있다면 해제하자.
LoadModule alias_module modules/mod_alias.so

2. Alias 추가
아래와 같이 httpd.conf 파일을 수정하여 Alias 를 추가한다.
입력은 아무곳에 해도 상관없으나 딱히 정한 곳이 없으면 파일 맨 마지막에 추가한다.

Alias [가상 주소] [실제 파일 위치]

예)
Alias /image "c:/test/image"

!) 만약 경로 이름에 띄어쓰기가 있다면 반드시 따옴표로 감싸주어야 한다.

3. 디렉토리 접근 권한 설정
다음으로 해당 폴더의 접근 권한을 아래와 같이 줄 수 있다.

<Directory [실제 파일 위치]>
[옵션]
</Directory>

예)
<Directory "c:/test/image">
Options Indexes FollowSymLinks
AllowOverride AuthConfig
Order allow,deny
Allow from all
</Directory>

자세한 옵션 정보는 아래 링크에서 확인하자.
참고http://httpd.apache.org/docs/2.2/ko/sections.html

4. 설정 예
의도: image 폴더를 htdocs 폴더 외의 다른 공간에 두고 싶다.
서버 port : 80
이미지 폴더 위치: c:\my media\images
가상 주소: /img

1) Alias 추가
httpd.conf 파일 맨 마지막에 아래와 같이 추가한다.

Alias /img "c:/my media/images"

2) Directory 접근 권한 설정
httpd.conf 파일 맨 마지막에 아래와 같이 추가한다.

<Directory "c:/my media/images">
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>

3) Apache HTTP 서버 재시작 및 테스트

  • Apache HTTP 서버를 재시작하고 아래와 같이 웹 브라우저에 주소를 입력해 본다.
  • 예를 들어 c:\my media\images 폴더에 bullet.png 파일이 있다고 가정하고 아래와 같이 입력해 본다.
  • http://127.0.0.1/img/bullet.png
  • 만약 이미지가 보인다면 성공이다.

댓글 없음:

댓글 쓰기