### 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 κ°μνΈμ€νΈ μ€μ μΌλ‘ μμμ μ€μ λμ§ μμ λ€λ₯Έ λͺ¨λ νΈμ€νΈμ
λν΄μ μλ΅μ νκ³ μ ν κ²½μ°μ€μ ν΄ μ€λ€.