μ•„νŒŒμΉ˜ httpd.conf ν™˜κ²½μ„€μ •

 

### Section 1: Global Environment

  μ „μ œν™˜κ²½μ„€μ • 파트둜 Section 1μ—μ„œ μ„€μ •ν•˜λŠ” 것듀은 μ•„νŒŒμΉ˜ μ›Ήμ„œλ²„μ—
μ „λ°˜μ μΈ 영ν–₯을 λ―ΈμΉœλ‹€.

ServerType standalone

  μ„œλ²„μ˜ κ΅¬λ™λ°©λ²•μœΌλ‘œλŠ” standaloneκ³Ό inetd방식이 μžˆλŠ”λ°,  standalone
방식은 ν•˜λ‚˜μ˜ 웹데λͺ¬(μ•„νŒŒμΉ˜μ„œλ²„)이 ν΄λΌμ΄μ–ΈνŠΈμ˜ 접속을 λͺ¨λ‘ μ²˜λ¦¬ν•˜λŠ”
λ°©μ‹μœΌλ‘œ 응닡속도가 λΉ λ₯Έ λ°©λ²•μœΌλ‘œ 주둜 이방식을 μ‚¬μš©ν•œλ‹€. inetd 방식은
inetdλΌλŠ” μ‹œμŠ€ν…œμ˜ /etc디렉토리 끝에 μ‘΄μž¬ν•˜λŠ” inetdλΌλŠ” 슈퍼데λͺ¬μ΄
ν΄λΌμ΄μ–ΈνŠΈμ˜ μ ‘μ†μš”κ΅¬κ°€ μžˆμ„ λ•Œλ§ˆλ‹€ μ›Ήμ„œλ²„λ₯Ό κ΅¬λ™ν•˜λŠ” 방식이닀.
일반적으둜 응닡속도가 λΉ λ₯΄κ³  효율적인 standalone으둜 μ„€μ •ν•˜μ—¬ μ‚¬μš©ν•œλ‹€.


ServerRoot "/usr/local/apache"

  μ•„νŒŒμΉ˜μ„œλ²„μ˜ ν™ˆλ””λ ‰ν† λ¦¬λ₯Ό μ§€μ •ν•˜λ©° μ ˆλŒ€κ²½λ‘œλ‘œ μ§€μ •ν•œλ‹€. μ΄ν›„λ‘œ λ‚˜μ˜€λŠ”
λŒ€λΆ€λΆ„μ˜ νŒ¨μŠ€λ“€μ€ 이 κ²½λ‘œμ— λŒ€ν•œ μƒλŒ€κ²½λ‘œλ‘œ 지정이 λœλ‹€. 예λ₯Ό λ“€μ–΄
ν™˜κ²½μ„€μ •νŒŒμΌ, μ—λŸ¬λ‘œκ·ΈνŒŒμΌλ“±μ˜ μƒλŒ€κ²½λ‘œμ˜ 기쀀이 λ˜λŠ” μœ„μΉ˜μ΄λ‹€.


LockFile logs/accept.lock

  μ•„νŒŒμΉ˜ μ»΄νŒŒμΌμ‹œ USE_FCNTL_SERIALIZED_ACCEPTλ‚˜
USE_FLOCK_SERIALIZED_ACCEPT으둜 컴파일 ν–ˆμ„ λ•Œ μ‚¬μš©λ˜λŠ”
LockFile의 κ²½λ‘œμ§€μ •μ‹œμ— μ‚¬μš©λœλ‹€. 가급적 κΈ°λ³Έκ°’μœΌλ‘œ μ‚¬μš©ν•œλ‹€.


PidFile logs/httpd.pid

  PidFile 섀정은 ServerType을 Standalone으둜 μ„€μ •ν–ˆμ„λ•Œλ§Œ μœ νš¨ν•œ
κ²ƒμœΌλ‘œ μ•„νŒŒμΉ˜ μ„œλ²„μ˜ ν”„λ‘œμ„ΈμŠ€κ°€ μƒμ„±λ˜μ–΄ μžˆμ„ λ•Œ κ·Έ ν”„λ‘œμ„Έμ„œID(PID)λ₯Ό
κΈ°λ‘ν•˜λŠ” νŒŒμΌμ„ μ§€μ •ν•œλ‹€.  λ‹Ήμ—°νžˆ μ•„νŒŒμΉ˜μ„œλ²„κ°€ μž¬μ‹œμž‘λ˜κ±°λ‚˜ κ³ΌλΆ€ν•˜λ‘œ
인해 PIDκ°€ λ°”λ€Œκ²Œ 될 κ²½μš°μ—λŠ” 이 파일의 PID값도 λ°”λ€Œκ²Œ λœλ‹€.  μ¦‰
λ‹€μ‹œλ§ν•΄μ„œ μ—¬κΈ°μ„œ μ§€μ •λœ 파일(httpd.pid)에 μ‹€ν–‰λ˜κ³  μžˆλŠ” μ•„νŒŒμΉ˜μ„œλ²„μ˜
ν”„λ‘œμ„ΈμŠ€λ²ˆν˜Έ(PID)값이 κΈ°λ‘λœλ‹€κ³  ν•˜λ©΄ 정닡이닀. ServerRootλ₯Ό κΈ°μ€€μœΌλ‘œν•œ
μƒλŒ€κ²½λ‘œλ‘œ μ§€μ •λœλ‹€.  μ ˆλŒ€κ²½λ‘œλ‘œ μ§€μ •ν•˜λ €λ©΄ "/"둜 μ‹œμž‘ν•˜λŠ” μ ˆλŒ€κ²½λ‘œλ₯Ό
적어주면 λœλ‹€.



ResourceConfig conf/srm.conf
AccessConfig conf/access.conf

  μ•„νŒŒμΉ˜ μ„œλ²„μ˜ ν™˜κ²½μ„€μ •νŒŒμΌμ€ 3개이au httpd.conf, srm.conf, access.conf
κ°€ 그것이닀. κ·ΈλŸ¬λ‚˜ ν•˜λ‚˜μ˜ μ„€μ •νŒŒμΌλ‘œ ν•˜λŠ” 것이 효율적이기 λ•Œλ¬Έμ—
μ§€κΈˆμ€ httpd.confνŒŒμΌμ•ˆμ— 3개의 파트(Section)둜 λ‚˜λˆ„μ–΄μ„œ ν•˜λ‚˜μ˜
νŒŒμΌμ•ˆμ—μ„œ 섀정을 ν•˜κ³  μžˆλ‹€. srm.conf와 access.conf파일의 λ‚΄μš©μ€ ν˜„μž¬
λΉ„μ–΄μžˆλŠ” μƒνƒœμ΄μ§€λ§Œ, ν•„μš”ν•˜λ‹€λ©΄ 이 파일 내에도 섀정을 ν•  수 μžˆλ‹€.
μ•„νŒŒμΉ˜ μ„œλ²„κ°€ 싀행이 될 λ•ŒλŠ” httpd.conf, srm.conf, access.conf 순으둜
μ–Έμ œλ‚˜ 이 3개의 νŒŒμΌμ„ λͺ¨λ‘ 읽고 λ‚œλ’€μ— 싀행이 되기 λ•Œλ¬Έμ΄λ‹€. λ§Œμ•½ 이
두 개의 νŒŒμΌμ„ μ„œλ²„κ°€ λ¬΄μ‹œν•˜λ„λ‘ ν•˜λ €λ©΄ λ‹€μŒκ³Ό 같이 ν•˜κ±°λ‚˜ "#"으둜 λΆ™μ—¬
두면 μ£Όμ„μ²˜λ¦¬λ˜μ–΄ λ¬΄μ‹œλœλ‹€.

ResourceConfig /dev/null
AccessConfig /dev/null


Timeout 300

  ν΄λΌμ΄μ–ΈνŠΈμ˜ μš”μ²­μ— μ˜ν•΄ μ„œλ²„μ™€ 연결이 λ˜μ—ˆμ„ λ•Œ ν΄λΌμ΄μ–ΈνŠΈμ™€
μ„œλ²„κ°„μ— μ•„λ¬΄λŸ° λ©”μ‹œμ§€κ°€ λ°œμƒν•˜μ§€ μ•Šμ•˜μ„ λ•Œ 였λ₯˜λ‘œ 처리될 μ‹œκ°„μ„
μ΄ˆλ‹¨μœ„λ‘œ μ„€μ •ν•œλ‹€. μ΄ˆκΈ°κ°’μ€ 1200이며 보톡은 300초둜 지정을 ν•œλ‹€.
λ„€νŠΈμ›μ˜ 속도가 λ‚˜μ μˆ˜λ‘ μˆ˜μΉ˜κ°’μ€ λ†’κ²Œ μ„€μ •ν•˜λŠ” 것이 μ’‹λ‹€.

KeepAlive On

  μ ‘μ†ν•œ μ±„λ‘œ νŠΉλ³„ν•œ μš”μ²­μ—†μ΄ 지속적인 연결을 ν—ˆμš©ν•  것인지λ₯Ό μ„€μ •ν•œλ‹€.
ν—ˆμš©ν•˜μ§€ μ•ŠμœΌλ €λ©΄ off

MaxKeepAliveRequests 100

  ν΄λΌμ΄μ–ΈνŠΈκ°€ μ ‘μ†λœ μ‹œκ°„λ™μ•ˆ μ•„νŒŒμΉ˜μ„œλ²„μ— μš”μ²­ν•  수 μžˆλŠ” μ΅œλŒ€μ˜
개수λ₯Ό μ§€μ •ν•œλ‹€. 0을 μ§€μ •ν•˜λ©΄ μ œν•œμ—†μŒμ„ μ˜λ―Έν•˜λ©°, μ„œλ²„μ˜ μ„±λŠ₯ν–₯상을
μœ„ν•˜μ—¬ κ°€λŠ₯ν•œ 높은 값이 μ’‹λ‹€.
 
KeepAliveTimeout 15

  μ•„νŒŒμΉ˜ μ„œλ²„λŠ” 같은 μ ‘μ†μƒνƒœμ˜ ν΄λΌμ΄μ–ΈνŠΈμ—μ„œ μ—¬κΈ°μ„œ μ§€μ •ν•œ 초만큼의
μš”μ²­μ΄ μ—†μ—ˆμ„ λ•Œ 접속을 끊게 λœλ‹€.

MinSpareServers 5
MaxSpareServers 10

  μ•„νŒŒμΉ˜ μ›Ήμ„œλ²„λŠ” μ„±λŠ₯ν–₯상과 λΉ λ₯Έ 응닡속도λ₯Ό μœ„ν•΄ μœ νœ΄μ„œλ²„(ν˜„μž¬
μ„œλΉ„μŠ€λŒ€κΈ° 쀑인 ν”„λ‘œμ„ΈμŠ€)λ₯Ό λ§Œλ“€κ²Œ λ˜λŠ”λ° 이 μœ νœ΄μ„œλ²„μ˜ κ°œμˆ˜λŠ” μ‹œμŠ€ν…œμ˜
상황에 따라 λ‹¬λΌμ§€κ²Œ λœλ‹€. μœ νœ΄μ„œλ²„κ°€ MinSpareServers의 개수(5) 보닀
적게되면 μΆ”κ°€λ‘œ 생성을 ν•˜κ²Œ 되며 MaxSpareServers의 개수(10)보닀 많게
되면 죽이게 λœλ‹€. 즉, μœ νœ΄μ„œλ²„μ˜ 개수λ₯Ό 적절히 μ‘°μ ˆν•˜κΈ° μœ„ν•œ 것이라
μƒκ°ν•˜λ©΄ λœλ‹€.


StartServers 5  

  μ•„νŒŒμΉ˜ 웹데λͺ¬μ΄ ꡬ동될 λ•Œ μžμ‹ν”„λ‘œμ„ΈμŠ€λ₯Ό λͺ‡ 개둜 ν•  것인가λ₯Ό
μ§€μ •ν•œλ‹€. μ‹œμž‘ν•  λ•Œ λ™μ‹œμ— λ„μš°κ²Œ 될 웹데λͺ¬μ˜ κ°œμˆ˜μ΄λ‹€. κ·ΈλŸ¬λ‚˜ 웹데λͺ¬μ΄
κ΅¬λ™λ˜κ³  λ‚œ λ’€μ—” μ‹œμŠ€ν…œμ˜ 상황(λΆ€ν•˜μœ¨λ“±)에 따라 λŒ€λΆ€λΆ„ 합리적인
개수만큼 λ™μ μœΌλ‘œ μƒμ„±λ˜μ—ˆλ‹€κ°€ 죽기도 ν•˜λ―€λ‘œ 큰 의미λ₯Ό κ°€μ§€λŠ” 것은
μ•„λ‹ˆλ‹€.

MaxClients 150

  μ•„νŒŒμΉ˜μ›Ήμ„œλ²„μ— μ ‘κ·Όν•  수 μžˆλŠ” ν΄λΌμ΄μ–ΈνŠΈμ˜ μ΅œλŒ€κ°―μˆ˜λŠ” 이 μƒν•œκ°’μœΌλ‘œ
μ œν•œν•œλ‹€. μ—¬κΈ°μ„œ μ§€μ •ν•œ κ°œμˆ˜μ΄μƒμ˜ ν΄λΌμ΄μ–ΈνŠΈμ˜ μš”μ²­μ΄ 생긴닀면
μ•„νŒŒμΉ˜λŠ” μ‘λ‹΅ν•˜μ§€ μ•Šκ³  이 μš”μ²­μ„ λ¬΄μ‹œν•œλ‹€.  μ΄λ₯Ό μ œν•œν•˜λŠ” μ΄μœ λŠ”
μ‹œμŠ€ν…œμ˜ μžμ›μ„ μ•„νŒŒμΉ˜ μ›Ήμ„œλ²„κ°€ λ¬΄ν•œμ • μ°¨μ§€ν•˜λŠ” 것을 λ°©μ§€ν•˜κΈ° μœ„ν•œ
것이닀.

MaxRequestsPerChild 30

  μ•„νŒŒμΉ˜ μ›Ήμ„œλ²„μ˜ μžμ‹ν”„λ‘œμ„ΈμŠ€λ“€μ΄ ν΄λΌμ΄μ–ΈνŠΈμ˜ μš”μ²­ 개수λ₯Ό μ§€μ •ν•œλ‹€.
λ§Œμ•½ μžμ‹ν”„λ‘œμ„ΈμŠ€κ°€ 이 κ°’λ§ŒνΌμ˜ ν΄λΌμ΄μ–ΈνŠΈμš”μ²­μ„ λ°›μ•˜λ‹€λ©΄ 이
μžμ‹ν”„λ‘œμ„ΈμŠ€λŠ” μžλ™μœΌλ‘œ μ£½κ²Œλœλ‹€. 이 값이 0으둜 섀정이 λœλ‹€λ©΄
μžμ‹ν”„λ‘œμ„ΈμŠ€κ°€ μžλ™μœΌλ‘œ μ£½λŠ”μΌμ€ 없을 것이닀. κ·ΈλŸ¬λ‚˜ 0μ•„λ‹Œ λ‹€λ₯Έ κ°’μœΌλ‘œ
μ„€μ •ν•¨μœΌλ‘œμ„œ ν”„λ‘œμ„ΈμŠ€μ˜ 수λ₯Ό 적절히 μ‘°μ ˆν•˜μ—¬ μ‹œμŠ€ν…œμ˜ λΆ€ν•˜μ‘°μ ˆκ³Ό
μžμ›λ‚­λΉ„λ₯Ό μ–΄λŠμ •λ„ 방지 ν•  수 μžˆλ‹€.

Listen 3000
Listen 12.34.56.78:80

  μ‹œμŠ€ν…œμ˜ 기본값이외에 λ‹€λ₯Έ IP Address와 ν¬νŠΈμ— λŒ€ν•΄μ„œλ„ μ—°κ²°ν•  수
μžˆλ„λ‘ ν•΄ μ€€λ‹€. ν™˜κ²½μ„€μ •νŒŒμΌ(httpd.conf) 맨뒀에 λ‚˜μ˜€λŠ” κ°€μƒν˜ΈμŠ€νŠΈ(Virtual
Host)λΆ€λΆ„μ—μ„œ μ„€μ •λ˜λŠ” κ°€μƒν˜ΈμŠ€νŠΈλ₯Ό μ„€μ •ν•˜κΈ° μœ„ν•΄ ν•„μš”ν•˜λ‹€.


BindAddress *

  μ„œλ²„κ°€ 응닡할 수 μžˆλŠ” IP Addressλ₯Ό μ„€μ •ν•˜λŠ” 것이닀. ν•˜λ‚˜μ˜ μ‹œμŠ€ν…œμ—
μžˆλŠ” μ•„νŒŒμΉ˜μ›Ήμ„œλ²„ ν•˜λ‚˜λ‘œ μ—¬λŸ¬ μ›Ήμ„œλ²„μ²˜λŸΌ κ΄€λ¦¬ν•˜λŠ” μ›Ήν˜ΈμŠ€νŒ…μ„œλΉ„μŠ€λ“±μ—μ„œ
많이 μ΄μš©ν•˜λŠ” κ²ƒμœΌλ‘œ μ—¬λŸ¬ IP Addressλ₯Ό 인식할 수 있게 ν•œλ‹€. "*"으둜
섀정이 λ˜μ—ˆλ‹€λ©΄ λͺ¨λ“   IP Address에 λŒ€ν•΄ 응닡할 수 있으며, IP Addressλ₯Ό
μ§€μ •ν•œλ‹€λ©΄ μ§€μ •ν•œ IP Address에 λŒ€ν•΄μ„œλ§Œ 응닡할 수 있게 λœλ‹€.  μ—¬λŸ¬κ°œμ˜
IP Addressλ₯Ό ISPλ‘œλΆ€ν„° ν• λ‹Ήλ°›μ•„μ„œ μ›Ήν˜ΈμŠ€νŒ…μ„œλΉ„μŠ€λ₯Ό ν•˜κ³ μž ν•œλ‹€λ©΄
μ΄λΆ€λΆ„μ—μ„œ 지정해 μ£Όλ©΄λœλ‹€. 이 μ„€μ •νŒŒμΌμ˜ 맨 뒷뢀뢄에 λ‚˜μ˜€λŠ”
<VirtualHost>~</VirtualHost>λΆ€λΆ„μ˜ IP bind κ°€μƒν˜ΈμŠ€νŠΈλΆ€λΆ„μ—μ„œ μ•„νŒŒμΉ˜
μ›Ήμ„œλ²„κ°€ 응닡할 수 μžˆλ„λ‘ ν•˜λ €λ©΄ μ—¬κΈ°μ„œ IP Addressλ₯Ό 지정해 μ€˜μ•Ό ν•œλ‹€.

ExtendedStatus On

  server-status둜 μ•„νŒŒμΉ˜μ›Ήμ„œλ²„μ˜ μƒνƒœλ₯Ό μƒνƒœλ₯Ό λͺ¨λ‹ˆν„°λ§ ν•  λ•Œ
"μžμ„Έν•œμƒνƒœμ •λ³΄"κΈ°λŠ₯을 μ œκ³΅ν•  것인지(On) μ•„λ‹Œμ§€(Off)λ₯Ό μ„€μ •ν•˜λŠ” 것이닀.

### Section 2: 'Main' server configuration

  Section 2μ—μ„œ μ„€μ •ν•˜λŠ” ν•­λͺ©λ“€μ€ μ•„νŒŒμΉ˜μ˜ μ£Όλœμ„œλ²„κ°€ μ‚¬μš©ν•  값듀을
μ§€μ •ν•œλ‹€. <VirtualHost>에 μ •μ˜λœ κ°€μƒν˜ΈμŠ€νŠΈλ“€μ—μ„œ μ§€μ •ν•˜μ§€ μ•ŠλŠ” 것은
μ—¬κΈ°μ„œ μ§€μ •λœ 값이 κΈ°λ³Έκ°’μœΌλ‘œ μ μš©λœλ‹€. λ˜ν•œ μ—¬κΈ°μ„œ μ§€μ •ν•˜λŠ” 값을 각
<VirtualHost>내에도 지정할 수 있으며 μ΄κ²½μš°μ—” 각<VirtualHost>λ‚΄μ—μ„œ
μ§€μ •ν•œ 값이 μš°μ„ μ μš©λœλ‹€.

Port 80

  μ•„νŒŒμΉ˜μ›Ήμ„œλ²„μ˜ 기본포트λ₯Ό μ§€μ •ν•œλ‹€. νŠΉλ³„ν•˜κ²Œ μ‚¬μš©ν•˜λŠ” 것이 μ•„λ‹ˆλΌλ©΄
80번으둜 해둬야 ν•œλ‹€. μ‚¬μš©κ°€λŠ₯ν•œ ν¬νŠΈλŠ” 0 ~ 65535이며 1024μ΄ν•˜μ˜
ν¬νŠΈλ²ˆν˜ΈλŠ” μ‹œμŠ€ν…œμ—μ„œ νŠΉλ³„ν•˜κ²Œ μ˜ˆμ•½λ˜μ–΄ μžˆμœΌλ―€λ‘œ 80번 μ΄μ™Έμ˜ λ‹€λ₯Έ
포트λ₯Ό μ‚¬μš©ν•˜λ €λ©΄ 1024μ΄μƒμ˜ 포트번호λ₯Ό μ§€μ •ν•΄μ„œ μ‚¬μš©ν•΄μ•Ό ν•  것이닀.
νŠΉλ³„ν•œ 지정이 μ—†λ‹€λ©΄ <VirtualHost>에 μ •μ˜λœ 각각의 κ°€μƒν˜ΈμŠ€νŠΈλ“€μ˜
κΈ°λ³Έν¬νŠΈκ°€ λœλ‹€. λ§Œμ•½ <VirtualHost> λ‚΄μ—μ„œ Portκ°€ 지정이 λœλ‹€λ©΄ κ·Έ
ν¬νŠΈλ²ˆν˜Έκ°€ μš°μ„ ν•œλ‹€.

(νŠΉλ³„νžˆ PORTλ₯Ό λ”°λ‘œ 지정해 쀄 ν•„μš”κ°€ μžˆμ„ λ•ŒλŠ” λ”°λ‘œ 지정해 μ£Όλ©°,
μ΄λ•ŒλŠ” μ›Ήμ„œλ²„λ‘œ μ ‘κ·Όν•  λ•Œ λ°˜λ“œμ‹œ λ”°λ‘œμ§€μ •ν•œ PORT번호둜 μ ‘κ·Όν•΄μ•Ό ν•œλ‹€.
예λ₯Όλ“€μ–΄ Port 1234둜 μ§€μ •ν–ˆλ‹€λ©΄, μ ‘κ·Όμ‹œ : http://www.domain.co.kr:1234
둜 μ ‘μ†ν•΄μ•Όν•œλ‹€. 단, 80λ²ˆμ€ defaultμ΄λ―€λ‘œ Port번호λ₯Ό μž…λ ₯ν•˜μ§€ μ•Šμ•„λ„
λ„λ©”μΈλ§ŒμœΌλ‘œ κ·Έλƒ₯ μ ‘κ·Όν•  수 μžˆλ‹€. 예: http://www.domain.co.kr )

User nobody
Group nobody

  μ•„νŒŒμΉ˜ 웹데λͺ¬μ΄ μš”μ²­μ„ λ°›μ•˜μ„ λ•Œ μ—¬κΈ°μ„œ μ§€μ •ν•œ user와 group으둜
응닡을 ν•˜κ²Œλœλ‹€. 이 섀정은 ServerType이 Standalone방식이며, μ•„νŒŒμΉ˜μ˜
싀행이 rootκΆŒν•œμœΌλ‘œ 싀행이 λ˜μ—ˆμ„ λ•Œ μœ νš¨ν•œ 것이닀. λ§Žμ€
μ›Ήμ„œλ²„κ΄€λ¦¬μžλ“€μ΄ nobody둜 섀정을 ν•΄ 두고 있으며, λ§Œμ•½ μ‹œμŠ€ν…œμ— nobody
userκ°€ μ—†λ‹€λ©΄ μƒˆλ‘œμƒμ„±(useradd)을 ν•΄μ•Ό ν•  것이닀. 단, root둜 μ„€μ •ν•˜λŠ”
것은 μ ˆλŒ€λ‘œ μžˆμ–΄μ„œλŠ” μ•ˆλ˜λ©° nobodyμ΄μ™Έμ˜ λ‹€λ₯Έ μ‹œμŠ€ν…œμ‚¬μš©μž id둜 지정을
ν•œλ‹€λ©΄ 정말 μ‹ μ€‘νžˆ λͺ¨λ“ λ©΄(μ‹œμŠ€ν…œ λ³΄μ•ˆ 및 μžμ›μ‚¬μš©λ“±)μ—μ„œ 깊게 κ³ λ €λ₯Ό
해봐야 ν•œλ‹€.

ServerAdmin webmaster@www.domain.co.kr

  μ—¬κΈ°μ„œ μ§€μ •ν•˜λŠ” email addressλŠ” μ›Ήλ¬Έμ„œ λ‘œλ”©μ—λŸ¬λ“±μ˜ λ¬Έμ œμ—μ„œ
ν΄λΌμ΄μ–ΈνŠΈμΈ‘μœΌλ‘œ λ³΄λ‚΄μ§ˆ λ©”μΌμ£Όμ†Œκ°’μ΄λ‹€. λŒ€λΆ€λΆ„
μ›Ήμ„œλ²„κ΄€λ¦¬μžμ˜ email address둜 섀정을 ν•œλ‹€.

ServerName new.host.name

  ν΄λΌμ΄μ–ΈνŠΈμ—κ²Œ λ³΄μ—¬μ£ΌλŠ” ν˜ΈμŠ€νŠΈμ΄λ¦„μ„ μ§€μ •ν•œλ‹€. wwwλ₯Ό μ“°μ§€μ•ŠλŠ”
ν˜ΈμŠ€νŠΈμ—μ„œ wwwλ₯Ό μ“°λŠ” κ²ƒμ²˜λŸΌ 보이게 ν•  수 μžˆλ‹€. 예λ₯Ό λ“€μ–΄
bbs.manualand.co.kr을 www.manualand.co.kr둜 μ§€μ •ν•΄μ„œ μ“Έ 수 μžˆλ‹€.
이곳에 IP Addressλ₯Ό 적게 되면 ν΄λΌμ΄μ–ΈνŠΈμ—λŠ” Ip Addressλ₯Ό 보여쀀닀.

DocumentRoot "/usr/local/apache/htdocs"

  μ•„νŒŒμΉ˜ μ›Ήμ„œλ²„μ˜ μ›Ήλ¬Έμ„œκ°€ μžˆλŠ” 경둜λ₯Ό μ§€μ •ν•œλ‹€. 예λ₯Ό λ“€μ–΄
"http://www.manualand.co.kr/index.html"의 초기 λ¬Έμ„œλΌλ©΄ 이 μ΄ˆκΈ°λ¬Έμ„œμ˜
μ ˆλŒ€ κ²½λ‘œλŠ” μ—¬κΈ°μ„œ μ§€μ •λœ "/usr/local/apache/htdocs/index.html"이 λœλ‹€.
경둜의 맨 λ§ˆμ§€λ§‰μ— "/"λ₯Ό μΆ”κ°€ν•΄μ„œλŠ” μ•ˆλœλ‹€. Aliasλ₯Ό μ‚¬μš©ν•˜μ—¬ λ‹€λ₯Έ μœ„μΉ˜λ₯Ό
지정할 μˆ˜λ„ μžˆλ‹€.

<Directory />
    Options FollowSymLinks
    AllowOverride None
</Directory>      
               

<Directory>μ—μ„œ μ§€μ •λ˜λŠ” 값에 λŒ€ν•œ μ˜΅μ…˜μ€ λ‹€μŒκ³Ό 같은 의미λ₯Ό 가지고
μžˆλ‹€.
        None : 일단 λͺ¨λ“ ν—ˆμš©μ„ ν•˜μ§€ μ•ŠλŠ”λ‹€.
        All : λͺ¨λ“ ν—ˆμš©μ„ ν•œλ‹€.
        Indexes :
        Includes :
        FollowSymlinks :
        ExeCGI :
        MultiViews :


UserDir public_html

  ν•˜λ‚˜μ˜ μ•„νŒŒμΉ˜ μ›Ήμ„œλ²„μ—μ„œ μ—¬λŸ¬ μ‚¬μš©μžμ˜ ν™ˆνŽ˜μ΄μ§€λ₯Ό λ³„λ„λ‘œ λ§Œλ“€μ–΄
관리할 λ•Œ ν•„μš”ν•œ κ°œλ³„ κ°€μž…μžμ˜ ν™ˆνŽ˜μ΄μ§€ 디렉토리이름이닀. 예λ₯Ό λ“€μ–΄
ssparkμ΄λž€ κ³„μ •κ°€μž…μžμ˜ν™ˆνŽ˜μ΄μ§€λŠ” "http://manualand.co.kr/~sspark"λΌλŠ”
ν™ˆνŽ˜μ΄μ§€λ₯Ό 가지고 μžˆμ„ λ•Œ sspark의 κ³„μ •μ—μ„œ "public_html"μ΄λž€
디렉토리가 ν™ˆλ””λ ‰ν† λ¦¬κ°€ λ˜μ–΄ 이 디렉토리에 μžˆλŠ” μ΄ˆκΈ°λ¬Έμ„œ index.html을
λΆˆλŸ¬μ„œ λ³΄μ—¬μ£Όκ²Œ λœλ‹€.

<Directory /home/*/public_html>
    AllowOverride FileInfo AuthConfig Limit
    Options MultiViews Indexes SymLinksIfOwnerMatch
IncludesNoExec
    <Limit GET POST OPTIONS PROPFIND>
        Order allow,deny
        Allow from all
    </Limit>
    <Limit PUT DELETE PATCH PROPPATCH MKCOL COPY
MOVE LOCK UNLOCK>
        Order deny,allow
        Deny from all
    </Limit>
</Directory>

κ³„μ •μ‚¬μš©μžμ˜ ν™ˆνŽ˜μ΄μ§€(public_html)의 접근에 λŒ€ν•œ μ˜΅μ…˜μ„ μ§€μ •ν•œ 것이닀.


DirectoryIndex index.html

  λ””λ ‰ν† λ¦¬λ§Œμ„ μ§€μ •ν–ˆμ„ κ²½μš°μ— κ·Έ λ””λ ‰ν† λ¦¬μ—μ„œ 찾게될 λ¬Έμ„œμ˜ μˆœμ„œλ₯Ό
지정해 μ€€λ‹€. 즉, 디렉토리 μ΄λ¦„λ§Œμ„ μ§€μ •ν•˜λ”λΌλ„ μ—¬κΈ°μ„œ μ§€μ •ν•œ
index.html을 μ°Ύμ•„μ„œ μ›ΉλΈŒλΌμš°μ¦ˆμ— 보여쀀닀. μ—¬λŸ¬κ°œμ˜ νŒŒμΌμ„ 지정할 수
있으며, 이런 κ²½μš°μ—λŠ” μˆœμ„œλŒ€λ‘œ μ°Ύμ•„μ„œ 보여쀀닀. 예λ₯Ό λ“€μ–΄
"DirectoryIndex index.html index.htm"둜 μ§€μ •ν–ˆλ‹€λ©΄ λ¨Όμ € "index.html"을
μ°Ύμ•„μ„œ μžˆλ‹€λ©΄ 이 νŒŒμΌμ„ λ‘œλ”©ν•˜κ³ , "index.html"이 μ—†λ‹€λ©΄ "index.htm"을
μ°Ύμ•„μ„œ λ‘œλ”©ν•΄ μ€€λ‹€.

AccessFileName .htaccess

  λ””λ ‰ν† λ¦¬λ³„λ‘œ μ ‘κ·Όμ œμ–΄ν•  정보(ID, Password)λ₯Ό λ‹΄κ³  μžˆλŠ” νŒŒμΌμ„
μ§€μ •ν•œλ‹€. λ””λ ‰ν† λ¦¬λ³„λ‘œ 인증을 κ±°μ³μ„œ μ ‘κ·Όν•  수 μžˆλŠ” 섀정을 ν•˜κΈ°μœ„ν•œ
것이닀. 예λ₯Ό λ“ λ‹€λ©΄ μ–΄λ–€ ν™ˆνŽ˜μ΄μ§€μ˜ μ „λΆ€λ‚˜ ν˜Ήμ€ μΌλΆ€μ—λ‘œ μ ‘κ·Όν•˜λ €κ³  ν• 
λ•Œ ID, Passwordλ₯Ό λ¬»λŠ” 창이 λœ¨λ©΄μ„œ 맞게 μž…λ ₯ν•œ κ²½μš°μ—λ§Œ μ ‘κ·Όν—ˆμš©ν•˜λŠ”
것이닀.  λ³΄μ•ˆμƒμ˜ 이유둜 이 파일의 이름을 λ‹€λ₯Έ μ΄λ¦„μœΌλ‘œ λ°”κΎΈλ‘œ μ‹Άλ‹€λ©΄
".htaccess"λŒ€μ‹ μ— 닀름이름을 적어주면 λœλ‹€.

<Files ~ "^\.ht">
    Order allow,deny
    Deny from all
</Files>

  λ°”λ‘œμœ„μ—μ„œ μ„€μ •ν•œ 파일(".htaccess")의 λ‚΄μš©μ„ λ³Ό 수 μ—†κ²Œ ν•  λ•Œ μ‚¬μš©ν•˜λŠ”
μ˜΅μ…˜μ΄λ‹€. λ³΄μ•ˆμƒμ˜ 이유둜 이 μ˜΅μ…˜μ€ μ„€μ •ν•΄ λ‘λŠ” 것이 μ’‹λ‹€. λ§Œμ•½ 이
μ˜΅μ…˜μ„ μ£Όμ„μ²˜λ¦¬ν•΄ λ‘”λ‹€λ©΄ ".htaccess"νŒŒμΌμ— λŒ€ν•œ λ³΄μ•ˆμ€ λˆ„κ΅¬λ„ μž₯λ‹΄ν•  수
없을 것이닀.


UseCanonicalName On


TypesConfig conf/mime.types

μ›Ήμ„œλ²„μ˜ mime type을 μ§€μ •ν•œ νŒŒμΌμ„ μ§€μ •ν•œλ‹€. mime.typesνŒŒμΌμ€ μ„œλ²„μ—
μ˜ν•΄ 리턴될 수 μžˆλŠ” 파일λͺ…κ³Ό mimeν˜•μ‹μ„ κΈ°μˆ ν•΄ 놓은 νŒŒμΌμ΄λ‹€.

DefaultType text/plain

mime.types νŒŒμΌμ— μ •μ˜ λ˜μ–΄μžˆμ§€ μ•Šμ€ νŒŒμΌν˜•μ‹μ— λŒ€ν•œ μš”μ²­μ„ λ°›μ•˜μ„ λ•Œ
μ•Œ 수 μ—†λŠ” λ¬Έμ„œνƒ€μž…μ— λŒ€ν•˜μ—¬ μ‚¬μš©ν•  기본적인 mime νƒ€μž…μ„ μ •ν•΄λ‘”λ‹€.


HostnameLookups Off

  μ›Ήμ„œλ²„μ˜ 둜그(access_log)λ₯Ό μ§€μ •ν•˜λŠ” Formatμ—μ„œ "DNS Lookup"으둜
μ§€μ •ν•˜μ˜€μ„ λ•Œ, domain으둜 남길 것인가, IP Address둜 남길 것인가λ₯Ό
μ§€μ •ν•œλ‹€. Default둜 OffλŠ” IP Address둜 λ‚¨κΈ°λŠ” 것이며, Domain으둜 λ³€κ²½ν• 
ν•„μš”κ°€ μ—†μœΌλ―€λ‘œ on으둜 μ„€μ •ν•œ κ²ƒλ³΄λ‹€λŠ” 속도가 쑰금빠λ₯΄λ‹€.on으둜 ν•˜κ²Œ
되면 IP addressλ₯Ό IP Domain으둜 λ³€ν™˜ν•΄μ•Ό ν•˜λ―€λ‘œ 속도가 쑰금 느릴 수
μžˆλ‹€.

ErrorLog logs/error_log

  μ•„νŒŒμΉ˜ μ›Ήμ„œλ²„μ˜ μ—λŸ¬λ‘œκ·Έ κΈ°λ‘νŒŒμΌμ„ μ§€μ •ν•œλ‹€.  μ°Έκ³ ν•  사항은 맨
λ§ˆμ§€λ§‰μ— μ„€μ •ν•˜λŠ” <VirtualHost>λΆ€λΆ„μ—μ„œ κ°μ„œλ²„μ— λŒ€ν•œ μ—λŸ¬νŒŒμΌμ„
지정해 두지 μ•ŠμœΌλ©΄ 그에 λŒ€ν•œ μ—λŸ¬λ‘œκ·Έλ„ 여기에 기둝되며, 지정해 λ‘κ²Œ
되면 그에 ν•΄λ‹Ήν•˜λŠ” λ‘œκ·ΈλŠ” 이 νŒŒμΌμ— κΈ°λ‘λ˜μ§€ μ•ŠλŠ”λ‹€.

LogLevel warn

  λ°”λ‘œμœ„μ—μ„œ μ„€μ •ν•œ μ—λŸ¬λ‘œκ·Έ νŒŒμΌμ— μ–Όλ§ˆλ‚˜ μžμ„Έν•˜κ²Œ 적을 것인지λ₯Ό
κ²°μ •ν•œλ‹€. λ‹€μŒμ— ν•΄λ‹Ήν•˜λŠ” μˆœμ„œλŒ€λ‘œ μ€‘μš”λ„κ°€ 정해진닀. " debug β†’ info β†’
notice β†’ warn β†’ error β†’ crit β†’ alert! β†’ emerg "

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\"
\"%{User-Agent}i\"" combind
LogFormat "%h %l %u %t \"%r\" %>s %b" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent

  λ°”λ‘œ μ•„λž˜μ—μ„œ μ‚¬μš©ν•  CustomLogμ—μ„œ μ‚¬μš©ν•  λͺ‡κ°€μ§€ λ‘œκ·Έν˜•μ‹μ˜ 별λͺ…을
μ •ν•œ 곳이닀.
μ›Ήμ„œλ²„μ˜ κ΄€λ¦¬μžλ‚˜ μ„œλ²„κ΄€λ¦¬μžλŠ” 이 뢀뢄을 특히 μœ μ‹¬νžˆ 봐둬야 ν•œλ‹€.
μ›Ήμ„œλ²„μ˜ 둜그λ₯Ό μ–΄λ–€ μ‹μœΌλ‘œ 남길 것인가λ₯Ό κ²°μ •ν•˜λŠ” Format을 μ§€μ •ν•˜λŠ”
곳이닀. μ›ν•˜λŠ” 정보λ₯Ό μ§€μ •ν•΄μ„œ λ³Ό 수 μžˆμœΌλ―€λ‘œ, κ΄€λ¦¬μžμ—κ²Œ ν•„μš”ν•œ
Format으둜 μ„€μ •ν•΄μ•Ό ν•˜λ©°, λ˜ν•œ 접속톡계λ₯Ό 내기에 μ λ‹Ήν•œ Format으둜
μ„€μ •ν•΄ 둬야 ν•œλ‹€.

CustomLog logs/access_log common

  μœ„μ—μ„œ μ •ν•œ λ‘œκ·Έν˜•μ‹(μ—¬κΈ°μ„  common)λŒ€λ‘œ 둜그λ₯Ό λ‚¨κΈ°κ²Œ λœλ‹€.
λ§¨λ§ˆμ§€λ§‰μ—μ„œ μ§€μ •ν•˜λŠ” <VirtualHost>λΆ€λΆ„μ—μ„œλ„ μ•„νŒŒμΉ˜ 1.3.9버전 λΆ€ν„°λŠ”
CustomLogλ₯Ό κ°€μƒν˜ΈμŠ€νŠΈλ³„λ‘œ μ§€μ •ν• μˆ˜ μžˆλ„λ‘ CustomLogλ₯Ό μ œκ³΅ν•œλ‹€.
<VirtualHost>μ—μ„œ CustomLogλ₯Ό μ§€μ •ν•˜μ§€ μ•ŠμœΌλ©΄ μ—¬κΈ°μ„œ μ§€μ •ν•œ ν˜•μ‹λŒ€λ‘œ
둜그λ₯Ό λ‚¨κΈ°κ²Œ 되며 <VirtualHost>λΆ€λΆ„μ—μ„œ CustomLogλ₯Ό μ§€μ •ν–ˆμ„
κ²½μš°μ—λŠ” μ—¬κΈ°μ„œ μ§€μ •ν•œ λ‘œκ·Έν˜•μ‹μ€ λ¬΄μ‹œλœλ‹€.

#CustomLog logs/referer_log referer
#CustomLog logs/agent_log agent
#CustomLog logs/access_log combined

  μœ„μ—μ„œ μ§€μ •ν•œ 4κ°€μ§€μ˜ λ‘œκ·Έν˜•μ‹(combind, common, referer, agent)μ€‘μ—μ„œ
μ›ν•˜λŠ” λΆ€λΆ„μ˜ #(주석행)을 μ œκ±°ν•˜λ©΄ μ§€μ •λœλ‹€.

ServerSignature On

  μ„œλ²„κ°€ μƒμ„±ν•˜λŠ” λ¬Έμ„œ(error documents, FTP directory listings,
mod_status and mod_info output etc., but not CGI generated documents)의
trailing footer line의 섀정을 κ°€λŠ₯ν•˜κ²Œ ν•œλ‹€.

Alias /icons/ "/usr/local/apache/icons/"

  ν•„μš”ν•œ 만큼의 디렉토리 별칭을 λ§Œλ“€μ–΄ μ“Έ 수 μžˆλ‹€. μ‚¬μš©ν•˜λŠ” ν˜•μ‹μ€
λ‹€μŒκ³Ό κ°™λ‹€.
Alias fakename(가상이름) realname(μ§„μ§œμ΄λ¦„)

ScriptAlias /cgi-bin/ "/usr/local/apache/cgi-bin/"

  ScriptAliasλŠ” μ„œλ²„μŠ€ν¬λ¦½νŠΈλ₯Ό ν¬ν•¨ν•œλ‹€. ScriptAliasλŠ” μ‹€μ œλ””λ ‰ν† λ¦¬ μ•ˆμ—
λ“€μ–΄μžˆλŠ” λ¬Έμ„œλ₯Ό μ„œλ²„μ— μ˜ν•΄ μ‘μš©ν”„λ‘œκ·Έλž¨μœΌλ‘œ μ·¨κΈ‰λ˜μ–΄ μ‹€ν–‰λ˜λŠ” 것을
μ œμ™Έν•˜κ³ λŠ” 근본적으둜 Aliases와 κ°™λ‹€.


IndexOptions FancyIndexing

  IndexOPtionsλŠ” 디렉토리λͺ©λ‘μ„ ν‘œμ‹œν•  λ•Œ μ‚¬μš©ν•  μ˜΅μ…˜μ„ μ§€μ •ν•œλ‹€.
StandardλŠ” ν‘œμ€€μ μΈ 디렉토리λ₯Ό λ‚˜νƒ€λ‚΄λ©°, FancyIndexing은 쒀더 예쁜
디렉토리λͺ©λ‘μ„ ν‘œμ‹œν•΄ μ€€λ‹€.


  μ•„λž˜μ—μ„œ μ§€μ •ν•˜λŠ” AddIcon으둜 μ‹œμž‘ν•˜λŠ” 섀정은 λ°”λ‘œμœ„μ—μ„œ μ„€μ •ν•œ
디렉토리인덱싱 μ˜΅μ…˜μ„ FancyIndexing으둜 ν•œ κ²½μš°μ— ν•΄λ‹Ήν•˜λ©° 디렉토리
λͺ©λ‘μ„ ν‘œμ‹œν•  λ•Œ 각 파일 ν™•μž₯μžμ— λ”°λΌμ„œ μ–΄λ–€ μ•„μ΄μ½˜μ„ μ„ νƒν•˜μ—¬ 보여쀄
것인지λ₯Ό μ§€μ •ν•œλ‹€.

AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip
AddIconByType (TXT,/icons/text.gif) text/*
AddIconByType (IMG,/icons/image2.gif) image/*
AddIconByType (SND,/icons/sound2.gif) audio/*
AddIconByType (VID,/icons/movie.gif) video/*

AddIcon /icons/binary.gif .bin .exe
AddIcon /icons/binhex.gif .hqx
AddIcon /icons/tar.gif .tar
AddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv
AddIcon /icons/compressed.gif .Z .z .tgz .gz .zip
AddIcon /icons/a.gif .ps .ai .eps
AddIcon /icons/layout.gif .html .shtml .htm .pdf
AddIcon /icons/text.gif .txt
AddIcon /icons/c.gif .c
AddIcon /icons/p.gif .pl .py
AddIcon /icons/f.gif .for
AddIcon /icons/dvi.gif .dvi
AddIcon /icons/uuencoded.gif .uu
AddIcon /icons/script.gif .conf .sh .shar .csh .ksh .tcl
AddIcon /icons/tex.gif .tex
AddIcon /icons/bomb.gif core

AddIcon /icons/back.gif ..
AddIcon /icons/hand.right.gif README
AddIcon /icons/folder.gif ^^DIRECTORY^^
AddIcon /icons/blank.gif ^^BLANKICON^^


DefaultIcon /icons/unknown.gif

  μ—¬κΈ°μ„œ μ§€μ •ν•œ ν™•μž₯κ°€κ°€ μ•„λ‹Œ κ²½μš°μ— μ—¬κΈ°μ„œ μ§€μ •ν•œ κΈ°λ³Έμ•„μ΄μ½˜μœΌλ‘œ
보여쀀닀.

AddDescription "GZIP compressed document" .gz
AddDescription "tar archive" .tar
AddDescription "GZIP compressed tar archive" .tgz

  AddDescription은 μ„œλ²„κ°€ μƒμ„±ν•œ 인덱슀의 파일 뒀에 κ°„λ‹¨ν•œ μ„€λͺ…을
ν‘œμ‹œν•  λ•Œ μ‚¬μš©ν•œλ‹€. 이 섀정은 IndexOptionsκ°€ FancyIndexing으둜
μ„€μ •λ˜μ—ˆμ„λ•Œλ§Œ ν‘œμ‹œλ˜λ©°, μ„€μ •ν˜•μ‹μ€ λ‹€μŒκ³Ό κ°™λ‹€.
ν˜•μ‹ : AddDescription "ν‘œμ‹œν•  μ„€λͺ…" νŒŒμΌν™•μž₯자

ReadmeName README

  ReadmeName은 디렉토리λͺ©λ‘ν‘œμ‹œ 뒀에 λΆ™μ—¬μ„œ 보여쀄 README파일의
이름을 μ§€μ •ν•œλ‹€.(μΌμ’…μ˜ 꼬릿말)

HeaderName HEADER

  HeaderName은 디렉토리λͺ©λ‘ν‘œμ‹œ μ•žμ— λΆ™μ—¬μ§ˆ 파일의 이름을 μ§€μ •ν•œλ‹€.
(μΌμ’…μ˜ 머릿말)

IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t

  디렉토리λͺ©λ‘μ„ 인덱싱할 λ•Œ μ œμ™Έν•  파일λͺ…을 μ§€μ •ν•œλ‹€. 즉 디렉토리
λͺ©λ‘μ— ν¬ν•¨ν•˜μ§€ μ•Šμ„ νŒŒμΌμ„ μ§€μ •ν•œλ‹€. μ‰˜μŠ€νƒ€μΌμ˜ μ™€μΌλ“œμΉ΄λ“œ(*, ?)κ°€
ν—ˆμš©λœλ‹€.

AddEncoding x-compress Z
AddEncoding x-gzip gz tgz

  AddEncoding은 νŠΉμ •λΈŒλΌμš°μ¦ˆ(Mosaic/X 2.1+)μ—μ„œ λ°›κ³ μžˆλŠ” 쀑에 정보에
λŒ€ν•œ μ••μΆ•ν•΄μ œλ₯Ό ν•  수 μžˆλ„λ‘ν•œλ‹€. 단 λͺ¨λ“  μ›ΉλΈŒλΌμš°μ¦ˆμ—μ„œ 이 κΈ°λŠ₯을
μ œκ³΅ν•˜λŠ” 것은 μ•„λ‹ˆλ‹€.

AddLanguage en .en
AddLanguage fr .fr
AddLanguage de .de
AddLanguage da .da
AddLanguage el .el
AddLanguage it .it

  AddLanguageλŠ” λ¬Έμ„œμ˜ μ–Έμ–΄λ₯Ό μ§€μ •ν•˜κ²Œ ν•œλ‹€.

LanguagePriority en fr de

  μ–Έμ–΄μ˜ μš°μ„ μˆœμœ„λ₯Ό λ‚΄λ¦Όμ°¨μˆœμœΌλ‘œ μ§€μ •ν•œλ‹€.

AddType application/x-httpd-php3 .php3
AddType application/x-httpd-php3-source .phps
AddType application/x-tar .tgz

  AddType은 mime.types의 μ‹€μ œ νŽΈμ§‘μ—†μ΄λ„ mime을 μ„€μ •ν•  수 μžˆλ‹€.

AddHandler cgi-script .cgi

  AddHandlerλŠ” νŒŒμΌν™•μž₯자λ₯Ό 처리기(Handler)에 맀핑(μ—°κ²°)μ‹œμΌœμ£Όκ²Œ λœλ‹€.

AddType text/html .shtml
AddHandler server-parsed  .shtml

  SSI(Server Side Include)λ¬Έμ„œλ₯Ό μΈμ‹ν•˜κ²Œ ν•˜κΈ°μœ„ν•œ 섀정이닀. SSIμ½”λ“œκ°€
λ“€μ–΄κ°€ μžˆλŠ” λ¬Έμ„œλŠ” ν™•μž₯μžκ°€ *.shtml이닀. μ‹œμŠ€ν…œμ˜ λ‚ μ§œμ™€ μΉ΄μš΄ν„°λ“±
CGIν”„λ‘œκ·Έλž¨μ„ ν•˜μ§€ μ•Šμ•„λ„ HTMLλ¬Έμ„œμ—μ„œ 단 λͺ‡μ€„λ‘œ CGI의 효과λ₯Ό λ‚Ό 수
μžˆλŠ” SSIκΈ°λŠ₯을 μΈμ‹ν•˜κ²Œλ” ν•˜λŠ” 섀정이닀. "7μž₯. μ•„νŒŒμΉ˜μ™€ SSI"νŽΈμ—μ„œ μžμ„Ένžˆ
μ„€λͺ…λ˜μ–΄ μžˆλ‹€.


#Format: Action media/type /cgi-script/location
#Format: Action handler-name /cgi-script/location

  Action은 λ§€μΉ­λ˜λŠ” 파일이 ν˜ΈμΆœλ λ•Œλ§ˆλ‹€ 슀크립트λ₯Ό μ‹€ν–‰μ‹œν‚¬ 수 μžˆλ„λ‘
λ―Έλ””μ–΄ νƒ€μž…μ„ μ •μ˜ν•œλ‹€.

MetaDir .web

  MetaDir은 μ•„νŒŒμΉ˜κ°€ 찾을 λ©”νƒ€μ •λ³΄νŒŒμΌλ“€μ˜ 디렉토리이름을 μ§€μ •ν•œλ‹€. 이
νŒŒμΌλ“€μ€ λ¬Έμ„œλ₯Ό 전솑할 λ•Œ ν¬ν•¨λ˜λŠ” HTTP 헀더정보가 ν¬ν•¨λ˜μ–΄ μžˆλ‹€.

MetaSuffix .meta

  MetaSuffixλŠ” 메타정보λ₯Ό ν¬ν•¨ν•˜κ³  μžˆλŠ” μ ‘λ―Έμ–΄μ˜ 이름을 μ§€μ •ν•œλ‹€.


μ—λŸ¬λ°œμƒμ‹œ 응닡을 μ •μ˜ν•  수 μžˆλŠ” 방법을 3가지 λ‚˜νƒ€λ‚΄κ³  μžˆλ‹€.

    1) 일반적인 ν…μŠ€νŠΈ

ErrorDocument 500 "The server made a boo boo.

    2) 지역적인 λ°©ν–₯μ „ν™˜

ErrorDocument 404 /missing.html
ErrorDocument 404 /cgi-bin/missing_handler.pl

    3) μ™ΈλΆ€ λ°©ν–₯μ „ν™˜

ErrorDocument 402
http://some.other_server.com/subscription_info.html


  λ‹€μŒμ˜ BrowserMatchλŠ” keepalivesκΈ°λŠ₯을 쓰지λͺ»ν•˜κ²Œ ν•˜λ©° HTTP
ν—€λ“œλ°©μ‹μ„ μ„€μ •ν•œλ‹€.

BrowserMatch "Mozilla/2" nokeepalive

  이 섀정은 Netscape 2.x λ˜λŠ” 이λ₯Ό λ”°λ₯΄λŠ” λΈŒλΌμš°μ¦ˆμ— λŒ€ν•˜μ—¬ KeepAlive
κΈ°λŠ₯을 쓰지 λͺ»ν•˜κ²Œν•œλ‹€.

BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0
force-response-1.0

  이 섀정은 잘λͺ»κ΅¬ν˜„λœ HTTP/1.1κ³Ό 301λ˜λŠ” 302λ°˜μ‘μ— λŒ€ν•˜μ—¬
KeepAliveλ₯Ό 적절히 μ œκ³΅ν•˜μ§€ λͺ»ν•˜λŠ” λ§ˆμ΄ν¬λ‘œμ†Œν”„νŠΈ μΈν„°λ„·μ΅μŠ€ν”Œλ‘œλŸ¬
4.0b2d에 κ΄€ν•œ 것이닀.

BrowserMatch "RealPlayer 4\.0" force-response-1.0
BrowserMatch "Java/1\.0" force-response-1.0
BrowserMatch "JDK/1\.0" force-response-1.0

  μœ„μ˜ 3가지 섀정은 기본적인 1.1λ°˜μ‘λ„ μ²˜λ¦¬ν•˜μ§€ λͺ»ν•˜λ©° HTTP/1.0 μŠ€νŒ©μ„
μ œν•œν•˜κ³  μžˆλŠ” λΈŒλΌμš°μ¦ˆμ— λŒ€ν•˜μ—¬ HTTP/1.1λ°˜μ‘μ„ ν•˜μ§€ λͺ»ν•˜κ²Œ ν•œ 것이닀.

<Location /server-status>
    SetHandler server-status
    Order deny,allow
    Deny from all
    Allow from www.manualand.co.kr
</Location>

  μ„œλ²„μ˜ μƒνƒœλ₯Ό 점검할 수 μžˆκ²Œν•˜λŠ” 섀정이닀. μ΄λŠ”
"http://www.manualand.co.kr/server-status"와 같은 ν˜•μ‹μœΌλ‘œ μ„œλ²„μ˜ μƒνƒœλ₯Ό
점검할 수 μžˆλ‹€. "6μž₯. μ•„νŒŒμΉ˜μ„œλ²„ λͺ¨λ‹ˆν„°λ§"νŽΈμ—μ„œ μžμ„Ένžˆ μ„€λͺ…λ˜μ–΄ μžˆλ‹€.
μ—¬κΈ°μ„œ μ§€μ •ν•œ "SetHandler server-status"의 μ„€μ •μœΌλ‘œ 인해 μ„œλ²„
λͺ¨λ‹ˆν„°λ§μ„ ν•  수 μžˆλŠ” 것이닀.

<Location /server-info>
    SetHandler server-info
    Order deny,allow
    Deny from all
    Allow from www.manualand.co.kr
</Location>

  이섀정을 μœ„ν•΄μ„œλŠ” mod_info.cκ°€ μ μž¬λ˜μ–΄μ•Ό ν•˜λ©°, μ΄λŠ”
"http://www.manualand.co.kr/server-info"와 같은 λ°©μ‹μœΌλ‘œ μ„œλ²„μ˜ 정보λ₯Ό
λ³Ό 수 μžˆλ‹€. μœ„μ—μ„œ μ„€μ •ν•œ server-status와 ν•¨κ»˜ 싀행쀑인 μ›Ήμ„œλ²„μ˜
μƒνƒœμ κ²€μ„ μœ„ν•œ 것이닀.

<Location /cgi-bin/phf*>
    Deny from all
    ErrorDocument 403 http://phf.apache.org/phf_abuse_log.cgi
</Location>

  μ•„νŒŒμΉ˜ 1.1이전 λ²„μ „μ˜ 였래된 버그에 λŒ€ν•œ μ•…μš©μ΄ μžˆμ„μ‹œμ—λŠ” μ§€μ •ν•œκ³³
(http://phf.apache.org/phf_abuse_log.cgi) 으둜 λ°©ν–₯을 μ „ν™˜μ‹œν‚¨λ‹€.


<IfModule mod_proxy.c>
ProxyRequests On

  μ•„νŒŒμΉ˜ μ›Ήμ„œλ²„λ₯Ό Proxyμ„œλ²„λ‘œ μ‚¬μš©ν•  λ•Œ on을 ν•΄μ€˜μ•Ό ν•œλ‹€. 즉  
ν”„λ½μ‹œμ„œλ²„ μ§€μ‹œμžλ‘œμ„œ ν”„λ½μ‹œμ„œλ²„λ₯Ό on μ‹œν‚¨λ‹€.

<Directory proxy:*>
    Order deny,allow
    Deny from all
    Allow from .your_domain.com
</Directory>

ProxyVia On

  HTTP/1.1 "Via:"ν—€λ“œμ²˜λ¦¬λ₯Ό ν™œμ„±ν™”μ‹œν‚¬ 것인지 λΉ„ν™œμ„±ν™” μ‹œν‚¬κ²ƒμΈμ§€λ₯Ό
μ§€μ •ν•œλ‹€. Off, On, Full, Block쀑 ν•˜λ‚˜κ°€ 올 수 있으며 Full은 μ„œλ²„λ²„μ „μ„
ν¬ν•¨ν•˜λ©°, Block은 λ‚˜κ°€λŠ” λͺ¨λ“  것에 λŒ€ν•΄ Via:헀더λ₯Ό μ œκ±°ν•œλ‹€.

CacheRoot "/usr/local/apache/proxy"
CacheSize 5
CacheGcInterval 4
CacheMaxExpire 24
CacheLastModifiedFactor 0.1
CacheDefaultExpire 1
NoCache a_domain.com another_domain.edu joes.garage_sale.com

  이 섀정은 μΊμ‹œκΈ°λŠ₯을 ν™œμ„±ν™” ν•˜κΈ° μœ„ν•œ 것이닀.

### Section 3: κ°€μƒν˜ΈμŠ€νŠΈ μ„€μ •

  μ—¬λŸ¬λΆ„μ˜ μ‹œμŠ€ν…œμ—μ„œ μ—¬λŸ¬κ°œμ˜ λ„λ©”μΈμ΄λ‚˜ ν˜ΈμŠ€νŠΈλ„€μž„μ„ μ„€μ •ν•˜μ—¬
κ΄€λ¦¬ν•˜κ³ μž ν•œλ‹€λ©΄ <VirtualHost>뢀뢄을 μ„€μ •ν•΄ μ€˜μ•Ό ν•œλ‹€. κ°€μƒν˜ΈμŠ€νŠΈμ—
λŒ€ν•œ μ •λ³΄λŠ” http://www.apache.org/docs/vhosts/λ₯Ό μ°Έμ‘°ν•΄ 보면 쒀더
μžμ„Έν•œ 정보λ₯Ό 얻을 수 μžˆλ‹€.  '-S'μ˜΅μ…˜μ„ μ‚¬μš©ν•¨μœΌλ‘œμ¨ κ°€μƒν˜ΈμŠ€νŠΈμ˜ 섀정에
λŒ€ν•œ 점검을 ν•  수 μžˆλ‹€.  name-based κ°€μƒν˜ΈμŠ€νŠΈλ₯Ό μ‚¬μš©ν•˜κΈΈ μ›ν•œλ‹€λ©΄
적어도 ν•œ κ°œμ΄μƒμ˜ IP Addressλ₯Ό μ •μ˜ν•  ν•„μš”κ°€ μžˆλ‹€. "4-2절의 λ‚΄μš©"κ³Ό
"10μž₯.μ›Ήν˜ΈμŠ€νŒ… μ„œλΉ„μŠ€λ₯Ό μœ„ν•œ κ°€μƒν˜ΈμŠ€νŠΈ"νŽΈμ—μ„œ μžμ„Ένžˆ μ„€λͺ…λ˜μ–΄ μžˆλ‹€.

NameVirtualHost 12.34.56.78:80
NameVirtualHost 12.34.56.78

<VirtualHost www.manualand.co.kr>
    ServerAdmin webmaster@manualand.co.kr
    DocumentRoot /home/sspark/public_html
    ServerName www.manualand.co.kr
    ErrorLog /home/sspark/public_html/aw/error_log
    CustomLog /home/sspark/public_html/aw/access_log common
</VirtualHost>

        ServerAdmin은 ν•΄λ‹Ήμ„œλ²„μ˜ κ΄€λ¦¬μž μ „μžμš°νŽΈμ΄λ©°,
        DocumemtRootλŠ” ν•΄λ‹Ήμ„œλ²„μ˜ ν™ˆλ””λ ‰ν† λ¦¬μ΄λ©°,
        ServerName은 ν•΄λ‹Ήμ„œλ²„μ˜ 도메인이며,
        ErrorLogλŠ” ν•΄λ‹Ήμ„œλ²„μ˜ μ—λŸ¬νŒŒμΌ μœ„μΉ˜μ΄λ©°
        CustomLogλŠ” λ‘œκ·ΈνŒŒμΌμœ„μΉ˜μ™€ 포맷을 μ§€μ •ν•œ 것이닀.

<VirtualHost _default_:*>
</VirtualHost>

  Default κ°€μƒν˜ΈμŠ€νŠΈ μ„€μ •μœΌλ‘œ μœ„μ—μ„œ μ„€μ •λ˜μ§€ μ•Šμ€ λ‹€λ₯Έ λͺ¨λ“  ν˜ΈμŠ€νŠΈμ—
λŒ€ν•΄μ„œ 응닡을 ν•˜κ³ μž ν•  κ²½μš°μ„€μ •ν•΄ μ€€λ‹€.



λΈ”λ‘œκ·Έ 이미지

extron

λͺ¨λ°”일+IT

,