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

등록 1999-09-20 00:02:00     조회 6
이름 산이    

		<PRE>4. 가상 메일서버가상 메일 서버비스는 아파치 설정파일과 같이 그리 복잡하지 않다.
단, 네임서버만 잘 설정하고 access 파일과 Virtualtable 파일과 잘편집해 주면 무리가 없다.그
리고 POP3데몬도 함께 설치해 주어야 한다.4-1. sendmail 설치하기먼저 sendmail이 설치되어 있는
지 확인해 보자.[san2@www san2]$ rpm -qa |grep sendmailsendmail-8.9.3-10kr[san2@www san2]$필자의 시스템에는
 버전이 8.9.3 인 RPM으로 설치되어 있다.설치되어 있지 않다면 CD-ROM이나 해당 배포본의 FTP싸
이트에서다운로드하여 설치하자.예: CD-ROM으로 설치하는 경우[san2@www san2]$ suPassword:********[r
oot@www san2]# mount /mnt/cdrom[root@www san2]# cd /mnt/cdrom/RedHat/RPMS[root@www RPMS]# rpm -Uvh sendmail*sendmail  
               #################################[root@www RPMS]#[root@www RPMS]# /etc/rc.d/init.d/sendmail start[
root@www RPMS]#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 라는 디렉토리에 설치할 것이다.# cp qpopper3.0b18.tar.Z /usr/local/src/# cd /usr
/local/src# lsqpopper3.0b18.tar.Z# uncompress qpopper3.0b18.tar.Z# tar xvf qpopper3.0b18.tar# cd qpopper3.0# ./configure
 --enable-specialauth               --enable-bulletins=/var/spool/bulls               --enable-servermode#
 make# cp popper/popper /usr/local/lib/#/etc/services 파일을 다음과 같이 편집한다.--------------------------
---------------------------------#pop-2  109/tcp  postoffice # POP version 2#pop-2  109/udp#pop-3  110/tcp    # PO
P version 3#pop-3  110/udppop3    110/tcp    # popper-----------------------------------------------------------/et
c/inetd.conf 파일도 다음과 같이 편집한다.-----------------------------------------------------------#pop-2 s
tream tcp nowait root /usr/sbin/tcpd ipop2d#pop-3 stream tcp nowait root /usr/sbin/tcpd ipop3dpop3   stream tcp nowait 
root /usr/local/lib/popper popper -s-----------------------------------------------------------슈퍼데몬을 재 실
행한다.# /etc/rc.d/init.d/inet restart이제 여러분의 리눅스 박스는 클라이언트에서 메일을 받을 
준비가 되어 있다.다음은 sendmail 설정파일의 예이다. 꼭 이해하고 넘어가야 한다.4-3. /etc/sen
dmail.cf--------------------------------------------------------------# anything else is bogusR$*   $#error $@ 5.7.1 $:
 "550 Relaying denied" #<------[주의]# 중략Cwlocalhost# file containing names of hosts for which we receive emailFw/
etc/sendmail.cw--------------------------------------------------------------부연설명하자면 [주의]부분을 주
석으로 처리하면 spam 메일 문제가 있다.주석으로 처리되어 있다면 어쩌면 여러분의 리눅스
박스는 Spamer의본거지가 될 수도 있다는 것이다.주석으로 처리되어 있다면 주석을 위와 같
이 제거하고 access파일을아래와 같이 편집해 준다.그리고Fw/etc/sendmail.cw와 같이 주석처리가 
되어 있지 않아야 한다.4-4. /etc/sendmail.cw--------------------------------------------------------------# send
mail.cw - include all aliases for your machine here.# 네임서버에 등록된 모든 도메인을 이 파일에 다음
과 같이 적어준다.linux.ac.krlinuxer.netlinuxer.comsonamu.co.kr---------------------------------------------------
-----------4-5. /etc/sendmail.cm특별하게 편집할 필요은 없다. 그냥 넘어간다.4-6. /etc/mail/access------
-------------------------------------------------------# 예제:# cyberspammer.com REJECT# sendmail.org  OK# 128.32  R
ELAY## 주의 사항!!!## 설정 파일을 작성할 때 sendmail.org 와 OK, 128.32 와 RELAY 사이는# 스페이스
가 아니라 꼭!!! <탭>키를 사용하여 띄워야 합니다.localhost.localdomain  RELAYlocalhost          
    RELAYlinux.ac.kr            OKlinuxer.net            OKlinuxer.com            OKsonamu.co.kr  
         OK192.168                RELAY# access 파일을 고친 이후에는## makemap hash /etc/mail/acces
s < /etc/mail/access## 명령으로 갱신해 주어야 합니다.------------------------------------------------------
----4-7. /etc/mail/virtusertable매우 중요한 설정파일이다. 이 파일을 어떻게 잘 편집하느냐에 따
라서웹호스팅의 성공여부가 달려 있다고 해도 좋다. 주의 깊게 살펴보자.필자가 왜 이렇게
 설정했는가에 대해서는 맨위의 '나의 목표'를 다시한번읽어보기 바란다.-----------------------
-------------------------------------# 이 파일을 보면 김정균님이 쓰신 예제를 보면 쉽게 이해 할 
수 있.webmaster at linux.ac.kr       san2ftp at linux.ac.kr             san2study at linux.ac.kr           san
2study-app at linux.ac.kr       san2study-net at linux.ac.kr       san2game at linux.ac.kr            gamedori@hanmai
l.net at linuxer.com                comwebmaster at linuxer.net       netftp at linuxer.net             netmeeti
ng at linuxer.net         meetadmin at sonamu.co.kr          sonamu--------------------------------------------------
--------부연설명하자면도메인 linux.ac.kr(메일서버) 에 대해서game at linux.ac.kr 로 오는 메일은 game
dori at hanmail.net 으로메핑하고 나머지 webmaster at linux.ac.kr ftp at linux.ac.krstudy@linux.ac.kr study-app at linux.ac.
kr study-net at linux.ac.kr로 오는 메일은 이 서버 관리자인 root의 일반 유저인 'san2' 계정으로보낸
. at linux.ac.kr              san2로 설정해 버린면 linux.ac.kr 도메인(메일서버)을 사용하여 오
는 메일은모두 'san2'가 받게 되어 버린다. 다른 일반 유저까지도 포함하기 때문에하나하나
씩 지정해 주어야 한다.도메인 linuxer.com(메일서버) 에 대해서webmaster at linuxer.com ftp at linuxer.com st
ock at linuxer.com 으로 오는 메일은 모두 com 유저가 받아 볼 수 있다.이것을 이해 할 수 있다면 
나머지 linuxer.net 과 sonamu 메일서버에 대해서는 쉽게 이해 하리라 생각된다.파일 편집이 끝
났으면 다음과 같은 명령을 꼭 실행해 주어야 한다.# makemap hash /etc/mail/virtusertable < /etc/mail/v
irtusertable이로써 가상메일서버 설정이 모두 끝났다.5. 가상 FTP서버 (ProFTPd)가상 FTP는 FTP데몬
만 잘 설치해 주면 크게 문제가 없다.여기에서는 ProFTPd 데몬을 설치와 각 도메인에 대한 Ano
nymousFTP를 설정해 보자.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 이다.# cp proftpd-1.2.0pre6.tar.gz 
/usr/local/src/# cd /usr/local/src# lsproftpd-1.2.0pre6.tar.gz# tar zxvf proftpd-1.2.0pre6.tar.gz# cd proftpd-1.2.0pre6#
 ./configure --prefix=/usr/local/proftpd               --sysconfdir=/etc --localstatedir=/var/run           
    --enable-autoshadow --datadir=/home/ftp# make# make install# mkdir /home/ftpRPM으로 설치하는 경우# rpm -Uv
h proftpd-1.2.0pre6-1.i386.rpm#소스를 컴파일하여 설치하든지 RPM으로 설치하여 설치하든지/etc/inet
d.conf 파일을 다음과 같이 주석을 추가해 주어야 한다.즉 웹 호스팅 성격에 맞게 Proftpd를 sta
ndalone 으로 데몬을가동하기 위해서이다.-----------/etc/inetd.conf ---------------------------------# 중
략#ftp stream tcp nowait root /usr/sbin/tcpd in.ftpd -l -a#ftp stream tcp nowait root /usr/sbin/tcpd  in.ftpd# 중략-
---------------------------------------------------------그리고 슈퍼데몬을 재가동시킨다.# /etc/rc.d/init.d
/inet restart5-2. /etc/proftpd.conf이제 마지막 단계인 ProFTPd 설정파일을 편집해 보자.---------/etc/pro
ftpd.conf ---------------------------------ServerName           "ProFTPD ALZZA Default Installation"ServerType   
        standalone      # standalone 으로 설정ServerAdmin          ftp at linux.ac.kr # sendmail virtualtabl
e 을 보라.DefaultServer        onAuthPAMAuthoritative onPort                 21MaxInstances         3
0User                 nobodyGroup                nobody<Directory /*>  AllowOverwrite    on</Director
y>##Global 설정 VirtualHost 까지 영향을 주므로 자원 낭비가 덜하다. ##<Global>Umask             
  022  # 각 VirtualHost 마다 따로 정의해도된다.DisplayLogin        .welcome.msg# 원래는 hidden파일
이 아닌 welcome.msg이다.DisplayFirstChdir   .message#User               ftp              # Global로
 넣지 않은게 좋다.#Group              ftp              # Global로 넣지 않은게 좋다.#MaxClie
nts         10               # Global로 넣지 않는다.#MaxClientsPerHost  1                # Glo
bal로 넣지 않는다UserAlias           anonymous     ftpRequireValidShell  off  # Anonymous 접속허용을
 위해서는 off로 꼭 설정.ShowSymlinks                 on</Global>########Global end #####################
##############<Anonymous ~ftp>User              ftp  # 모든 Anonymous 에 꼭 넣어주어야 한다.Group  
           ftp  # 모든 Anonymous 에 꼭 넣어주어야 한다.#UserAlias        anonymous ftp# Global로 
설정되어 있으므로 넣을 필요없다.MaxClients        10   "죄송합니다. 최대 인원은 %m명 입
니다."MaxClientsPerHost 1    "호스트당 1회만 접속가능합니다."<Limit WRITE>DenyAll</Limit># 읽기/쓰
기/디렉토리만들기를 허용하기 위해서는 다음 주석제거.#<Directory incoming>#<Limit WRITE>#AllowALL#
</Limit>#</Directory></Anonymous>###### 가상 FTP 호스트설정 부분 ##########################<VirtualHost ftp.lin
uxer.com>ServerName        "ftp.linuxer.com"ServerAdmin       ftp at linuxer.comUmask             002MaxClient
s        10  "죄송합니다. 최대 인원은 %m명 입니다."MaxClientsPerHost 1   "호스트당 1회만 접
속가능합니다."<Anonymous /home/com/vir-ftp>User              ftpGroup             com       # Umas
k 002 와 관련이 있다.<Limit WRITE>DenyAll</Limit><Directory incoming><Limit WRITE>Order Allow,Deny  # 컴파(,)
다음에 칸을 빈칸을 띄지 않는다.Allow from allDeny from 192.168.15.,haker.com# C클래스 192.168.15.* 와 h
aker.com 은 쓰기를 금한다.</Limit></Directory>### Umask 에 대해서 생각해 보자 ++++++imcoming 디렉토
리######## umask 는 새로 생성된 디렉토리나 파일에 대해서만 퍼미션을 기본적# 으로 적용시
킨다.# 즉 Global 에서 umask 022 로 설정되어 있으므로 Anonymous 가# 접속하여 새로 생성시킬 수 
있는# 디렉토리에 대해서 755의 퍼미션, 그리고 파일에 대해서는 644의 퍼미# 션을 준다.# 잠
깐 디렉토리의 소유자에 관해서도 생각해보자.# Anonymous가 새로생성된 디렉토리가 755 이므
로 이 디렉토리의 소유자# 는 root 나 다른 user가 아니고 "ftp" 소유자가 된다.# 즉 UserAlias Anony
mous ftp 이므로 모든 Anonymous 에 대해서# 다른 Anonymous가 생성시킨 디렉토리나 파일을 지우거
나 바꿀 수 있다.# 한가지 더.....Anonymous가 아닌 일반 유저로 들어왔을 경우를 생각해보자.# 
imcoming 디렉토리의 퍼미션이 777 로 되어 있더라도 Aonymous 가 생성# 된 디렉토리나 파일은 지
우거나 바꿀수 없다.(755이므로) 단, incoming 디렉# 토리 하에서는 퍼미션이 777이므로 생성할 
수 있다.# ftp.linuxer.com 에 대해서 관리자는 "com" 유저이다. 관리자가 Anonymous# 가 생성한 디렉
토리나 파일을 지울 수 없다면 관리자 라고 할 수 있겠는가?# 여기에 그 해법이 바로 Umask 
과 웹호스팅 관리자의 능력에 달려있다.# /home/com/vir-ftp 의 소유자는 ftp가 아닌 "com" 의 소유
자로 해야하고,# incoming 하위 디렉토리 에 대해서 Unamsk 070 이나 020 으로 설정하면# 퍼미션은
 707 이나 757 이 된다.# 즉 소유자가 누가되던지 간에 Others가 지우거나 생성할 수 있는 것이
다.# 일반 유저로 들어왔을 경우에 해당한 것이다.# 이런 방법이 싫다면 Anonymous Group 정도를
 VirtualHost 관리자인# "com" 으로 대체해도 된다.# 그리고 Umask 002 로 설정하면 775의 퍼미션을 
생성되어 "com"유저가# 관리할 수 있다..이때는 com 그룹에 "com"유저가 포함되어 있어거나# 단
독으로 "com" 유저만 포함해야 한다.# 이유는 "com" 그룹에 포함된 다른 유저가 피해를 줄 수 
있기 때문이다.# 또는 User 와 Group 에 적어도 관리자가 포함되어 있어야 한다.# 왜냐하면 "com
" 유저는 고객이고 "root" 권한을 획득할 수 없기 때문이다.# 방법은 여러가지이다.# 이처럼 A
nonymous 가 FTP클라이언트로 접속하여 디렉토리를 생성# 하고 지울수 있게 하기 위해서는 소
유자와 퍼미션 - incoming 디렉토리# 에 대한 접근 정책 - 그리고 Umask 의 순서로 관리해야한다
.# 예를 들어 아무리 Umask 000 으로 설정했더라도 imcoming 디렉토리에# 대한 쓰기 권한이 없다
면 Anonymous 는 쓸 수 없다는 것이다.....# 좀더 많은 정보를 원한다면 ProFTPD Reference.html 을 읽
어보라.</Anonymous></VirtualHost>###### VirtualHost <ftp.linuxer.net>의 정의 ###################<VirtualHost ftp.l
inuxer.net>ServerName        "ftp.linuxer.net"ServerAdmin       ftp at linuxer.net#Umask            002# 주
석으로 처리되어 있기 때문에 Global 에서 설정한 022을 따른다.MaxClients        10  "죄송합
니다. 최대 인원은 %m명 입니다."MaxClientsPerHost 1   "호스트당 1회만 접속가능합니다."<Anonymous
 /home/net/vir-ftp>User              ftpGroup             ftp# ftp.linuxe.com 처럼 incoming 디렉토리
가 정의되어 있지 않기 # 때문에Anonymous는 디렉토리를 생성할 수 없고 따로 지정할 필요도 #
 없다.<Limit WRITE>DenyAll</Limit></Anonymous></VirtualHost>-------------end -----------------------------------------
--설정파일 편집이 모두 끝났으면 Anonymous가 접근할 수 있는 디렉토리를만들어주자.# su com$ 
mkdir ~com/vir-ftp$ mkdir ~com/vir-ftp/pub incoming$ chmod 705 ~com/vir-ftp/pub$ chmod 707 ~com/vir-ftp/incoming$$ su ne
tPassword : ******$ mkdir ~com/vir-ftp$ mkdir ~com/vir-ftp/pub$ chmod 705 ~com/vir-ftp/pub$FTP데몬을 재 가동한다
.# /etc/rc.d/init.d/proftpd restart이제 Anonymous 가 접속할때 보여주는 .welcome.msg 파일도 만들어주자
. vir-ftp 밑에 이 파일이 존재하면 된다.----------~HOME/vir-ftp/.welcome.msg ----------------------환영합
니다......ProFTPd Alzza Linux 6.0 2.2.12(안정)ftp://%L/o 남은 용량 : %F KBo 현 사용자 수 : %N/%M (하나의
 호스트당 1명까지 접속허가합니다)o %R의 %u(%U)님이 접속한o 현 시각은 %T년 입니다.Admin-mailt
o:%E-----------end --------------------------------------------위의 결과는-----------------------------------------
------------------환영합니다...... ProFTPd Alzza Linux 6.0 2.2.12(안정) ftp://ftp.linux.ac.kr/ o 남은 용량
 : 302868 KB o 현 사용자 수 : 2/10 (호스트당 1회 접속만 허가합니다) o 192.168.12.5의 UNKNOWN(anonym
ous)님이 접속한 o 현 시각은 Tue Sep 14 22:05:36 1999년 입니다. Admin-mailto:ftp at linux.ac.kr--------------
---------------------------------------------이로써 가상 FTP 설정도 모두 끝났다.6. 마치며휴~~~ 글을 
쓴다는것이 이렇게 힘들줄은 모랐다..4일동안의 테스트 및 문서작성을 끝내고 있는 중입니
다.어떻게 하다보니 시스템을 작살(?)내는 경우가 있어 다시 설치하여 테스트하는 실수도 
있었다.물론 필자는 평상시에 Backup 에 많은 시간을 투자하므로 다시설치하여복구하는데에
는 많은 시간을 요하지 않았다.이 글을 쓰겠다고 맘 먹은지 거의 한달만에 문서를 완료하
였다. 그동안개인적인 사정등으로 차일피일 미루다 보니 이렇게 되었다.이상의 내용에서 
질문이나 의문나는 점 또는 보강이나 잘못된 점이 있으면http://linuxer.suwon.ac.kr/cgi-bin/CrazyWWWB
oard.cgi?db=qna의 질문과 답변의 게시판을 이용해 주시면 감사하겠습니다.끝까지 읽어 주셔서
 감사합니다.1999년 9월 16일 "도시 측량실험실" 에서 백수"산이" 씀..........</PRE>
이름
암호
  목록보기 윗글 아랫글
글쓰기
답장쓰기 수정 삭제
정규표현식 [ 상세 검색 ]
페이지로딩: [ 0.30 초 ] 작업시간: [ 0.02 초 ]

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: 1791043914
System by WYZsoft, HDD by I.O.Linux, Mizi Research, Embryo, WOWLINUX, Domain by SarangNet, Network by KrLine.