YesYo.com MintState Forums
뒤로    YesYo.com MintState BBS > Tech > Linux
검색
멤버이름    오토
비밀번호 
 

[웹호스팅] 아파치-메일-ProFTPd

페이지 정보

작성자 MintState 댓글 0건 조회 12,463회 작성일 08-11-20 12:28

본문

[웹호스팅] 아파치-메일-ProFTPd
 
-아파치1.3.9
-센드메일 8.3.x
-qpopper 3.0
-ProFTPd1.2pre6


를 중심으로 작성되었습니다. 용량이 꽤 되네요.....

=========================================

[웹호스팅]RedHat 6.0기반 가상웹-메일-FTP운영하기

산이<san2@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/named/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/zone-linuxer.com
    2-2-8. /var/named/zone-linuxer.net
    2-2-9. /var/named/zone-sonamu.co.kr

3. 가상 웹서버 (아파치 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/sendmail.cm
  4-6. /etc/mail/access
  4-7. /etc/mail/virtusertable

5. 가상 FTP서버 (ProFTPd)
  5-1. ProFTPd 설치하기
  5-2. /etc/proftpd.conf

6. 마치며



---------------------------------------------------------------

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@linuxer.com 으로 받고 싶어하며 Anonymous FTP도 운영하고자 한다. 계정은 com이며 1명이 관리하고자 한다.

- linuxer.net 도메인을 사용하는 자는 고객이며 역시 2개의 웹호스트 (www. meeting)를 운영할 계획이고 meeting 웹호스트의 이용자가 많아 'www' 웹호스트의 Admin이 관리할 수 없어 다른 사람이 관리하기를 원한다. 따라서 'www' 웹 호스트에 대해서는 Admin(계정 : net)과 'meeting' 웹호스트에 대해서는 다른 사람(account : meet)이 관리하고자 한다. 'meeting' 웹호스트에 대한 웹문의는 meeting@linuxer.net 로 사용하므로 결국
  2명이 관리하는 셈이다.

- sonamu.co.kr 도메인을 사용하는 자는 고객이며 오직 하나의 웹호스트 ('www')만 운영하고자 한다. 또한 메일은 webmaster@sonamu.co.kr 이 아닌 admin@sonamu.co.kr로 사용하고자 한다.  또한 이 고객이 몸담고 있고 회사에서는 4개의 e-mail을 더 사용하기를 원한다. 즉 이 회사의 사장은 namu@sonamu.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 테스트하는데 성공 했을 뿐이다.

- 세부사항(*이 글을 이해하는데 필수)


먼저 계정을  발급해 주자.
linux.ac.kr 도메인은 시스템 관리자인 root 가 관리하므로 별도로 계정을 만들지 않고 일반유저인 'san2' 가 관리한다는 가정이다.



2. DNS(도메인 네임서비스) 설정

가상웹호스팅을 원하고자 하는 이는 무엇보다 도메인네임서버를 잘 설정 해야한다. 네임서버를 어떻게 잘 설정하느냐 못하느냐에 따라서 웹호스팅 가능유무가 결정된다.
또한 IP가 부족하여 1개의 IP로 여러개의 도메인을 한대의 리눅스박스에 운영하는 것도 역시 만찬가지이다.
다음에 보여주는 네임서버 설정의 예는 어디까지나 필자의 예이다. 즉 얼마든지 같은 결과로 다른 예가 있기 마련이므로 네임서버 설정에 대한 문서를 꼭 읽어보기 바란다. 여기에서는 첫머리에 말했듯이 개념이나 정의를 설명하지는 않는다. 다만 위의 목표에 부합되기 위해서 네임서버를 설정할 뿐이다.(필자은 네임서버 전문가가 아님)


2-1. Bind 설치하기

네임서버를 구축(또는 설정)하려면 Bind 설치는 필수적이다.
Bind와  caching-nameserver는 꼭 설치해야 한다.
우선 자신의 리눅스박스에 설치(rpm)되어 있는지 확인하자.



필자의 리눅스박스에는 bind-8.2 와 caching-nameserver-6.0이 설치되어 있다. 설치되어 있지 않다면 다음과 같이 CD-ROM이나 FTP싸이트에서 다운로드하여 설치하기 바란다.

예: CD-ROM으로 설치하기



이제 네임서버를 구축하기 위한 밑바탕은 되어있다.  다음단계에는 직접 '나의 목표'에 부합되게 네임서버를 구축(이하 '설정')해 보자.


2-2. 나의 목표에 맞게 DNS 설정

위의 2-1과정을 무사히 끝냈다면



위의 파일들이 존재할 것이다.
이제 본격적으로 네임서버를 1-2에서 말한 목표대로 설정해 보자.

참고로 필자의 리눅스박스에는 현재 다음과 같이 IP-Aliasing 되어 있다.



필자의 bind 버전은 8.x대이다. 따라서 named.boot파일은 손댈필요는 없지만 학습의 목적상 named.boot 파일도 포함한다.
또한 2차 네임서버 설정은 생략한다.


2-2-1. /etc/named.boot (bind 4.x)

----------/etc/named.boot --------------------------------

---------end ---------------------------------------------


2-2-2. /etc/named.conf (bind 8.x)

----------/etc/named.conf ---------------------------------

---------end ----------------------------------------------


2-2-3. /var/named/named.ca

--------/var/named/named.ca-------------------------------

---------end ----------------------------------------------


2-2-4. /var/named/named.local

★ 편집할 필요없음

------/var/named/named.local ------------------------------

---------end ----------------------------------------------


2-2-5. /var/named/zone-10.168.192

------/var/named/zone-10.168.192 --------------------------

---------end ----------------------------------------------


2-2-6. /var/named/zone-linux.ac.kr

-------/var/named/zone-linux.ac.kr --------------------------

---------end ----------------------------------------------


2-2-7. /var/named/zone-linuxer.com

----- /var/named/zone-linuxer.com -------------------------

---------end -----------------------------------------


2-2-8. /var/named/zone-linuxer.net

------/var/named/zone-linuxer.net ---------------------------

---------end -------------------------------------------


2-2-9. /var/named/zone-sonamu.co.kr

------/var/named/zone-sonamu.co.kr ------------------------

---------end -----------------------------------------------


이상으로 1개의 IP에 4개의 도메인을 설정되었다.

설정(편집)이 끝났으면 네임서버를 재가동한다.





3. 가상 웹서버 (아파치 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 -----------------------------

---------end ---------------------------------------------

이로써 가상웹서버 설정이 모두 끝났다.

이제 남은 것은 DocumentRoot 가 될 디렉토리를 설정하는 것만
남아 있다.



4. 가상 메일서버

가상 메일 서버비스는 아파치 설정파일과 같이 그리 복잡하지 않다. 단, 네임서버만 잘 설정하고 access 파일과 Virtualtable 파일과 잘 편집해 주면 무리가 없다. 그리고 POP3데몬도 함께 설치해 주어야 한다.


4-1. sendmail 설치하기

먼저 sendmail이 설치되어 있는지 확인해 보자.



필자의 시스템에는 버전이 8.9.3 인 RPM으로 설치되어 있다. 설치되어 있지 않다면 CD-ROM이나 해당 배포본의 FTP싸이트에서 다운로드하여 설치하자.

예: CD-ROM으로 설치하는 경우




4-2. qpopper 설치하기

메일을 보내기만 하면 안되겠죠?? 클라이언트에서 메일을 받을 수 있어야 한다. 즉 클라이언트에서 받을 수 있게 하기 위해서는 POP3같은 데몬을 서버에 설치해 주어야 한다.

필자는 직접 qpopper 3.0 소스를 받아 컴파일하여 설치하였다.
박재호님 홈페이지( http://www.kies.co.kr/~jhpark/Sendmail/popper.html ) 에 자세한 정보가 있으니 꼭 방문하도록 한다.
여기에서는 모든 개념적인 설명은 제외하고 오직 설치에만 언급한다.

일단 qpopper 3.0을 다운로드하자.

ftp://ftp.qualcomm.com/eudora/servers/unix/popper/

에 접속하면 2.53 버전과 3.0b17, 3.0b18 버전이 있다.
필자는 qpopper3.0b18.tar.Z (2,432KB)을 다운로드 하였고,
/usr/local/src 에 그 소스를 컴파일하고
/usr/local/qpopper 라는 디렉토리에 설치할 것이다.



/etc/services 파일을 다음과 같이 편집한다.

-----------------------------------------------------------

-----------------------------------------------------------


/etc/inetd.conf 파일도 다음과 같이 편집한다.

-----------------------------------------------------------

-----------------------------------------------------------

슈퍼데몬을 재 실행한다.

# /etc/rc.d/init.d/inet restart

이제 여러분의 리눅스 박스는 클라이언트에서 메일을 받을 준비가 되어 있다.
다음은 sendmail 설정파일의 예이다. 꼭 이해하고 넘어가야 한다.


4-3. /etc/sendmail.cf

--------------------------------------------------------------

--------------------------------------------------------------
부연설명하자면 [주의]부분을 주석으로 처리하면 spam 메일 문제가 있다.
주석으로 처리되어 있다면 어쩌면 여러분의 리눅스박스는 Spamer의 본거지가 될 수도 있다는 것이다.
주석으로 처리되어 있다면 주석을 위와 같이 제거하고 access파일을 아래와 같이 편집해 준다.
그리고
Fw/etc/sendmail.cw
와 같이 주석처리가 되어 있지 않아야 한다.


4-4. /etc/sendmail.cw

--------------------------------------------------------------

--------------------------------------------------------------

4-5. /etc/sendmail.cm

특별하게 편집할 필요은 없다. 그냥 넘어간다.


4-6. /etc/mail/access

-------------------------------------------------------------

----------------------------------------------------------


4-7. /etc/mail/virtusertable

매우 중요한 설정파일이다. 이 파일을 어떻게 잘 편집하느냐에 따라서 웹호스팅의 성공여부가 달려 있다고 해도 좋다. 주의 깊게 살펴보자.

필자가 왜 이렇게 설정했는가에 대해서는 맨위의 '나의 목표'를 다시한번 읽어보기 바란다.

------------------------------------------------------------

----------------------------------------------------------

부연설명하자면

도메인 linux.ac.kr(메일서버) 에 대해서 game@linux.ac.kr 로 오는 메일은 gamedori@hanmail.net 으로 메핑하고 나머지 webmaster@linux.ac.kr ftp@linux.ac.kr study@linux.ac.kr study-app@linux.ac.kr study-net@linux.ac.kr 로 오는 메일은 이 서버 관리자인 root의 일반 유저인 'san2' 계정으로 보낸다.

@linux.ac.kr              san2

로 설정해 버린면 linux.ac.kr 도메인(메일서버)을 사용하여 오는 메일은 모두 'san2'가 받게 되어 버린다. 다른 일반 유저까지도 포함하기 때문에 하나하나씩 지정해 주어야 한다.

도메인 linuxer.com(메일서버) 에 대해서 webmaster@linuxer.com ftp@linuxer.com stock@linuxer.com 으로 오 는 메일은 모두 com 유저가 받아 볼 수 있다.

이것을 이해 할 수 있다면 나머지 linuxer.net 과 sonamu 메일서버에 대해 서는 쉽게 이해 하리라 생각된다.

파일 편집이 끝났으면 다음과 같은 명령을 꼭 실행해 주어야 한다.



이로써 가상메일서버 설정이 모두 끝났다.



5. 가상 FTP서버 (ProFTPd)

가상 FTP는 FTP데몬만 잘 설치해 주면 크게 문제가 없다. 여기에서는 ProFTPd 데몬을 설치와 각 도메인에 대한 Anonymous FTP를 설정해 보자.

5-1. ProFTPd 설치하기

CD-ROM이나 각 배포본의 FTP에서 RPM으로 다운로드하든지 http://www.proftpd.org/ 에서 소스로 받든지 간에 여러분의 자유이다. 필자는 가상FTP를 테스트할 쯤에는 1.2.0pre6 의 버전의 소스를 다운로드 하여 설치하였다.

ftp://linux.sarang.net/ 에 접속하면 RPM으로 다운로드하여 설치할 수 있다.

소스를 컴파일하여 설치할 경우

소스를 컴파일할 디렉토리는 /usr/local/src 이고 설치할 디렉토리는 /usr/local/proftpd 이다.



RPM으로 설치하는 경우




소스를 컴파일하여 설치하든지 RPM으로 설치하여 설치하든지 /etc/inetd.conf 파일을 다음과 같이 주석을 추가해 주어야 한다. 즉 웹 호스팅 성격에 맞게 Proftpd를 standalone 으로 데몬을 가동하기 위해서이다.

-----------/etc/inetd.conf ---------------------------------

----------------------------------------------------------

그리고 슈퍼데몬을 재가동시킨다.




5-2. /etc/proftpd.conf

이제 마지막 단계인 ProFTPd 설정파일을 편집해 보자.

---------/etc/proftpd.conf ---------------------------------

-------------end -------------------------------------------

설정파일 편집이 모두 끝났으면 Anonymous가 접근할 수 있는 디렉토리를 만들어주자.

댓글목록

등록된 댓글이 없습니다.

Total 360건 9 페이지
게시물 검색
모바일 버전으로 보기
CopyRight ©2004 - 2024, YesYo.com MintState. ™