mirror of
				https://github.com/apache/httpd.git
				synced 2025-10-30 08:05:39 +03:00 
			
		
		
		
	git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1562304 13f79535-47bb-0310-9956-ffa450edef68
		
			
				
	
	
		
			593 lines
		
	
	
		
			20 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
			
		
		
	
	
			593 lines
		
	
	
		
			20 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
| <?xml version="1.0" encoding="EUC-KR" ?>
 | |
| <!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
 | |
| <?xml-stylesheet type="text/xsl" href="../style/manual.ko.xsl"?>
 | |
| <!-- English Revision: 105989:1562300 (outdated) -->
 | |
| 
 | |
| <!--
 | |
|  Licensed to the Apache Software Foundation (ASF) under one or more
 | |
|  contributor license agreements.  See the NOTICE file distributed with
 | |
|  this work for additional information regarding copyright ownership.
 | |
|  The ASF licenses this file to You under the Apache License, Version 2.0
 | |
|  (the "License"); you may not use this file except in compliance with
 | |
|  the License.  You may obtain a copy of the License at
 | |
| 
 | |
|      http://www.apache.org/licenses/LICENSE-2.0
 | |
| 
 | |
|  Unless required by applicable law or agreed to in writing, software
 | |
|  distributed under the License is distributed on an "AS IS" BASIS,
 | |
|  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | |
|  See the License for the specific language governing permissions and
 | |
|  limitations under the License.
 | |
| -->
 | |
| 
 | |
| <manualpage metafile="netware.xml.meta">
 | |
|   <parentdocument href="./">Platform Specific Notes</parentdocument>
 | |
| 
 | |
|   <title>Novell NetWare에서 아파치 사용하기</title>
 | |
| 
 | |
|   <summary>
 | |
| 
 | |
|     <p>이 문서는 Novell NetWare 6.0 이상에서 아파치 2.0을 설치,
 | |
|     설정, 실행하는 방법을 설명한다. 버그를 찾았거나 다른 방법으로
 | |
|     돕고싶다면, <a href="http://httpd.apache.org/bug_report.html">버그
 | |
|     보고 페이지</a>를 이용하길 바란다.</p>
 | |
| 
 | |
|     <p>버그 보고 페이지나 dev-httpd 메일링리스트는 아파치 설정과
 | |
|     실행에 대한 질문을 답하지 <em>않는다</em>. 버그를 보고하기
 | |
|     전에 먼저 이 문서와 <a href="../faq/">자주 물어보는 질문
 | |
|     (FAQ)</a> 페이지, 다른 관련문서를 살펴봐라. 그래도 궁금한
 | |
|     점이나 문제가 있다면, NetWare에서 아파치 사용에 대한 어렵고
 | |
|     새로운 질문을 답해줄 많은 아파치 사용자가 있는 <a
 | |
|     href="news://developer-forums.novell.com/novell.devsup.webserver">
 | |
|     novell.devsup.webserver</a> 뉴스그룹에 글을 올리길 바란다.</p>
 | |
| 
 | |
|     <p>이 문서는 바이너리 배포본으로 아파치를 설치했다고 가정한다.
 | |
|     (아마도 개발에 도움을 주거나 버그를 찾기위해) 직접 아파치를
 | |
|     컴파일하려면 아래 <a href="#comp">NetWare에서 아파치
 | |
|     컴파일하기</a> 절을 참고하라.</p>
 | |
| 
 | |
|   </summary>
 | |
| 
 | |
|   <section id="req">
 | |
| 
 | |
|     <title>요구조건</title>
 | |
| 
 | |
|     <p>아파치 2.0은 NetWare 6.0 service pack 3 이상에서 동작하도록
 | |
|     설계되었다. SP3보다 낮은 service pack을 사용한다면 최신
 | |
|     <a href="http://developer.novell.com/ndk/libc.htm">NetWare
 | |
|     Libraries for C (LibC)</a>를 설치해야 한다.</p>
 | |
| 
 | |
|     <p>NetWare service pack은 <a
 | |
|     href="http://support.novell.com/misc/patlst.htm#nw">여기</a>에
 | |
|     있다.</p>
 | |
| 
 | |
|     <p>최신 service pack이나 최신 버전 <a
 | |
|     href="http://developer.novell.com/ndk/libc.htm">NetWare
 | |
|     Libraries for C (LibC)</a>를 설치했다면 NetWare 5.1 환경에서도
 | |
|     NetWare용 아파치 2.0을 실행할 수 있다. <strong>경고:</strong>
 | |
|     NetWare용 아파치 2.0은 이 환경을 고려하지 않았고 테스트하지
 | |
|     않았다.</p>
 | |
| 
 | |
|   </section>
 | |
| 
 | |
|   <section id="down">
 | |
| 
 | |
|     <title>NetWare용 아파치 다운받기</title>
 | |
| 
 | |
|     <p>아파치 최신 버전에 대한 정보는 <a
 | |
|     href="http://www.apache.org/">http://www.apache.org/</a>에서
 | |
|     (아파치 웹서버) 찾을 수 있다. 여기에는 현재 버전과 최근
 | |
|     알파/베타테스트 버전, 미러 웹사이트와 ftp 사이트 정보가
 | |
|     있다. NetWare용 아파치 2.0의 최신 바이너리 배포본은 <a
 | |
|     href="http://www.apache.org/dist/httpd/binaries/netware">여기</a>에서
 | |
|     다운받을 수 있다.</p>
 | |
| 
 | |
|   </section>
 | |
| 
 | |
|   <section id="inst">
 | |
| 
 | |
|     <title>NetWare용 아파치 설치하기</title>
 | |
| 
 | |
|     <p>현재 NetWare용 아파치 설치프로그램은 없다. NetWare용
 | |
|     아파치 2.0 소스를 직접 컴파일한다면 파일을 서버로 직접
 | |
|     복사해줘야 한다.</p>
 | |
| 
 | |
|     <p>바이너리로 다운받은 NetWare용 아파치를 설치하는 과정은
 | |
|     다음과 같다 (<code>sys:/apache2</code>에 설치한다고 가정한다):</p>
 | |
| 
 | |
|     <ul>
 | |
|       <li>바이너리로 다운받은 압축파일을 <code>SYS:</code> 볼륨
 | |
|       최상위 디렉토리에 푼다 (다른 볼륨에 설치해도 된다)</li>
 | |
| 
 | |
|       <li><code>httpd.conf</code> 파일을 수정하여 <directive
 | |
|       module="core">ServerRoot</directive>와 <directive
 | |
|       module="core">ServerName</directive>과 파일경로 값을 서버에
 | |
|       알맞게 지정한다</li>
 | |
| 
 | |
|       <li>예를 들어 <example>SEARCH ADD SYS:\APACHE2</example>와
 | |
|       같이 검색경로에 <code>SYS:/APACHE2</code>를 추가한다
 | |
|       </li>
 | |
| 
 | |
|     </ul>
 | |
| 
 | |
|     <p>직접 소스를 컴파일한 경우 NetWare에 아파치를 설치하는
 | |
|     방법은 다음과 같다 (<code>sys:/apache2</code>에 설치한다고
 | |
|     가정한다):</p>
 | |
| 
 | |
|     <ul>
 | |
|       <li>NetWare 볼륨에 <code>Apache2</code>라는 디렉토리를
 | |
|       만든다</li>
 | |
| 
 | |
|       <li><code>APACHE2.NLM</code>과 <code>APRLIB.NLM</code>을
 | |
|       <code>SYS:/APACHE2</code>에 복사한다</li>
 | |
| 
 | |
|       <li><code>SYS:/APACHE2</code> 아래에 <code>BIN</code>이라는
 | |
|       디렉토리를 만든다</li>
 | |
| 
 | |
|       <li><code>HTDIGEST.NLM</code>, <code>HTPASSWD.NLM</code>, 
 | |
|       <code>HTDBM.NLM</code>, <code>LOGRES.NLM</code>,
 | |
|       <code>ROTLOGS.NLM</code>을 <code>SYS:/APACHE2/BIN</code>에
 | |
|       복사한다</li>
 | |
| 
 | |
|       <li><code>SYS:/APACHE2</code> 아래에 <code>CONF</code>라는
 | |
|       디렉토리를 만든다</li>
 | |
| 
 | |
|       <li><code>HTTPD-STD.CONF</code> 파일을
 | |
|       <code>SYS:/APACHE2/CONF</code>에 복사하고 파일명을
 | |
|       <code>HTTPD.CONF</code>로 변경한다</li>
 | |
| 
 | |
|       <li><code>MIME.TYPES</code>, <code>CHARSET.CONV</code>,
 | |
|       <code>MAGIC</code> 파일을 <code>SYS:/APACHE2/CONF</code>
 | |
|       디렉토리에 복사한다</li>
 | |
| 
 | |
|       <li><code>\HTTPD-2.0\DOCS\ICONS</code>에 있는 모든 파일과
 | |
|       하위디렉토리를 <code>SYS:/APACHE2/ICONS</code>로 복사한다</li>
 | |
| 
 | |
|       <li><code>\HTTPD-2.0\DOCS\MANUAL</code>에 있는 모든 파일과
 | |
|       하위디렉토리를 <code>SYS:/APACHE2/MANUAL</code>로 복사한다</li>
 | |
| 
 | |
|       <li><code>\HTTPD-2.0\DOCS\ERROR</code>에 있는 모든 파일과
 | |
|       하위디렉토리를 <code>SYS:/APACHE2/ERROR</code>로 복사한다</li>
 | |
| 
 | |
|       <li><code>\HTTPD-2.0\DOCS\DICROOT</code>에 있는 모든 파일과
 | |
|       하위디렉토리를 <code>SYS:/APACHE2/HTDOCS</code>로 복사한다</li>
 | |
| 
 | |
|       <li>서버에 <code>SYS:/APACHE2/LOGS</code> 디렉토리를 만든다</li>
 | |
| 
 | |
|       <li>서버에 <code>SYS:/APACHE2/APACHE2/CGI-BIN</code>이란
 | |
|       디렉토리를 만든다</li>
 | |
| 
 | |
|       <li><code>SYS:/APACHE2/MODULES</code> 디렉토리를 만들고
 | |
|       모든 nlm 모듈을 <code>modules</code> 디렉토리로 복사한다</li>
 | |
| 
 | |
|       <li><code>HTTPD.CONF</code> 파일의 모든 <code>@@Value@@</code>
 | |
|       표시를 적절한 설정으로 대체한다</li>
 | |
| 
 | |
|       <li><example>SEARCH ADD SYS:\APACHE2</example> 같이 검색경로에
 | |
|       <code>SYS:/APACHE2</code>를 추가한다
 | |
|       </li>
 | |
|     </ul>
 | |
| 
 | |
|     <p>기본 <code>SYS</code> 볼륨이 아닌 다른 볼륨에도 아파치를
 | |
|     설치할 수 있다.</p>
 | |
| 
 | |
|     <p>makefile 명령어에 "install" 키워드를 사용하면 컴파일시
 | |
|     자동으로 <code>DIST</code> 하위디렉토리에 완전한 배포본을
 | |
|     만든다. makefile로 만든 배포본을 NetWare 볼륨 최상위 디렉토리로
 | |
|     복사하면 아파치가 설치된다 (아래 <a href="#comp">NetWare용
 | |
|     아파치 컴파일하기</a> 참고).</p>
 | |
| 
 | |
|   </section>
 | |
| 
 | |
|   <section id="run">
 | |
| 
 | |
|     <title>NetWare용 아파치 실행하기</title>
 | |
| 
 | |
|     <p>아파치를 시작하려면 콘솔에서 <code>apache</code>를 입력하면
 | |
|     된다. 그러면 운영체제 주소영역에 아파치를 읽어들인다.
 | |
|     보호주소영역에 아파치를 읽어들이려면 다음과 같이 load 명령어로
 | |
|     주소영역을 지정한다:</p>
 | |
| 
 | |
|     <example>
 | |
|       load address space = apache2 apache2
 | |
|     </example>
 | |
| 
 | |
|     <p>그러면 아파치를 apache2라는 주소영역에 읽어들인다.
 | |
|     NetWare는 여러 아파치를 각각 다른 보호주소영역에 읽어들여서
 | |
|     여러 아파치를 동시에 실행할 수 있다.</p>
 | |
| 
 | |
|     <p>아파치가 시작하면 (설정파일에서 <directive
 | |
|     module="mpm_common">Listen</directive> 지시어를 수정하지
 | |
|     않는한) 포트 80번을 기다린다. 브라우저를 시작하여 서버명
 | |
|     혹은 서버 주소를 입력하면 서버에 접속하여 기본페이지에
 | |
|     접근한다. 아파치 설명서 링크가 있는 환영페이지가 나와야
 | |
|     한다. 아무 일도 없거나 오류가 발생하면 <code>logs</code>
 | |
|     디렉토리에 있는 <code>error_log</code> 파일을 살펴봐라.</p>
 | |
| 
 | |
|     <p>기본 설치가 동작하면 <code>conf</code> 디렉토리에 있는
 | |
|     파일을 적절히 설정한다.</p>
 | |
| 
 | |
|     <p>운영체제 주소영역에서 실행중인 아파치를 내릴려면 콘솔에
 | |
|     다음과 같이 입력한다:</p>
 | |
| 
 | |
|     <example>
 | |
|       unload apache2
 | |
|     </example>
 | |
| 
 | |
|     <p>혹은</p>
 | |
| 
 | |
|     <example>
 | |
|       apache2 shutdown
 | |
|     </example>
 | |
| 
 | |
|     <p>보호주소영역에서 아파치를 실행했다면 unload 명령어에
 | |
|     주소영역을 지정한다:</p>
 | |
| 
 | |
|     <example>
 | |
|       unload address space = apache2 apache2
 | |
|     </example>
 | |
| 
 | |
|     <p>아파치가 설정파일 위치를 찾는 방법을 알아두어야 한다.
 | |
|     명령행에서 설정파일을 지정하는 방법은 두가지다:</p>
 | |
| 
 | |
|     <ul>
 | |
|       <li><code>-f</code>는 특정 설정파일 경로를 지정한다</li>
 | |
|     </ul>
 | |
| 
 | |
|     <example>
 | |
|       apache2 -f "vol:/my server/conf/my.conf"
 | |
|     </example>
 | |
| 
 | |
|     <example>
 | |
|       apache -f test/test.conf
 | |
|     </example>
 | |
| 
 | |
|     <p>이 경우 설정파일은 올바른 <directive
 | |
|     module="core">ServerRoot</directive>를 설정해야 한다.</p>
 | |
| 
 | |
|     <p><code>-f</code>로 설정파일명을 지정하지 않으면, 아파치는
 | |
|     서버에 컴파일된 파일명을 (보통 <code>conf/httpd.conf</code>)
 | |
|     사용한다. <code>-V</code> 옵션으로 아파치를 시작하면
 | |
|     <code>SERVER_CONFIG_FILE</code>이라는 항목을 보여준다.
 | |
|     아파치는 다음 순서대로 <directive
 | |
|     module="core">ServerRoot</directive>를 찾는다:</p>
 | |
| 
 | |
|     <ul>
 | |
|       <li><code>-C</code> 옵션의 <code>ServerRoot</code> 지시어.</li>
 | |
| 
 | |
|       <li>명령행의 <code>-d</code> 옵션.</li>
 | |
| 
 | |
|       <li>현재 디렉토리</li>
 | |
| 
 | |
|       <li>서버에 컴파일된 server root.</li>
 | |
|     </ul>
 | |
| 
 | |
|     <p>서버에 컴파일된 server root는 보통
 | |
|     <code>sys:/apache2</code>이다. <code>-V</code> 옵션으로
 | |
|     아파치를 시작하면 <code>HTTPD_ROOT</code>라는 항목을 보여준다.</p>
 | |
| 
 | |
|     <p>NetWare용 아파치 2.0에는 실행중인 웹서버를 죽이거나 정보를
 | |
|     알려주는 명령행 지시어가 있다. 이들 지시어는 아파치 동작중에만
 | |
|     사용할 수 있다. 지시어 앞에는 <code>APACHE2</code> 키워드를
 | |
|     붙여야 한다.</p>
 | |
| 
 | |
|     <dl>
 | |
|       <dt>RESTART</dt>
 | |
|       <dd>모든 쓰레드가 쉬는 상태일때 아파치를 죽이고, 설정파일을
 | |
|       다시 읽은후 새로운 설정에 따라 worker 쓰레드들을 재시작한다.</dd>
 | |
| 
 | |
|       <dt>VERSION</dt>
 | |
|       <dd>현재 실행중인 아파치 버전 정보를 출력한다.</dd>
 | |
| 
 | |
|       <dt>MODULES</dt>
 | |
|       <dd>기본 모듈과 외부 모듈 목록을 출력한다.</dd>
 | |
| 
 | |
|       <dt>DIRECTIVES</dt>
 | |
|       <dd>모든 지시어 목록을 출력한다.</dd>
 | |
| 
 | |
|       <dt>SETTINGS</dt>
 | |
|       <dd>콘솔에 쓰레드 상태 표시를 보이거나 없앤다. 상태를
 | |
|       보이면, 아파치 콘솔창에 동작하는 쓰레드들의 상태가 나온다.</dd>
 | |
| 
 | |
|       <dt>SHUTDOWN</dt>
 | |
|       <dd>실행중인 아파치 웹서버를 죽인다.</dd>
 | |
| 
 | |
|       <dt>HELP</dt>
 | |
|       <dd>실행 옵션들을 설명한다.</dd>
 | |
|     </dl>
 | |
| 
 | |
|     <p>기본적으로 이 지시어들은 운영체제 주소영역에서 실행중인
 | |
|     아파치를 대상으로 한다. 아파치가 보호주소영역에서 실행중이라면,
 | |
|     -p와 주소영역 이름을 추가한다. 더 많은 정보를 보려면 명령행에
 | |
|     "apache2 Help"를 입력한다.</p>
 | |
| 
 | |
|   </section>
 | |
| 
 | |
|   <section id="use">
 | |
| 
 | |
|     <title>NetWare용 아파치 설정하기</title>
 | |
| 
 | |
|     <p>아파치는 보통 <code>conf</code> 디렉토리에 있는 설정파일로
 | |
|     설정한다. 이 파일은 유닉스용과 같지만, NetWare용 아파치에는
 | |
|     조금 다른 지시어들이 있다. 사용가능한 모든 지시어에 대해서는
 | |
|     <a href="../">아파치 문서</a>를 참고하라.</p>
 | |
| 
 | |
|     <p>NetWare용 아파치의 주된 차이점은:</p>
 | |
| 
 | |
|     <ul>
 | |
|       <li>
 | |
|         <p>NetWare용 아파치는 다중쓰레드 방식을 사용하기때문에,
 | |
|         유닉스와 같이 요청마다 다른 프로세스를 사용하지 않는다.
 | |
|         대신 여러 쓰레드를 실행한다: 부모 쓰레드와 요청을 처리하는
 | |
|         여러 자식 혹은 worker 쓰레드들.</p>
 | |
| 
 | |
|         <p>그러므로 "프로세스"-관리 지시어가 다르다:</p>
 | |
| 
 | |
|         <p><directive
 | |
|         module="mpm_common">MaxRequestsPerChild</directive> -
 | |
|         유닉스와 같이 worker 쓰레드가 요청을 얼마만큼 처리하고
 | |
|         죽을지를 조정한다. 권장하는 기본값
 | |
|         <code>MaxRequestsPerChild 0</code>을 사용하면 쓰레드는
 | |
|         죽지않고 영원히 요청을 서비스한다. 특별한 이유가 없다면
 | |
|         NetWare에서는 이 지시어를 <code>0</code>으로 설정하길
 | |
|         권한다.</p>
 | |
| 
 | |
|         <p><directive module="mpm_common">StartThreads</directive> -
 | |
|         이 지시어는 서버가 처음에 시작할 쓰레드 개수를 결정한다.
 | |
|         권장하는 기본값은 <code>StartThreads 50</code>이다.</p>
 | |
| 
 | |
|         <p><directive
 | |
|         module="mpm_common">MinSpareThreads</directive> -
 | |
|         서버는 쉬는(idle) 쓰레드 개수가 이 값보다 적으면 worker
 | |
|         쓰레드를 더 만든다. 권장하는 기본값은
 | |
|         <code>MinSpareThreads 10</code>이다.</p>
 | |
| 
 | |
|         <p><directive
 | |
|         module="mpm_common">MaxSpareThreads</directive> -
 | |
|         서버는 쉬는 쓰레드 개수가 이 값보다 많으면 worker 쓰레드를
 | |
|         죽이기 시작한다. 권장하는 기본값은
 | |
|         <code>MaxSpareThreads 100</code>이다.</p>
 | |
| 
 | |
|         <p><directive module="mpm_netware">MaxThreads</directive> -
 | |
|         이 지시어는 worker 쓰레드의 최대 개수를 제한한다. 권장하는
 | |
|         기본값은 <code>ThreadsPerChild 250</code>이다.</p>
 | |
| 
 | |
|         <p><directive
 | |
|         module="mpm_common">ThreadStackSize</directive> -
 | |
|         한 worker 쓰레드가 사용할 스택 크기를 지시한다. 권장하는
 | |
|         기본값은 <code>ThreadStackSize 65536</code>이다.</p>
 | |
|       </li>
 | |
| 
 | |
|       <li>
 | |
|         <p>아규먼트로 파일명을 받는 지시어에는 유닉스 파일명이
 | |
|         아닌 NetWare 파일명을 사용해야 한다. 그러나 아파치가
 | |
|         내부적으로 유닉스식 파일명을 사용하기때문에 백슬래쉬
 | |
|         대신 슬래쉬를 사용해야 한다. 모든 절대경로에 볼륨명을
 | |
|         포함하길 바란다. 볼륨명을 생략하면 아파치는
 | |
|         <code>SYS:</code> 볼륨이라고 잘못 가정할 수 있다.</p>
 | |
|       </li>
 | |
| 
 | |
|       <li>
 | |
|         <p>NetWare용 아파치는 서버를 다시 컴파일하지 않고 실행할때
 | |
|         모듈을 읽어들일 수 있다. 보통 아파치를 컴파일하면
 | |
|         <code>\Apache2\modules</code> 디렉토리에 여러 추가 모듈을
 | |
|         설치한다. 이들 혹은 다른 모듈을 사용하려면 <directive
 | |
|         module="mod_so">LoadModule</directive> 지시어를 사용한다.
 | |
|         예를 들어 status 모듈을 사용한다면:</p>
 | |
| 
 | |
|         <example>
 | |
|           LoadModule status_module modules/status.nlm
 | |
|         </example>
 | |
| 
 | |
|         <p><a href="../mod/mod_so.html#creating">읽어들일 수
 | |
|         있는 모듈 만들기</a>에 대한 정보도 있다.</p>
 | |
|       </li>
 | |
|     </ul>
 | |
| 
 | |
|     <section id="use-add">
 | |
| 
 | |
|       <title>이외의 NetWare 전용 지시어들:</title>
 | |
| 
 | |
|       <ul>
 | |
|         <li><directive module="core">CGIMapExtension</directive> -
 | |
|         CGI 파일 확장자를 스크립트 인터프리터와 연결한다.</li>
 | |
|       </ul>
 | |
|       <ul>
 | |
|         <li><directive module="mod_nw_ssl">SecureListen</directive> -
 | |
|         특정 포트를 SSL 암호화한다.</li>
 | |
|       </ul>
 | |
|       <ul>
 | |
|         <li><directive
 | |
|         module="mod_nw_ssl">NWSSLTrustedCerts</directive> -
 | |
|         프록시하는 서버에 보안연결할때 사용할 신뢰하는
 | |
|         인증서(certificate)를 추가한다.</li>
 | |
|       </ul>
 | |
|       <ul>
 | |
|         <li><directive module="mod_nw_ssl">NWSSLUpgradeable</directive> -
 | |
|         특정 주소/포트로 맺어진 연결을 SSL 연결로 변경할 수
 | |
|         있다.</li>
 | |
|       </ul>
 | |
| 
 | |
|     </section>
 | |
| 
 | |
|   </section>
 | |
| 
 | |
|   <section id="comp">
 | |
| 
 | |
|     <title>Netware용 아파치 컴파일하기</title>
 | |
| 
 | |
|     <p>아파치를 컴파일하려면 MetroWerks CodeWarrior 6.x 이상이
 | |
|     필요하다. 아파치를 컴파일하면 어떤 Netware 볼륨에라도 설치할
 | |
|     수 있다. 기본값은 <code>sys:/Apache2</code> 디렉토리다.</p>
 | |
| 
 | |
|     <p>서버를 실행하기 전에 <code>conf</code> 디렉토리를 작성해야
 | |
|     한다. 배포본의 <code>conf</code> 디렉토리에 있는
 | |
|     <code>HTTPD-STD.CONF</code> 파일명을 <code>HTTPD.CONF</code>로
 | |
|     변경한다. <code>HTTPD.CONF</code> 파일에서 <code>@@Value@@</code>
 | |
|     표시를 찾아서 적절한 설정으로 대체한다. <code>conf/magic</code>과
 | |
|     <code>conf/mime.types</code> 파일도 복사한다. 아니면 makefile을
 | |
|     실행할때 <code>install</code> 키워드를 사용하면 완전한 배포본을
 | |
|     만든다.</p>
 | |
| 
 | |
|     <section id="comp-req">
 | |
| 
 | |
|       <title>요구사항:</title>
 | |
| 
 | |
|       <p>NetWare용 아파치 2.0을 컴파일하려면 다음 개발도구가
 | |
|       필요하다:</p>
 | |
| 
 | |
|       <ul>
 | |
|         <li>Metrowerks CodeWarrior 6.0 이상과 <a
 | |
|         href="http://developer.novell.com/ndk/cwpdk.htm">NetWare
 | |
|         PDK 3.0</a> 이상.</li>
 | |
| 
 | |
|         <li><a
 | |
|         href="http://developer.novell.com/ndk/libc.htm">NetWare
 | |
|         Libraries for C (LibC)</a></li>
 | |
| 
 | |
|         <li><a
 | |
|         href="http://developer.novell.com/ndk/cldap.htm">LDAP
 | |
|         Libraries for C</a></li>
 | |
| 
 | |
|         <li><a href="http://www.gzip.org/zlib/">ZLIB 압축 라이브러리
 | |
|         소스코드</a></li>
 | |
| 
 | |
|         <li>AWK 도구 (awk, gawk 등). AWK는 <a
 | |
|         href="http://developer.novell.com/ndk/apache.htm">http://developer.novell.com/ndk/apache.htm</a>에서
 | |
|         다운받을 수 있다. 도구를 <code>awk.exe</code>란 이름으로
 | |
|         윈도우즈 경로에 두어야 한다.</li>
 | |
| 
 | |
|         <li>makefile을 사용하여 컴파일하려면 <a
 | |
|         href="http://developer.novell.com/ndk/apache.htm">http://developer.novell.com/ndk/apache.htm</a>에
 | |
|         있는 GNU make 버전 3.78.1 (GMake)이 필요하다.</li>
 | |
|       </ul>
 | |
| 
 | |
|     </section>
 | |
| 
 | |
|     <section id="comp-make">
 | |
| 
 | |
|       <title>NetWare makefile을 사용하여 아파치 컴파일하기:</title>
 | |
| 
 | |
|       <ul>
 | |
|         <li><code>NOVELLLIBC</code> 환경변수를
 | |
|         <example>Set NOVELLLIBC=c:\novell\ndk\libc</example>와
 | |
|         같이 NetWare Libraries for C SDK 위치로 설정한다.
 | |
|         </li>
 | |
| 
 | |
|         <li><code>METROWERKS</code> 환경변수를
 | |
|         <example>Set METROWERKS=C:\Program Files\Metrowerks\CodeWarrior</example>와
 | |
|         같이 Metrowerks CodeWarrior 컴파일러를 설치한 위치로
 | |
|         설정한다. 기본 위치인
 | |
|         <code>C:\Program Files\Metrowerks\CodeWarrior</code>에
 | |
|         설치하였다면, 환경변수를 설정할 필요는 없다.</li>
 | |
| 
 | |
|         <li><code>LDAPSDK</code> 환경변수를
 | |
|         <example>Set LDAPSDK=c:\Novell\NDK\cldapsdk\NetWare\libc</example>와
 | |
|         같이 LDAP Libraries for C를 설치한 위치로 설정한다.
 | |
|         </li>
 | |
| 
 | |
|         <li><code>ZLIBSDK</code> 환경변수를
 | |
|         <example>Set ZLIBSDK=D:\NOVELL\zlib</example>과 같이
 | |
|         ZLib 라이브러리 소스코드 위치로 설정한다.
 | |
|         </li>
 | |
|         
 | |
|         <li><code>AP_WORK</code> 환경변수를 <code>\httpd-2.0</code>
 | |
|         디렉토리의 전체 경로로 설정한다.</li>
 | |
| 
 | |
|         <li><code>APR_WORK</code> 환경변수를
 | |
|         <code>\httpd-2.0\srclib\apr</code> 디렉토리의 전체 경로로
 | |
|         설정한다.</li>
 | |
| 
 | |
|         <li>AWK 도구와 GNU make (<code>gmake.exe</code>) 도구가
 | |
|         시스템의 <code>PATH</code> 환경변수에 포함되있는지
 | |
|         확인한다.</li>
 | |
| 
 | |
|         <li>소스코드를 다운받아 적당한 디렉토리에 압축을 푼다.</li>
 | |
| 
 | |
|         <li><code>\httpd-2.0\srclib\apr-util\uri</code> 디렉토리에서
 | |
|         "<code>gmake -f nwgnumakefile</code>"을 실행하여
 | |
|         <code>GENURI.nlm</code>을 컴파일한다.</li>
 | |
| 
 | |
|         <li><code>GENURI.nlm</code> 파일을 NetWare 서버의
 | |
|         <code>SYS:</code> 볼륨으로 복사하고
 | |
|         <example>SYS:\genuri > sys:\uri_delims.h</example>
 | |
|         명령을 실행한다.
 | |
|         </li>
 | |
| 
 | |
|         <li><code>uri_delims.h</code> 파일을 컴파일하는 컴퓨터의
 | |
|         <code>\httpd-2.0\srclib\apr-util\uri</code> 디렉토리로
 | |
|         복사한다.</li>
 | |
| 
 | |
|         <li><code>\httpd-2.0\srclib\apr</code> 디렉토리에서
 | |
|         "<code>gmake -f nwgnumakefile</code>"을 실행하여 APR을
 | |
|         컴파일한다.</li>
 | |
| 
 | |
|         <li><code>\httpd-2.0\srclib\pcre</code> 디렉토리에서
 | |
|         "<code>gmake -f nwgnumakefile</code>"을 실행하여
 | |
|         <code>DFTABLES.nlm</code>을 컴파일한다.</li>
 | |
| 
 | |
|         <li><code>\httpd-2.0\server</code> 디렉토리에서
 | |
|         "<code>gmake -f nwgnumakefile</code>"을 실행하여
 | |
|         <code>GENCHARS.nlm</code>을 컴파일한다.</li>
 | |
| 
 | |
|         <li>각 디렉토리의 <code>GENCHARS.nlm</code>과
 | |
|         <code>DFTABLES.nlm</code> 파일을 NetWare 서버의
 | |
|         <code>SYS:</code> 볼륨으로 복사하고 다음과 같이 실행한다:
 | |
|           <example>
 | |
|             SYS:\genchars > sys:\test_char.h<br />
 | |
|             SYS:\dftables > sys:\chartables.c<br />
 | |
|           </example>
 | |
|         </li>
 | |
| 
 | |
|         <li><code>test_char.h</code>와 <code>chartables.c</code>
 | |
|         파일을 컴파일하는 컴퓨터의 <code>\httpd-2.0\os\netware</code>
 | |
|         디렉토리로 복사한다.</li>
 | |
| 
 | |
|         <li><code>\httpd-2.0</code> 디렉토리에서
 | |
|         "<code>gmake -f nwgnumakefile</code>"을 실행하여 아파치를
 | |
|         컴파일한다.
 | |
|         <example>gmake -f nwgnumakefile install</example>과
 | |
|         같이 install 파라미터를 추가하면 배포용 디렉토리를 만들
 | |
|         수 있다.
 | |
|         </li>
 | |
|       </ul>
 | |
| 
 | |
|     </section>
 | |
| 
 | |
|     <section id="comp-add">
 | |
| 
 | |
|       <title>추가 make 옵션</title>
 | |
| 
 | |
|       <ul>
 | |
|         <li><code>gmake -f nwgnumakefile</code><p>일반 실행파일을
 | |
|         컴파일하여 <code>\release</code> 디렉토리로 복사한다.</p></li>
 | |
| 
 | |
|         <li><code>gmake -f nwgnumakefile DEBUG=1</code><p>디버그용
 | |
|         실행파일을 컴파일하여 <code>\debug</code> 디렉토리로
 | |
|         복사한다.</p></li>
 | |
| 
 | |
|         <li><code>gmake -f nwgnumakefile install</code>
 | |
|         <p><code>\dist\Apache2</code> 디렉토리에 실행파일, 문서,
 | |
|         추가 지원파일을 포함한 완전한 아파치 배포본을 만든다.</p></li>
 | |
| 
 | |
|         <li><code>gmake -f nwgnumakefile installdev</code>
 | |
|         <p>install과 비슷하지만, <code>\lib</code>과
 | |
|         <code>\include</code> 디렉토리를 만들고 헤더파일과 import
 | |
|         파일을 복사한다.</p></li>
 | |
| 
 | |
|         <li><code>gmake -f nwgnumakefile clean</code>
 | |
|         <p><code>DEBUG</code> 정의 유무에 따라 <code>\release</code>나
 | |
|         <code>\debug</code>에 있는 오브젝트파일과 실행파일을
 | |
|         모두 지운다.</p></li>
 | |
| 
 | |
|         <li><code>gmake -f nwgnumakefile clobber_all</code><p>clean과
 | |
|         비슷하지만 디렉토리도 지운다.</p></li>
 | |
|       </ul>
 | |
| 
 | |
|     </section>
 | |
| 
 | |
|   </section>
 | |
| 
 | |
| </manualpage>
 | |
| 
 |