>> Read No. 258 article  
[웹호스팅]아파치-메일-ProFTPd초보자도 할수 있다(1)

등록 1999-09-19 23:20:00     조회 4
이름 산이    

		<PRE>안녕하세요??산이입니다.아래 문서는 -아파치1.3.9-센드메일 8.3.x-qpopper 3.0-ProFTPd1.2pre6
를 중심으로 작성되었습니다. 용량이 꽤 되네요.....=========================================[웹호스
팅]RedHat 6.0기반 가상웹-메일-FTP운영하기산이<san2 at urban.suwon.ac.kr>1999-08-18 : 1차 (최초작성)1999-
09-16 : 2차---------------------------------------------------------------이 글의 내용은 1대의 리눅스박스
에 같은 IP, 서로 다른 IP, 같은 도메인, 서로다른 여러개의 도메인에 대해서 가상웹-메일-FTP
 운영을 다루는 기초적이고예시적인 방법으로 서술한 내용입니다.그리고 실제로 내부IP를 
이용하여 테스트에 성공한 예입니다.---------------------------------------------------------------이 문
서는 HTML 문서로도 지원합니다. http://linuxer.suwon.ac.kr/linux_docs/virtual_services/주)개념적이고 원
론적인 내용은 모두 빠져있습니다. 웹상에 많은 문서가 존재하므로 이런 문서를 찾아 먼저
 습득하고 본 문서를 읽어나가면 쉽게 이해하리라 생각됩니다.또한 이 문서는 좋은 문서가
 아닙니다. 다만 하나의 예시 일 뿐입니다.그러나 예시를 통해 자신의 상황에 맞게 수정하
면 누구나 쉽게 가상웹-메일-FTP를 운영하리라 생각했기 때문에, 그리고 본인의 실력이 형
편없는 관계로원론적이고 개념적인 내용을 설명하자면 어쩔 수 없이 도용(?)해야만 하기때
문에 개념적이고 원론적인 정의는 모두 뺐습니다.따라서 이하 서술된 내용은 리눅스 전문
서적이나 기존에 존재하는 문서를 그대로 배끼는 그런 우매한 짓은 하지 않을 것이며 이런
 문서의 지식을 바탕으로본인이 직접 테스트하고 느낀 점을 토대로 서술해 나갈 것이며,  
설사 본인의지식이 모자라 기존의 문서의 힘을 빌릴경우에는  정확한 출처를 밝히고 기술
해 나갈것입니다.이하 관례적으로 "경어" 생략합니다.-------------------------------------------------
--------------목차1. 들어가기 전에  1-1. 상세한 세부분야 내용(참고자료)-링크  1-2. 나의 테
스트 환경 및 목표2. DNS(도메인 네임서비스) 설정  2-1. Bind 설치하기  2-2. 나의 목표에 맞게
 DNS 설정    2-2-1. /etc/named.boot    2-2-2. /etc/named.conf    2-2-3. /var/named/named.ca    2-2-4. /var/nam
ed/named.local    2-2-5. /var/named/zone-10.168.192    2-2-6. /var/named/zone-linux.ac.kr    2-2-7. /var/named/zon
e-linuxer.com    2-2-8. /var/named/zone-linuxer.net    2-2-9. /var/named/zone-sonamu.co.kr3. 가상 웹서버 (아
파치 1.3.9 경우)  3-1. 아파치설치(생략)  3-2. 아파치 설정파일(httpd.conf)4. 가상 메일서버  4-
1. sendmail 설치하기  4-2. qpopper 설치하기  4-3. /etc/sendmail.cf  4-4. /etc/sendmail.cw  4-5. /etc/sendmai
l.cm  4-6. /etc/mail/access  4-7. /etc/mail/virtusertable5. 가상 FTP서버 (ProFTPd)  5-1. ProFTPd 설치하기  5
-2. /etc/proftpd.conf6. 마치며---------------------------------------------------------------1. 들어가기 전에1-
1. 상세한 세부분야 내용(참고자료)링크- Net-3 HOWTO(KLDP)- Network Adminstrator Guide(KLDP)- 김병찬(적
수)님의 네임서버강좌(KLDP)- 김승영님의 DNS(도메인네임 및 네임서버구축)(KLDP)- DNS HOWTO(KLDP)-
 리눅스에서 IP Aliasing 세팅하기 mini HOWTO(KDLP)- Sendmail 이야기(KLDP)- Virtual Services HOWTO(KDDP)- 가
상웹 mini HOWTO(KLDP)- 아파치 1.3 메뉴얼 Virtualhost(영문)- Proftpd Configuration(영문)- Proftpd Reference (
영문)- POP3 daemon 설치 및 활용가이드 -네번째 판(박재호님 홈페이지)- 김정균님의 홈페이지1
-2. 나의 테스트환경 및 목표[서버환경]- OS:알짜리눅스6.0(커널2.2.12)- 3Com 900B-TPO Ethernet Card 1
개- Intel eepro 10 ISA Ethernet Card 1개- apache 1.3.9-1kr- Sendmail 8.9.3-10kr- qpopper 3.0- bind 8.2-6- Proftpd 1.2.
0Pre6(99.09.11일자)- 사용한 IP:192.168.10.3~5 (내부IP)[클라이언트환경]- OS:윈98- 3Com 905B-TPO Ethernet
 Card 1개- 사용한 IP:192.168.10.11 (내부IP)[나의 목표]- 서버 : 리눅스박스1대- 사용할 IP : 192.168.
10.3 192.168.10.4 192.168.105(3개)- 앞으로 계속 도메인이 추가시에는 192.168.10.5 하나만 사용할 예
정이다.- linux.ac.kr 도메인은 현 리눅스박스의 주 도메인이고 game(계정 : game)   호스트만 제
외하고 모두 root가 관리한다. game 호스트 관리자인 game은   웹 문의에 대한 메일을  gamedori@
hanmail.net 로 사용하고자 한다.- linuxer.com 도메인을 사용하는 자는고객이며 2개의 웹호스트 
 (www. stock)를 운영하기를 원하고 'stock' 웹호스트 대한 웹문의는 별도로  stock at linuxer.com 으로
 받고 싶어하며 Anonymous FTP도 운영하고자 한  다. 계정은 com이며 1명이 관리하고자 한다.- li
nuxer.net 도메인을 사용하는 자는 고객이며 역시 2개의 웹호스트   (www. meeting)를 운영할 계
획이고 meeting 웹호스트의 이용자가 많아   'www' 웹호스트의 Admin이 관리할 수 없어 다른 사
람이 관리하기를 원한다.   따라서 'www' 웹 호스트에 대해서는 Admin(계정 : net)과 'meeting' 웹
호스   트에 대해서는 다른 사람(account : meet)이 관리하고자 한다. 'meeting'   웹호스트에 대
한 웹문의는 meeting at linuxer.net 로 사용하므로 결국   2명이 관리하는 셈이다.- sonamu.co.kr 도메
인을 사용하는 자는 고객이며 오직 하나의 웹호스트   ('www')만 운영하고자 한다. 또한 메
일은 webmaster at sonamu.co.kr 이   아닌 admin at sonamu.co.kr로 사용하고자 한다.  또한 이 고객이 몸담
고   있고 회사에서는 4개의 e-mail을 더 사용하기를 원한다. 즉 이 회사의 사장은   namu@sonam
u.co.kr, 나머지 3명의 사원은 각각 'kim', 'park', 'lee' 라는   ID로 메일을 이용하고자 한다. 따
라서 웹 Admin과 메일사용자인 4명을 합하면   5명의 사용자가 된다.   그리고 사장과 3명의 
사원은 http://www.sonamu.co.kr/~namu 와 같은   홈페이지를 각자 가지고 싶어 한다.- 주)   필자는
 웹호스팅업체에 몸담고 있지 않기 때문에 많은 도메인을 실제로 관리   해본 경험은 없다
.   다만 고민끝에 2대의 PC(리눅스, 윈98)를 다른 PC들과 함께 HUB로 연결하여   내부IP(C클래
스)를 사용하였으며 각각의 여러개의 도메인에 대해서 실제로   내부IP 1개로 사용하여  
네임서버 및 www, mail, ftp, telnet 테스트하는데   성공 했을 뿐이다.- 세부사항(*이 글을 이해
하는데 필수)======================+==============+================================        호스트+도메인 
  IP             계정   (Admin E-mail)         ======================+==============+======================
==========(주도메인)linux.ac.kr   192.168.10.3   root   (webmaster at linux.ac.kr)        ns.linux.ac.kr   192.1
68.10.3   root   (webmaster at linux.ac.kr)      www.linux.ac.kr   192.168.10.3   root   (webmaster at linux.ac.kr)  
    ftp.linux.ac.kr   192.168.10.3   root   (ftp at linux.ac.kr)    study.linux.ac.kr   192.168.10.4   root   (st
udy at linuxer.ac.kr)study-app.linux.ac.kr   192.168.10.4   root   (study-app at linuxer.ac.kr)     study-net.linun.ac.kr
   192.168.10.4   root   (study-net at linuxer.ac.kr)     game.linux.ac.kr   192.168.10.5   game   (gamedori@hanmai
l.net)======================+==============+================================(고객)    linuxer.com   192.168.10.5  
 com    (webmaster at linuxer.com)        ns.linuxer.com   192.168.10.5   com    (webmaster at linuxer.com)      w
ww.linuxer.com   192.168.10.5   com    (webmaster at linuxer.com)      ftp.linuxer.com   192.168.10.5   com    (
ftp at linuxer.com)                stock.linuxer.com   192.168.10.5   com    (stock at linuxer.com)===============
=======+==============+================================(고객)    linuxer.net   192.168.10.5   net    (webmaster@
linuxer.net)        ns.linuxer.net   192.168.10.5   net    (webmaster at linuxer.net)                     
    www.linuxer.com   192.168.10.5   net    (webmaster at linuxer.net)      ftp.linuxer.com   192.168.10.5   net
    (ftp at linuxer.net)              meeting.linuxer.com   192.168.10.5   meet   (meeting at linuxer.net)========
==============+==============+================================(고객)www.sonamu.co.kr  192.168.10.5   sonamu (admin@s
onamu.co.kr)        		(일반계정)     namu   (namu at sonamu.co.kr)                        (일반계
정)     kim    (kim at sonamu.co.kr)                                  (일반계정)     park   (p
akr at sonamu.co.kr)                        (일반계정)     lee    (lee at sonamu.co.kr)  ================
======+==============+================================ 먼저 계정을  발급해 주자.linux.ac.kr 도메인은 시
스템 관리자인 root 가 관리하므로 별도로 계정을만들지 않고 일반유저인 'san2' 가 관리한다
는 가정이다.# adduser san2# passwd san2password *******# adduser com# passwd compassword *******# adduser net# pass
wd netpassword *******# adduser meet# passwd meetpassword *******# adduser sonamu# passwd sonamupassword *******# adduse
r namu# passwd namupassword *******# adduser kim# passwd kimpassword *******# adduser park# passwd parkpassword *******#
 adduser lee# passwd leepassword *******2. DNS(도메인 네임서비스) 설정가상웹호스팅을 원하고자 하
는 이는 무엇보다 도메인네임서버를 잘 설정해야한다. 네임서버를 어떻게 잘 설정하느냐 
못하느냐에 따라서 웹호스팅가능유무가 결정된다.또한 IP가 부족하여 1개의 IP로 여러개의 
도메인을 한대의 리눅스박스에운영하는 것도 역시 만찬가지이다.다음에 보여주는 네임서
버 설정의 예는 어디까지나 필자의 예이다. 즉 얼마든지 같은 결과로 다른 예가 있기 마련
이므로 네임서버 설정에 대한 문서를 꼭 읽어보기 바란다. 여기에서는 첫머리에 말했듯이 
개념이나 정의를설명하지는 않는다. 다만 위의 목표에 부합되기 위해서 네임서버를설정할
 뿐이다.(필자은 네임서버 전문가가 아님)2-1. Bind 설치하기네임서버를 구축(또는 설정)하려
면 Bind 설치는 필수적이다.Bind와   caching-nameserver는 꼭 설치해야 한다.우선 자신의 리눅스
박스에 설치(rpm)되어 있는지 확인하자.[san2@www san2]$ rpm -qa | grep bindbind-8.2-6bind-utils-8.2-6[san2@w
ww san2]$[san2@www san2]$ rpm -qa | grep namecaching-nameserver-6.0-2[san2@www san2]$필자의 리눅스박스에는 bin
d-8.2 와 caching-nameserver-6.0이 설치되어 있다. 설치되어 있지 않다면 다음과 같이 CD-ROM이나 FTP
싸이트에서 다운로드하여 설치하기 바란다.예: CD-ROM으로 설치하기[san2@www san2]$ suPassword:***
*****[root@www san2]# mount /mnt/cdrom[root@www san2]# cd /mnt/cdrom/RedHat/RPMS[root@www RPMS]# rpm -Uvh bind*bind   
                         ##############################bind-devel                      ##########
####################bind-utils                      ##############################[root@www RPMS]# rpm -Uvh c
aching-nameserver*caching-nameserver              ##############################[root@www RPMS]#이제 네임서
버를 구축하기 위한 밑바탕은 되어있다.  다음단계에는 직접'나의 목표'에 부합되게 네임
서버를 구축(이하 '설정')해 보자.2-2. 나의 목표에 맞게 DNS 설정위의 2-1과정을 무사히 끝냈
다면[root@www /etc]# ls -l named*-rw-r--r--   1 root     root          407 Sep 13 08:24 named.boot-rw-r--r-- 
  1 root     root         1508 Sep 13 08:26 named.conf[root@www /etc]# cd /var/named[root@www named]# ls -ltotal 8
-rw-r--r--   1 root     root         2769 Mar 22 04:49 named.ca-rw-r--r--   1 root     root          422 
Mar 22 04:49 named.local[root@www named]#위의 파일들이 존재할 것이다.이제 본격적으로 네임서버를 
1-2에서 말한 목표대로 설정해 보자.참고로 필자의 리눅스박스에는 현재 다음과 같이 IP-Alia
sing 되어 있다.[san2@www san2]$ /sbin/ifconfigeth0      Link encap:Ethernet  HWaddr 00:10:4B:18:17:77       
   inet addr:192.168.10.3  Bcast:192.168.10.255  Mask:255.255.255.0         UP BROADCAST RUNNING MULTICAST  MT
U:1500  Metric:1         RX packets:1297308 errors:6 dropped:0 overruns:0 frame:7          TX packets:9037 e
rrors:0 dropped:0 overruns:0 carrier:0          collisions:404 txqueuelen:100          Interrupt:9 Base addres
s:0xe800eth0:0    Link encap:Ethernet  HWaddr 00:10:4B:18:17:77          inet addr:192.168.10.4  Bcast:192.168.
10.255  Mask:255.255.255.0         UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1         Interrupt:9
 Base address:0xe800eth0:1    Link encap:Ethernet  HWaddr 00:10:4B:18:17:77          inet addr:192.168.10.5  Bc
ast:192.168.10.255  Mask:255.255.255.0         UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1        
 Interrupt:9 Base address:0xe800eth1      Link encap:Ethernet  HWaddr 00:A0:C9:0C:89:A5          inet addr:210.
123.59.66  Bcast:210.123.59.255  Mask:255.255.255.0         UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1121139 errors:0 dropped:0 overruns:0 frame:9          TX packets:35404 errors:1 dropped:
0 overruns:0 carrier:2          collisions:732 txqueuelen:100          Interrupt:3 Base address:0x210eth1:0  
  Link encap:Ethernet  HWaddr 00:A0:C9:0C:89:A5          inet addr:210.123.59.72  Bcast:210.123.59.255  Mask:25
5.255.255.0          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1         Interrupt:3 Base address:0x
210lo        Link encap:Local Loopback          inet addr:127.emoticon.1  Mask:255.emoticon.0          UP LOOPBACK 
RUNNING  MTU:3924  Metric:1         RX packets:1294 errors:0 dropped:0 overruns:0 frame:0          TX packe
ts:1294 errors:0 dropped:0 overruns:0 carrier:0          collisions:0 txqueuelen:0[san2@www san2]$[san2@www san2]$ 
cat /etc/sysconfig/networkNETWORKING=yesFORWARD_IPV4=noHOSTNAME=www.linux.ac.krDOMAINNAME=linux.ac.krGATEWAY=210.123.59.
1    #<----실제 존재하는 GW (본 내용과 상관없음)GATEWAYDEV=eth1         #<----실제 인터넷을 
사용하기 위해서 2번째#이더넷 (본 내용과 상관없음)[san2@www san2]$ cat /etc/sysconfig/network-scripts
/ifcfg-eth0DEVICE=eth0IPADDR=192.168.10.3NETMASK=255.255.255.0NETWORK=192.168.10.0BROADCAST=192.168.10.255ONBOOT=yesBOOT
PROTO=none[san2@www san2]$ cat /etc/sysconfig/network-scripts/ifcfg-eth0:0DEVICE=eth0:0USERCTL=noONBOOT=yesBOOTPROTO=non
eBROADCAST=192.168.10.255NETWORK=192.168.10.0NETMASK=255.255.255.0IPADDR=192.168.10.4[san2@www san2]$ cat /etc/sysconfig
/network-scripts/ifcfg-eth0:1DEVICE=eth0:1USERCTL=noONBOOT=yesBOOTPROTO=noneBROADCAST=192.168.10.255NETWORK=192.168.10.0
NETMASK=255.255.255.0IPADDR=192.168.10.5[san2@www san2]$필자의 bind 버전은 8.x대이다. 따라서 named.boot파
일은 손댈필요는없지만 학습의 목적상 named.boot 파일도 포함한다.또한 2차 네임서버 설정은
 생략한다.2-2-1. /etc/named.boot (bind 4.x)----------/etc/named.boot --------------------------------;; a caching on
ly nameserver config;; 내부 IP사용의 예directory                                    /var/namedca
che        .                               named.caprimary         emoticon.127.in-addr.arpa      
   named.localprimary         10.168.192.in-addr.arpa      zone-10.168.192primary         linux.ac.kr    
              zone-linux.ac.krprimary         linuxer.com                  zone-linuxer.comprimary 
        linuxer.net                  zone-linuxer.netprimary         sonamu.co.kr               
  zone-sonamu.co.kr---------end ---------------------------------------------2-2-2. /etc/named.conf (bind 8.x)----------
/etc/named.conf ---------------------------------// generated by named-bootconf.ploptions { directory "/var/named"; /*
  * If there is a firewall between you and nameservers you want  * to talk to, you might need to uncomment the query-s
ource  * directive below.  Previous versions of BIND always asked  * questions using port 53, but BIND 8.1 uses an un
privileged  * port by default.  */ // query-source address * port 53;};//// a caching only nameserver config//zone ".
" {         type hint;         file "named.ca";};zone "emoticon.127.in-addr.arpa" {         type master;      
   file "named.local";};zone "10.168.192.in-addr.arpa" {        type master;        file "zone-10.168.192";};zo
ne "linux.ac.kr" {        type master;        file "zone-linux.ac.kr";};zone "linuxer.com" {        type mas
ter;        file "zone-linuxer.com";};zone "linuxer.net" {        type master;        file "zone-linuxer.net
";};zone "sonamu.co.kr" {        type master;        file "zone-sonamu.co.kr";};---------end -------------------
---------------------------2-2-3. /var/named/named.ca--------/var/named/named.ca-------------------------------      
  생략 (★ 편집할 필요없음)---------end ----------------------------------------------2-2-4. /var/named/named
.local★ 편집할 필요없음------/var/named/named.local ------------------------------@       IN      SOA  
   localhost. root.localhost.  (                                      1997022700 ; Serial      
                                28800          ; Refresh                            
          14400          ; Retry                                      3600000        ; 
Expire                                      86400 )        ; Minimum         IN      NS  
     localhost.1        IN      PTR      localhost.---------end --------------------------------------------
--2-2-5. /var/named/zone-10.168.192------/var/named/zone-10.168.192 --------------------------@       IN      SOA
     ns.linux.ac.kr. admin.linux.ac.kr.  (                                      1997022700 ; Seria
l                                      28800          ; Refresh                      
                14400          ; Retry                                      3600000   
     ; Expire                                      86400 )        ; Minimum        IN    
  NS      ns.linux.ac.kr.3       IN     PTR     linux.ac.kr.4       IN     PTR     study.linux.ac.kr.5
       IN     PTR     game.linux.ac.kr.5       IN     PTR     linuxer.com.5       IN     PTR     li
nuxer.net.5       IN     PTR     sonamu.co.kr.    ;<---끝에 점(Dot) 필수---------end ---------------------
-------------------------2-2-6. /var/named/zone-linux.ac.kr-------/var/named/zone-linux.ac.kr --------------------------
@       IN      SOA     ns.linux.ac.kr. admin.linux.ac.kr.  (                                 
     1997022700 ; Serial                                      28800          ; Refresh     
                                 14400          ; Retry                             
         3600000        ; Expire                                      86400 )        ; Mi
nimum        IN      NS          ns.linux.ac.kr.        IN      A            192.168.10.3    
    IN      HINFO     "x86 Pentium" "Alzza Linux 6.0"        IN      MX         linux.ac.kr.localhost
     IN     A     127.emoticon.1study         IN     A     192.168.10.4game          IN     A     192.
168.10.5ns            IN     CNAME @www           IN     CNAME @ftp           IN     CNAME @study-
app     IN     CNAME studystudy-net     IN     CNAME study---------end -----------------------------------------
-----2-2-7. /var/named/zone-linuxer.com----- /var/named/zone-linuxer.com -------------------------@       IN      
SOA     ns.linuxer.com. admin.linuxer.com.  (                                      1997022700 ; Se
rial                                      28800          ; Refresh                    
                  14400          ; Retry                                      3600000 
       ; Expire                                      86400 )        ; Minimum        IN  
    NS      ns.linuxer.com.        IN      A        192.168.10.5        IN      HINFO "x86 Pentiu
m" "Alzza Linux 6.0"        IN      MX      linuxer.com.;ns         IN      A 192.168.10.5;www      
  IN     A 192.168.10.5;stock      IN     A 192.168.10.5;ftp        IN     A 192.168.10.5ns          
IN     CNAME @www         IN     CNAME @ftp         IN     CNAME @stock       IN     CNAME @---------
end -----------------------------------------2-2-8. /var/named/zone-linuxer.net------/var/named/zone-linuxer.net -------
--------------------@       IN      SOA     ns.linuxer.net. admin.linuxer.net.  (                    
                  1997022700 ; Serial                                      28800        
  ; Refresh                                      14400          ; Retry                
                      3600000        ; Expire                                      864
00 )        ; Minimum        IN      NS      ns.linuxer.net.        IN      A        192.168.10
.5        IN      HINFO "x86 Pentium" "Alzza Linux 6.0"        IN      MX      linuxer.net.ns      
    IN     CNAME @www         IN     CNAME @ftp         IN     CNAME @meeting     IN     CNAME @----
-----end -------------------------------------------2-2-9. /var/named/zone-sonamu.co.kr------/var/named/zone-sonamu.co.k
r ------------------------@       IN      SOA     ns.sonamu.co.kr. admin.sonamu.co.kr.  (              
                        1997022700 ; Serial                                      28800  
        ; Refresh                                      14400          ; Retry          
                            3600000        ; Expire                                  
    86400 )        ; Minimum        IN      NS      ns.sonamu.co.kr.        IN      A        
192.168.10.5        IN      HINFO "x86 Pentium" "Alzza Linux 6.0"        IN      MX      sonamu.co.kr.w
ww     IN     CNAME @---------end -----------------------------------------------이상으로 1개의 IP에 4개의 
도메인을 설정되었다.설정(편집)이 끝났으면 네임서버를 재가동한다.[root@www san2]# /etc/rc.d/i
nit.d/named restart3. 가상 웹서버 (아파치 1.3.9 경우)아파치 서버는 가상웹서버를 지원한다. 보
통 가상 웹호스트는 크게- IP-based Virtual Hosts- Name-based Virtual Hosts로 볼 수 있다.본 내용에서
는 둘다 포함하고 있다.3-1. 아파치설치(생략)웹상이나 자신이 사용하는 배포본의 FTP에서 
최신의 버전을 받아와서RPM으로 설치하든지 소스를 직접 컴파일하여 설치하든지 이건 여러
분의선택이다.아파치 설치는 RPM으로 설치했다는 가정하에 /etc/httpd/conf/httpd.conf파일이 아파
치의 설정파일이다.3-2. 아파치 설정파일(httpd.conf)드디어 가상 웹 호스팅을 위한 작업이다. 
RPM으로 설치했을 경우는/etc/httpd/conf/httpd.conf 파일을 편집기로 열어 다음과 같이 여러분의
환경에 맞추어 편집한다.* 설정파일에 가상웹서버에 대한 많은 정보가 들어 가므로 가급적
 필요없는내용은 전부 주석처리해 준다.------/etc/httpd/conf/httpd.conf -----------------------------# 중
략ServerType standaloneServerRoot "/etc/httpd"# 중략#ResourceConfig conf/srm.conf#AccessConfig conf/access.conf# 중
략BindAddress *# 중략ServerAdmin webmaster at linux.ac.krServerName www.linux.ac.kr# IP는 192.168.10.3 이다.DocumentR
oot "/home/httpd/html"# 중략UserDir Public_html# 중략HostnameLookups Off# off 로 해 놓은게 조금 빠르다.# 
중략ErrorLog logs/error_log# 중략CustomLog logs/access_log common# 중략ServerSignature Email# 선택은 여러분
의 자유이다.# 중략##########[가상 웹 호스트 설정 부분]#####################NameVirtualHost 192.168.10.4
<VirtualHost 192.168.10.4>   ServerName study.linux.ac.kr   ServerAdmin study at linux.ac.kr   DocumentRoot /home/linux.
ac.kr/study   ErrorLog logs/study.linux.ac.kr-error_log   CustomLog logs/study.linux.ac.kr-access_log common</VirtualH
ost><VirtualHost 192.168.10.4>   ServerName study-app.linux.ac.kr   ServerAdmin study-app at linux.ac.kr   DocumentRoot 
/home/linux.ac.kr/study-app   ErrorLog logs/study-app.linux.ac.kr-error_log   CustomLog logs/study-app.linux.ac.kr-acc
ess_log common</VirtualHost><VirtualHost 192.168.10.4>   ServerName study-net.linux.ac.kr   ServerAdmin study-net@linu
x.ac.kr   DocumentRoot /home/linux.ac.kr/study-net   ErrorLog logs/study-net.linux.ac.kr-error_log   CustomLog logs/s
tudy-net.linux.ac.kr-access_log common</VirtualHost># NameVirtualHost IP는 어느 곳에 위치하여도 결과는 똑
같다.# 즉 여기에서 부연 설명하자면# 192.168.105 를 사용하는 호스트에 대해서는 game.linux.ac.k
r# 호스트가 그 선취권을 가지고 있다. 예를 들어 네임서버에# ns.linuxer.com이 등록되어 있지
만 가상호스트 설정부분에서# ns.linuxer.com 을 정의해 주지 않으면 ns.linuxer.com으로 접속하면#
 game.linux.ac.kr 의 Document를 보여준다.# 꼭 네임서버에 정의한 모든 호스트에 대해서 가상호
스트에 정의해# 주어야 어색함이 없다.# 이때 사용하는 것이 ServerAlias 지시자이다. 아래의 
내용을 좀더# 살펴보자.NameVirtualHost 192.168.10.5<VirtualHost 192.168.10.5>   ServerName game.linux.ac.kr# 19
2.168.10.5 의 IP를 사용하는 모든 호스트의 기본이 되는 호스트이다.   ServerAdmin game at linux.ac.kr
   DocumentRoot /home/linux.ac.kr/game   ErrorLog logs/game.linux.ac.kr-error_log   CustomLog logs/game.linux.ac.kr-a
ccess_log common</VirtualHost><VirtualHost 192.168.10.5>   ServerName stock.linuxer.com   ServerAdmin stock at linuxer.co
m# admin은 com 계정으로 메일을 받는다.   DocumentRoot /home/com/wwwhome_stock   ScriptAlias /cgi-bin/ "/hom
e/comwwwhome_stock/cig-bin/"# 특히 심볼릭링크하여 홈을 운영한다면 ScriptAlias 정의는 꼭 해주어야
# 한다.   ErrorLog logs/stock.linuxer.com-error_log   CustomLog logs/stock.linuxer.com-access_log common</VirtualHos
t><VirtualHost 192.168.10.5>   ServerName www.linuxer.com   ServerAdmin webmaster at linuxer.com# admin은 com 계정으
로 메일을 받는다.   ServerAlias *.linuxer.com www.linuxer.com# 중요 ################################### Server
Alias 에 대해서 부연설명하면# ServerName linuxer.com# ServerAlias *.linuxer.com linuxer.com# 으로 해도 결
과는 위와 똑같다.# 왼쪽에는 Alias 할 가짜이름이고 오른쪽에는 ServerName 으로 설정한# 호스
트를 적어준다.# 예를 들어# ServerName linuer.com# ServerAlias www.linuxer.com linuxer.com# 으로만 정의해
 두면 문제가 있다.# 바로 위에 stcok.linuxer.com 이 먼저 정의 되어 있기# 때문에 stock.linuxer.com
의 접속결과는 올바르게 보여주지만# 네임서버에 CNAME으로 설정되어 있는# ftp.linuxer.com ns.li
nuxer.com 에 대해서 접속하면 모두# game.linux.ac.kr 의 문서를 보여준다.# 따라서 stock호스트를 
제외하고 네임서버에 정의되어 있는 모든# 호스트(ns. ftp)에 대해서 www.linuxer.com 으로 보여
줄려면 위와# 같이 ServerAlias를 해 주어야 한다.# 또한 *(All)때신 다음과 같이 2줄의 ServerAlias 
로 정의해 주어도 된다.# 단 이같은 경우 자원을 많이 차지하므로 별로 좋지 않은 방법이다
.# ServerAlias ftp.linuxer.com www.linuxer.com# ServerAlias ns.linuxer.com www.linuxer.com   DocumentRoot /home/linuxer
com/wwwhome# DocumentRoot ~linuxercom/wwwhome# 위와 같이 ~(틸트)로 경로를 지정하면 웹서버는 찾질 못
한다.# 꼭 절대경로로 정의.   ErrorLog logs/www.linuxer.com-error_log   CustomLog logs/www.linuxer.com-access
_log common</VirtualHost><VirtualHost 192.168.10.5>   ServerName meeting.linuxer.net   ServerAdmin meeting at linuxer.net
# admin은 meet 계정으로 메일을 받는다.   DocumentRoot /home/meet/wwwhome   ErrorLog logs/meeting.linuxer.ne
t-error_log   CustomLog logs/meeting.linuxer.net-access_log common</VirtualHost><VirtualHost 192.168.10.5>   ServerNam
e linuxer.net   ServerAdmin webmaster at linuxer.net   ServerAlias *.linuxer.net linuxer.net# admin은 net 계정으로 
메일을 받는다.   DocumentRoot /home/net/wwwhome   ErrorLog logs/www.linuxer.net-error_log   CustomLog logs/www.
linuxer.net-access_log common</VirtualHost><VirtualHost 192.168.10.5>   ServerName www.sonamu.co.kr   ServerAdmin admi
n at sonamu.co.kr# admin은 sonamu 계정으로 메일을 받는다.# 여기에서는 ServerAlias를 할 필요가 없다 
왜냐하면 네임서버에 오직# www.sonamu.co.kr 만 정의해 놓았기 때문이다.# 위의 zone-sonamu.co.kr 
의 파일을 확인해 보시라.   DocumentRoot /home/sonamu/wwwhome   UserDir Pubic_home# 다른 도메인과 다
르게 UserDir 을 정의한다.# 주 도메인(linux.ac.kr)의 UserDir 이 Public_html 이므로# 주 도메인과 다
른 도메인과 혼합되지 않게 위해서는 완전히 다른# 디렉토리를 위와 같이 정의해 준다.# 가
상호스트에 대한 UserDir을 지정해 주지 않으면# 주 도메인(linux.ac.kr)에 대한 유저인 "Public_htm
l" 로 인식하려# 하기 때문에 Document 를 보여줄 수 없다.# 또한 Public_html 이란 디렉토리가 있
다면 www.linux.ac.kr/~namu# 와 www.sonam.co.kr/~namu 는 같은 문서를 보여준다.# 때문에 고객이 개인 
홈페이지를 갖고 싶어 할 경우에는# UserDir을 다르게 정의 해 주어야 한다.   ErrorLog logs/www.s
onamu.co.kr-error_log   CustomLog logs/www.sonamu.co.kr-access_log common</VirtualHost>#NameVirtualHost 192.168.10.5# 
위와 같이 맨 나중에 NameVirtualHost를 정의해 주어도 된다.# 앞서 얘기 했지만  192.168.10.5 를 
사용하는 모든 호스트에 대해서는# 맨앞에 가상호스트로 지정한 호스트가 그 선취점을 가
지고 있다.# 여기에서는 game.linux.ac.kr 의 호스트가 이에 해당된다.---------end ---------------------
------------------------이로써 가상웹서버 설정이 모두 끝났다.이제 남은 것은 DocumentRoot 가 될 
디렉토리를 설정하는 것만남아 있다.# mkdir /home/linux.ac.kr# mkdir /home/linux.ac.kr/study# mkdir /home/l
inux.ac.kr/study-app# mkdir /home/linux.ac.kr/study-net# mkdir /home/linux.ac.kr/game# chmod 705 -R /home/linuxa.c.kr# s
u com$ mkdir ~com/wwwhome$ chmod -R 705 ~com$ su netpassword *******$ mkdir ~net/wwwhome$ chmod -R 705 ~net$ su meetpass
word *******$ mkdir ~meet/wwwhome$ chmod -R 705 ~meet$ su sonamupassword *******$ mkdir ~sonamu/wwwhome$ chmod -R 705 ~s
onamu$ su namupassword *******$ mkdir ~net/Public_home$ chmod -R 705 ~namu$ su kimpassword *******$ mkdir ~kim/Public_ho
me$ chmod -R 705 ~kim$ su parkpassword *******$ mkdir ~park/Public_home$ chmod -R 705 ~park$ su leepassword *******$ mkd
ir ~lee/Public_home$ chmod -R 705 ~lee$</PRE>
이름
암호


>> 관련글
258 [웹호스팅]아파치-메일-ProFTPd초보자도 할수 있다(1)  산이  1999.09.19  ....
  답장 RE: 네트웍구성개념도 및 서버-클라이언트구성  산이  1999.09.20  ....
  목록보기 윗글 아랫글
글쓰기
답장쓰기 수정 삭제
정규표현식 [ 상세 검색 ]
페이지로딩: [ 0.71 초 ] 작업시간: [ 0.04 초 ]

Copyleft 1999-2026 by JSBoard Open Project
Theme Designed by IDOO All right reserved
[TOP]

적수네 동네
+
| 적수네 동네
| 공부방
| 리눅스 잡지 서고
| LSN 소스
| 링크 모음
+---+
게시판
+
| 떠들어보세!
| 질문과 답변
| 새소식과 정보
| 1원짜리 팁?
| 대화방
+---+
칼럼?
+
| 세하 훔쳐보기
| Welcome2nite
| 혜진의 염장판
+---+
리눅스 상표권
+
| 반대 서명란
| 토론 게시판
+---+
GNU
+
| GNU 선언문
| GNU GPL
| GNU 미러 목록
+---+
프로젝트?
+
| 리눅스카운터
| RC5DES
| 실질헌법 제작
+---+
커널 소식
+
| 안정 버젼: 2.4.14
+---+
테마 선택
+
LSN 방송국?
+
| OFF AIR
+---+
회원
+
| 로그인
+---+
[ 적수네 동네 ] [ 리눅스 상표권 독점 반대 ] [ 한글 리눅스 문서 프로젝트 ] [ KrLine ] [ 사랑넷 ] [ Valid HTML 4.0! ] [ SlashDot ] [ Freshmeat ]
Copyleft (C) 1998-2001 Byeong-Chan Kim . License
TIME: 1791013902
System by WYZsoft, HDD by I.O.Linux, Mizi Research, Embryo, WOWLINUX, Domain by SarangNet, Network by KrLine.