Home :: DDNS? :: 가입안내/결제 :: 회원마당 :: DDNS119 :: 자료실 :: 처음따라하기

     Apache : Windows Apache 서버

    A [설치]
    설치 > 실행

    B [설정 - 기본]
    설정파일 > 접속포트 > 서버이름 > 웹문서디렉토리 > 기본파일

    C [설정 - 고급]
    디렉토리권한 > 사용자디렉토리 > 도메인확인 > 외부프로그램 > CGI 확장자 > SSI 확장자 오류처리

    D [가상디렉토리]
    개념 > 만들기

    E [가상호스트]
    개념 > 만들기

    [설치]

    a1. 설치
      DDNS 자료실 - 윈도우자료실에는 세가지 종류의 Apache가 있습니다
      • 접속 시험용 아파치 웹서버 : 기본 설정을 모두 해 둔 1.3.12
      • 아파치 웹서버 1.3.12 : 셋업판
      • 아파치 웹서버 1.3.20 : 셋업판

      접속 시험용은 내려받은 파일을 실행시키면 압축이 해제되면서 설치가 끝납니다.



      설치 디렉토리는 변경하지 말고 c:/apache 로 하세요.

      1.3.12는 내려받은 파일을 압축 해제한 다음 실행파일을 실행하세요.



      설치 디렉토리는 가능하면 c:/apache 로 하세요.

      1.3.20은 Microsoft의 설치프로그램인 MSI를 이용하므로 Windows98이나 NT에서는 MSI를 내려받아 설치하세요.
      Windows 2000 또는 ME에는 MSI가 포함되어 있습니다.
      그 다음 내려받은 파일을 실행하세요.



      설치 디렉토리는 가능하면 c:/apache 로 하세요.

    a2. 실행
      접속 시험용을 설치했다면 c:/apache/웹서버실행 아이콘을 실행하세요.



      아파치 도스창이 계속 떠 있으면 실행이 정상적으로 된 겁니다.
      아파치 도스창이 사라진다면 httpd.conf 파일에서 ServerName 항목의 앞에 붙어 있는 # 을 삭제하세요.
      참고로 서비스등록, 서비스해제, 웹서버실행, 웹서버중지 파일은 아파치 제어 명령을 단축아이콘으로 만들어 둔 겁니다.

      1.3.12나 1.3.20을 설치했다면 [시작] 버튼에 등록되어 있는 프로그램그룹에서 실행하세요.

    [설정 - 기본]

    b1. 설정파일
      모든 설정은 c:/apache/conf/httpd.conf 파일에서 합니다.
      대부분은 "Port 5678" 형식으로 항목이름과 값이 한 줄에 나란히 있지만,
      일부 고급 항목은 "<Directory> ... </Directory>"와 같이 태그 형식으로 되어 있기도 합니다.
      첫머리에 # 이 붙어있는 줄은 주석 처리된 것입니다.
      # 이 붙어있는 줄을 활성화하려면 첫머리의 # 을 삭제하세요.

    b2. 접속포트
      접속 포트를 설정하는 곳입니다.
        Port 5678
        Listen 5678

      도메인이 domain.com이고 특별히 웹포트포워딩 기법을 사용하지 않는다면 http://domain.com:5678로 접속합니다.
      HTTP 표준 포트인 80을 사용한다면 접속시 포트 지정을 하지 않아도 됩니다.

    b3. 서버이름
      웹서버의 이름을 넣는 곳인데 유동 IP에서는 대부분 자동 할당이 되므로 손대지 않아도 됩니다.
        #ServerName new.host.name

      Apache가 시작 즉시 죽는 현상이 있다면 이 항목의 주석을 해제하십시오.

    b4. 웹문서디렉토리
      웹문서가 들어가는 디렉토리를 지정하는 곳으로서 웹브라우저로 접속할 때의 루트디렉토리를 말합니다.
        DocumentRoot "c:/apache/htdocs"

      도메인이 domain.com이라면 http://domain.com/index.html로 접속하면 c:/apache/htdocs/index.html을 보여줍니다.

    b5. 기본파일
      웹 접속시 파일명을 지정하지 않았을 때 찾아서 보여줄 파일을 지정하는 곳으로서 왼쪽 파일부터 우선순위가 주어집니다.
        DirectoryIndex index.html main.html

      도메인이 domain.com이라면 http://domain.com으로 접속하면 c:/apache/htdocs에 있는 index.html을 보여주고 만약 없으면 main.html을 찾아서 보여줍니다.

    [설정 - 고급]

    c1. 디렉토리권한
      루트디렉토리의 권한을 설정하는 곳입니다.
        <Directory />
          Options ExecCGI Includes Indexes
        </Directory>
        <Directory "c:/apache/htdocs">
          Options ExecCGI Includes Indexes
          AllowOverride None
          Order allow,deny
          Allow from all
        </Directory>

      Options 항목으로 권한을 설정하는데 다음과 같은 값들이 중복적으로 올 수 있습니다.
      • ExecCGI : CGI를 실행할 수 있음.
      • FollowSymLinks : 실제 파일 대신 심볼릭링크를 사용할 수 있음 (Unix 전용).
      • Includes : SSI 기능을 사용할 수 있음.
      • Indexes : 디렉토리 안에 기본파일이 없을 때 디렉토리 안에 있는 파일 목록을 보여줌.
      • MultiViews : 디렉토리 안에 찾는 파일이 없을 때 유사한 이름의 파일을 찾아 보여줌.
      • All : 모든 권한을 줌. (MultiViews 제외)

      권한 설정에 익숙해지기 전까지는 "Options All"로 설정하세요.

    c2. 사용자디렉토리
      사용자의 웹문서가 들어가는 디렉토리를 지정하는 곳으로서 웹브라우저로 접속할 때의 계정디렉토리를 말합니다.
        UserDir "c:/apache/users/"

      도메인이 domain.com이고 c:/apache/users/id 라는 디렉토리를 만들어 두었다면 접속은 http://domain.com/~id 로 합니다.

    c3. 도메인확인
      접속시 사용된 실제 도메인 대신 ServerName 에 설정된 도메인을 접속 도메인으로 대체합니다.
        UseCanonicalName Off

      접속시 사용된 도메인을 이용하여 도메인포워딩, 통계, 보안 등을 하는 CGI를 사용한다면 이 항목을 Off로 설정하세요.
      On으로 설정하면 속도는 조금 빨라지지만 하위디렉토리로 접근할 수 없는 경우가 있을 수 있습니다.

    c4. 외부프로그램
      CGI를 번역해서 구동시키는 외부프로그램을 지정하는 곳입니다.
        AddType application/x-httpd-php .php .php3 .php4 .phtml
        ScriptAlias /php/ "c:/php/"
        Action application/x-httpd-php "/php/php.exe"

      예에서는 PHP를 예로 들었습니다.
      먼저 .php 등의 확장자를 application/x-httpd-php라는 타입이름과 연관시켰습니다.
      그리고 /php/ 라는 가상의 이름을 실제디렉토리인 c:/php와 연관시켰습니다.
      마지막으로 PHP를 나타내는 application/x-httpd-php 타입의 실행을 실제 PHP 번역기인 php.exe가 하도록 지정하였습니다.
      세줄의 설정으로 되었지만 결과적으로 확장자 .php를 c:/php/php.exe에서 처리하도록 설정한 것이 됩니다.

    c5. CGI 확장자
      CGI로 인식할 확장자를 지정하는 곳으로서 자체 실행 CGI 또는 PERL CGI를 등록합니다.
        AddHandler cgi-script .cgi .pl

      확장자가 .cgi 또는 .pl이면 일단 자체 실행 CGI로 간주하지만 CGI 소스 첫 줄에 "#!c:/perl/bin/perl.exe"와 같이 PERL 번역기 경로가 명시되어 있으면 PERL CGI로 간주합니다.

    c6. SSI 확장자
      SSI 구문을 가질 수 있는 파일의 확장자를 지정하는 곳입니다.
        AddType text/html .html .htm .shtml
        AddHandler server-parsed .shtml

      먼저 확장자 .shtml을 HTML 문서를 가리키는 text/html이라는 타입이름과 연관시켰습니다.
      그리고 확장자 .shtml을 SSI용 확장자로 지정하였습니다.
      결과적으로 확장자가 .shtml인 파일은 일반 HTML 구문과 함께 "<!--#include file='common_head.html'-->"과 같은 SSI 구문을 가질 수 있게 됩니다.

    c7. 오류처리
      오류가 발생하면 미리 설정된 HTML을 보여주는 기능입니다.
      각 오류 코드에 대하여 보여줄 메세지, 파일, URL을 설정할 수 있으며 다음과 같이 설정합니다.
        ErrorDocument 500 "Internal Server Error
        ErrorDocument 401 /error/deny.html
        ErrorDocument 404 http://domain.com

      많이 사용되는 HTTP 오류 코드는 다음과 같습니다.
      • 400 : 불량 요청 (HTTP 프로토콜 오류)
      • 401 : 인증되지 않았음. (허용된 접속자가 아님.)
      • 403 : 금지 (접근 금지 영역)
      • 404 : 찾을 수 없음. (파일이 없음.)
      • 500 : 구현할 수 없음. (주로 CGI 오류시 발생)

    [가상디렉토리]

    d1. 개념
      http://zonesoft.co.kr로 접속하면 웹문서디렉토리인 c:/apache/htdocs로 접속이 된다고 가정합시다.
      만약 용량이 큰 파일들을 d:/data에 저장해 두었다고 해도 일반적인 방법으로는 그 파일들에 접근할 수 없습니다.
      일반적인 방법으로는 c:/apache/htdocs 밖으로의 접속은 거부당하기 때문입니다.
      가상디렉토리란 http://zonesoft.co.kr/vert와 같이 가상의 하위 경로로 접속하면 실제로는 vert라는 가상의 이름에 연관되어 있는 실제 디렉토리인 d:/data로 접속되는 기능을 말합니다.
      일반적인 경우에는 필요없는 설정이므로 위의 설명에 해당되어 꼭 필요한 경우에만 사용하세요.

    d2. 만들기
      다음과 같은 내용을 추가하세요.

        Alias /vert/ "d:/data/"

        <Directory "d:/data">
          Options All
          AllowOverride None
          Order allow,deny
          Allow from all
        </Directory>

    [가상호스트]

    e1. 개념
      http://zonesoft.co.kr로 접속하면 웹문서디렉토리인 c:/apache/htdocs로 접속이 된다고 가정합시다.
      만약 http://koreaip.net으로 접속했을 때는 d:/html에 있는 다른 웹사이트를 보여주고 싶다면 어떻게 해야 할까요?.
      아무런 조치없이 일반적인 방법으로 해서는 c:/apache/htdocs로만 접속이 들어갑니다.
      가상호스트란 koreaip.net에 대한 디렉토리 설정을 별도로 해서 d:/html로 접속될 수 있도록 하는 기능을 말합니다.
      일반적인 경우에는 필요없는 설정이므로 위의 설명에 해당되어 꼭 필요한 경우에만 사용하세요.

    e2. 만들기
      다음과 같은 내용을 추가하세요.

        NameVirtualHost zonesoft.co.kr

        <VirtualHost zonesoft.co.kr>
          ServerName zonesoft.co.kr
          ServerAlias zonesoft.co.kr www.zonesoft.co.kr org.zonesoft.co.kr
          DocumentRoot c:/apache/htdocs
        </VirtualHost>

        <VirtualHost koreaip.net>
          ServerName koreaip.net
          ServerAlias koreaip.net www.koreaip.net org.koreaip.net
          DocumentRoot d:/html
        </VirtualHost>

      또는 다음과 같은 설정 방법도 있으니 참고하세요.

        NameVirtualHost *

        <VirtualHost *>
          ServerName zonesoft.co.kr
          ServerAlias zonesoft.co.kr www.zonesoft.co.kr org.zonesoft.co.kr
          DocumentRoot c:/apache/htdocs
        </VirtualHost>

        <VirtualHost *>
          ServerName koreaip.net
          ServerAlias koreaip.net www.koreaip.net org.koreaip.net
          DocumentRoot d:/html
        </VirtualHost>


    Zone Soft (지원소프트)  621-05-78182 (대표자 : 박현우)  통신판매신고 2009-부산금정-0024
webmaster@zonesoft.co.kr  문의전화 070-8753-9540  긴급 010-3631-9540
부산광역시 금정구 중앙대로 2035번길 37 501호
Copyright since 2000 ZoneSoft All rights reserved.