Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
<?xml version="1.0" encoding="EUC-KR"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="ko" xml:lang="ko"><head>
<meta content="text/html; charset=EUC-KR" http-equiv="Content-Type" />
<!--
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
This file is generated from xml source: DO NOT EDIT
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-->
<title>Novell NetWare에서 아파치 사용하기 - Apache HTTP Server Version 2.4</title>
<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" />
<script src="../style/scripts/prettify.min.js" type="text/javascript">
</script>
<link href="../images/favicon.ico" rel="shortcut icon" /></head>
<body id="manual-page"><div id="page-header">
<p class="menu"><a href="../mod/">모듈</a> | <a href="../mod/directives.html">지시어들</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">용어</a> | <a href="../sitemap.html">사이트맵</a></p>
<p class="apache">Apache HTTP Server Version 2.4</p>
<img alt="" src="../images/feather.png" /></div>
<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div>
<div id="path">
<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Platform Specific Notes</a></div><div id="page-content"><div id="preamble"><h1>Novell NetWare에서 아파치 사용하기</h1>
<div class="toplang">
<p><span>가능한 언어: </span><a href="../en/platform/netware.html" hreflang="en" rel="alternate" title="English"> en </a> |
<a href="../fr/platform/netware.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
<a href="../ko/platform/netware.html" title="Korean"> ko </a></p>
</div>
<div class="outofdate">이 문서는 최신판 번역이 아닙니다.
최근에 변경된 내용은 영어 문서를 참고하세요.</div>
<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>
</div>
<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#req">요구조건</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#down">NetWare용 아파치 다운받기</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#inst">NetWare용 아파치 설치하기</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#run">NetWare용 아파치 실행하기</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#use">NetWare용 아파치 설정하기</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#comp">Netware용 아파치 컴파일하기</a></li>
</ul><h3>참고</h3><ul class="seealso"><li><a href="#comments_section">Comments</a></li></ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="req" id="req">요구조건</a></h2>
<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>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="down" id="down">NetWare용 아파치 다운받기</a></h2>
<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>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="inst" id="inst">NetWare용 아파치 설치하기</a></h2>
<p>현재 NetWare용 아파치 설치프로그램은 없다. NetWare용
아파치 2.0 소스를 직접 컴파일한다면 파일을 서버로 직접
복사해줘야 한다.</p>
<p>바이너리로 다운받은 NetWare용 아파치를 설치하는 과정은
다음과 같다 (<code>sys:/apache2</code>에 설치한다고 가정한다):</p>
<ul>
<li>바이너리로 다운받은 압축파일을 <code>SYS:</code> 볼륨
최상위 디렉토리에 푼다 (다른 볼륨에 설치해도 된다)</li>
<li><code>httpd.conf</code> 파일을 수정하여 <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code>와 <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code>과 파일경로 값을 서버에
알맞게 지정한다</li>
<li>예를 들어 <div class="example"><p><code>SEARCH ADD SYS:\APACHE2</code></p></div>와
같이 검색경로에 <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><div class="example"><p><code>SEARCH ADD SYS:\APACHE2</code></p></div> 같이 검색경로에
<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>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="run" id="run">NetWare용 아파치 실행하기</a></h2>
<p>아파치를 시작하려면 콘솔에서 <code>apache</code>를 입력하면
된다. 그러면 운영체제 주소영역에 아파치를 읽어들인다.
보호주소영역에 아파치를 읽어들이려면 다음과 같이 load 명령어로
주소영역을 지정한다:</p>
<div class="example"><p><code>
load address space = apache2 apache2
</code></p></div>
<p>그러면 아파치를 apache2라는 주소영역에 읽어들인다.
NetWare는 여러 아파치를 각각 다른 보호주소영역에 읽어들여서
여러 아파치를 동시에 실행할 수 있다.</p>
<p>아파치가 시작하면 (설정파일에서 <code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code> 지시어를 수정하지
않는한) 포트 80번을 기다린다. 브라우저를 시작하여 서버명
혹은 서버 주소를 입력하면 서버에 접속하여 기본페이지에
접근한다. 아파치 설명서 링크가 있는 환영페이지가 나와야
한다. 아무 일도 없거나 오류가 발생하면 <code>logs</code>
디렉토리에 있는 <code>error_log</code> 파일을 살펴봐라.</p>
<p>기본 설치가 동작하면 <code>conf</code> 디렉토리에 있는
파일을 적절히 설정한다.</p>
<p>운영체제 주소영역에서 실행중인 아파치를 내릴려면 콘솔에
다음과 같이 입력한다:</p>
<div class="example"><p><code>
unload apache2
</code></p></div>
<p>혹은</p>
<div class="example"><p><code>
apache2 shutdown
</code></p></div>
<p>보호주소영역에서 아파치를 실행했다면 unload 명령어에
주소영역을 지정한다:</p>
<div class="example"><p><code>
unload address space = apache2 apache2
</code></p></div>
<p>아파치가 설정파일 위치를 찾는 방법을 알아두어야 한다.
명령행에서 설정파일을 지정하는 방법은 두가지다:</p>
<ul>
<li><code>-f</code>는 특정 설정파일 경로를 지정한다</li>
</ul>
<div class="example"><p><code>
apache2 -f "vol:/my server/conf/my.conf"
</code></p></div>
<div class="example"><p><code>
apache -f test/test.conf
</code></p></div>
<p>이 경우 설정파일은 올바른 <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code>를 설정해야 한다.</p>
<p><code>-f</code>로 설정파일명을 지정하지 않으면, 아파치는
서버에 컴파일된 파일명을 (보통 <code>conf/httpd.conf</code>)
사용한다. <code>-V</code> 옵션으로 아파치를 시작하면
<code>SERVER_CONFIG_FILE</code>이라는 항목을 보여준다.
아파치는 다음 순서대로 <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code>를 찾는다:</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>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="use" id="use">NetWare용 아파치 설정하기</a></h2>
<p>아파치는 보통 <code>conf</code> 디렉토리에 있는 설정파일로
설정한다. 이 파일은 유닉스용과 같지만, NetWare용 아파치에는
조금 다른 지시어들이 있다. 사용가능한 모든 지시어에 대해서는
<a href="../">아파치 문서</a>를 참고하라.</p>
<p>NetWare용 아파치의 주된 차이점은:</p>
<ul>
<li>
<p>NetWare용 아파치는 다중쓰레드 방식을 사용하기때문에,
유닉스와 같이 요청마다 다른 프로세스를 사용하지 않는다.
대신 여러 쓰레드를 실행한다: 부모 쓰레드와 요청을 처리하는
여러 자식 혹은 worker 쓰레드들.</p>
<p>그러므로 "프로세스"-관리 지시어가 다르다:</p>
<p><code class="directive"><a href="../mod/mpm_common.html#maxrequestsperchild">MaxRequestsPerChild</a></code> -
유닉스와 같이 worker 쓰레드가 요청을 얼마만큼 처리하고
죽을지를 조정한다. 권장하는 기본값
<code>MaxRequestsPerChild 0</code>을 사용하면 쓰레드는
죽지않고 영원히 요청을 서비스한다. 특별한 이유가 없다면
NetWare에서는 이 지시어를 <code>0</code>으로 설정하길
권한다.</p>
<p><code class="directive"><a href="../mod/mpm_common.html#startthreads">StartThreads</a></code> -
이 지시어는 서버가 처음에 시작할 쓰레드 개수를 결정한다.
권장하는 기본값은 <code>StartThreads 50</code>이다.</p>
<p><code class="directive"><a href="../mod/mpm_common.html#minsparethreads">MinSpareThreads</a></code> -
서버는 쉬는(idle) 쓰레드 개수가 이 값보다 적으면 worker
쓰레드를 더 만든다. 권장하는 기본값은
<code>MinSpareThreads 10</code>이다.</p>
<p><code class="directive"><a href="../mod/mpm_common.html#maxsparethreads">MaxSpareThreads</a></code> -
서버는 쉬는 쓰레드 개수가 이 값보다 많으면 worker 쓰레드를
죽이기 시작한다. 권장하는 기본값은
<code>MaxSpareThreads 100</code>이다.</p>
<p><code class="directive"><a href="../mod/mpm_netware.html#maxthreads">MaxThreads</a></code> -
이 지시어는 worker 쓰레드의 최대 개수를 제한한다. 권장하는
기본값은 <code>ThreadsPerChild 250</code>이다.</p>
<p><code class="directive"><a href="../mod/mpm_common.html#threadstacksize">ThreadStackSize</a></code> -
한 worker 쓰레드가 사용할 스택 크기를 지시한다. 권장하는
기본값은 <code>ThreadStackSize 65536</code>이다.</p>
</li>
<li>
<p>아규먼트로 파일명을 받는 지시어에는 유닉스 파일명이
아닌 NetWare 파일명을 사용해야 한다. 그러나 아파치가
내부적으로 유닉스식 파일명을 사용하기때문에 백슬래쉬
대신 슬래쉬를 사용해야 한다. 모든 절대경로에 볼륨명을
포함하길 바란다. 볼륨명을 생략하면 아파치는
<code>SYS:</code> 볼륨이라고 잘못 가정할 수 있다.</p>
</li>
<li>
<p>NetWare용 아파치는 서버를 다시 컴파일하지 않고 실행할때
모듈을 읽어들일 수 있다. 보통 아파치를 컴파일하면
<code>\Apache2\modules</code> 디렉토리에 여러 추가 모듈을
설치한다. 이들 혹은 다른 모듈을 사용하려면 <code class="directive"><a href="../mod/mod_so.html#loadmodule">LoadModule</a></code> 지시어를 사용한다.
예를 들어 status 모듈을 사용한다면:</p>
<div class="example"><p><code>
LoadModule status_module modules/status.nlm
</code></p></div>
<p><a href="../mod/mod_so.html#creating">읽어들일 수
있는 모듈 만들기</a>에 대한 정보도 있다.</p>
</li>
</ul>
<h3><a name="use-add" id="use-add">이외의 NetWare 전용 지시어들:</a></h3>
<ul>
<li><code class="directive"><a href="../mod/core.html#cgimapextension">CGIMapExtension</a></code> -
CGI 파일 확장자를 스크립트 인터프리터와 연결한다.</li>
</ul>
<ul>
<li><code class="directive"><a href="../mod/mod_nw_ssl.html#securelisten">SecureListen</a></code> -
특정 포트를 SSL 암호화한다.</li>
</ul>
<ul>
<li><code class="directive"><a href="../mod/mod_nw_ssl.html#nwssltrustedcerts">NWSSLTrustedCerts</a></code> -
프록시하는 서버에 보안연결할때 사용할 신뢰하는
인증서(certificate)를 추가한다.</li>
</ul>
<ul>
<li><code class="directive"><a href="../mod/mod_nw_ssl.html#nwsslupgradeable">NWSSLUpgradeable</a></code> -
특정 주소/포트로 맺어진 연결을 SSL 연결로 변경할 수
있다.</li>
</ul>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="comp" id="comp">Netware용 아파치 컴파일하기</a></h2>
<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>
<h3><a name="comp-req" id="comp-req">요구사항:</a></h3>
<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>
<h3><a name="comp-make" id="comp-make">NetWare makefile을 사용하여 아파치 컴파일하기:</a></h3>
<ul>
<li><code>NOVELLLIBC</code> 환경변수를
<div class="example"><p><code>Set NOVELLLIBC=c:\novell\ndk\libc</code></p></div>와
같이 NetWare Libraries for C SDK 위치로 설정한다.
</li>
<li><code>METROWERKS</code> 환경변수를
<div class="example"><p><code>Set METROWERKS=C:\Program Files\Metrowerks\CodeWarrior</code></p></div>와
같이 Metrowerks CodeWarrior 컴파일러를 설치한 위치로
설정한다. 기본 위치인
<code>C:\Program Files\Metrowerks\CodeWarrior</code>에
설치하였다면, 환경변수를 설정할 필요는 없다.</li>
<li><code>LDAPSDK</code> 환경변수를
<div class="example"><p><code>Set LDAPSDK=c:\Novell\NDK\cldapsdk\NetWare\libc</code></p></div>와
같이 LDAP Libraries for C를 설치한 위치로 설정한다.
</li>
<li><code>ZLIBSDK</code> 환경변수를
<div class="example"><p><code>Set ZLIBSDK=D:\NOVELL\zlib</code></p></div>과 같이
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> 볼륨으로 복사하고
<div class="example"><p><code>SYS:\genuri > sys:\uri_delims.h</code></p></div>
명령을 실행한다.
</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> 볼륨으로 복사하고 다음과 같이 실행한다:
<div class="example"><p><code>
SYS:\genchars > sys:\test_char.h<br />
SYS:\dftables > sys:\chartables.c<br />
</code></p></div>
</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>"을 실행하여 아파치를
컴파일한다.
<div class="example"><p><code>gmake -f nwgnumakefile install</code></p></div>과
같이 install 파라미터를 추가하면 배포용 디렉토리를 만들
수 있다.
</li>
</ul>
<h3><a name="comp-add" id="comp-add">추가 make 옵션</a></h3>
<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>
</div></div>
<div class="bottomlang">
<p><span>가능한 언어: </span><a href="../en/platform/netware.html" hreflang="en" rel="alternate" title="English"> en </a> |
<a href="../fr/platform/netware.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
<a href="../ko/platform/netware.html" title="Korean"> ko </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
var comments_identifier = 'http://httpd.apache.org/docs/2.4/platform/netware.html';
(function(w, d) {
if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
d.write('<div id="comments_thread"><\/div>');
var s = d.createElement('script');
s.type = 'text/javascript';
s.async = true;
s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
(d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
}
else {
d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
}
})(window, document);
//--><!]]></script></div><div id="footer">
<p class="apache">Copyright 2017 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">모듈</a> | <a href="../mod/directives.html">지시어들</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">용어</a> | <a href="../sitemap.html">사이트맵</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
}
//--><!]]></script>
</body></html>