다음 이전 차례

13. 고급 사용자를 위한 설정

여기에 설명하는 내용은 메이저도모를 이용하는 메일링 리스트 서버를 좀 더 고급사양에 대해 설정한다. 메이저도모의 요약, 압축 기능 사용에 대한 내용과 ftp나 유즈넷, WEB과 연동하는 방법, 그리고 메일링 리스트 성능 개선을 위해 벌크메일러를 사용하는 방법등에 대해 이야기 하도록 한다. 아직! 여기의 내용은 완전한 것이 아니다.

13.1 스패머로부터 메일링 리스트 보호하기

기본적으로는 메이저도모가 스팸 메일을 처리하지 않는 것 보다는 서버 자체가 스팸 메일 자체를 거부해 버리는 것이 더 함당한 것 같이 보인다. 스팸 메일이 날아오는 주소들을 정리해 놓아 서버가 메일을 받지 않도록 설정하도록 한다. 다음을 참고하기 바란다. http://spam.abuse.net/ 그리고 위에 설명한 것 처럼 restrict_post를 통해 메일링 리스트에 가입하지 않는 이상 포스팅 하지 못하도록 제한을 두는 것도 좋을 것이다.

물론 위와 같은 방법으로도 치고 빠지는 스패밍을 방지하기에는 어느정도 힘겹긴 하다. 통신망의 자료실에 보니까 삐삐 쳐주는 프로그램이 있던데... 메일링 리스트에 몇개 이상의 메일이 오면 삐삐를 쳐주도록 스크립트를 짜 놓는 것은 급작스런 스패밍 공격을 방지하는데 좋은 방법인 것 같다. 하여간 항상 주의하는 것은 나쁘지 않다.

13.2 좀 더 효율적인 메이저도모

이절의 내용과 벌크메이러의 내용은 지승훈 shjee@metaland.com님께서 작성하신 글을 인용, 변환한 글이다. 원문에 충실하려고 노력했으며 이 글의 원문을 원하는 사람은 다음 홈페이지에서 구할 수 있다. http://ns.metaland.com/~shjee/system/majordomo.html 지승훈님께 다시 한번 감사를 드린다.

위에 말한 첫번째 방법만을 보았을 때 메이저도모는 메일을 리스트 내의 사용자에게 넘겨주는 단순한 역할을 한다. 두번째 세번째 방법등, resend 기능을 사용하는 경우는 좀 더 복잡하지만 이 역시 리스트의 내용을 메일러를 통해 전달하는 것은 동일하다 할 수 있다. 대용량의 메일링 리스트를 운영하는 시스템에서 메이저도모의 기능을 개선하기 위해서는 우선 다음과 같은 부분들을 점검하고 개선할 필요가 있다.

  1. Sendmail을 사용하고 있다면 8.X 버젼으로 업그레이드 하라! (최신 버젼은 8.9.1입니다. 요건 스팸 필터링 기능도 있죠. ^^) 이전 버젼에 비해 각각의 메일 접속이 효과적으로 개선되었으므로 이전 버젼보다 성능이 월등히 향상 될 것이다. 대부분의 메일링 리스트에서는 이정도면 충분하다.
  2. 서버의 메모리를 추가하라. 메이저도모는 메일 전송시에 페이징 메모리를 많이 사용하는 것을 제외하고는 시스템에 큰 부하를 주지 않는다. 메모리가 적은 시스템의 경우 메모리 추가로 상당한 효과를 볼 수 있다.
  3. Sendmail 대신에 다른 메일러(MTA)를 사용하라 (예를 들면 Zmailer, qmail등) qmail 은 sendmail의 성능을 상당히 개선한 제품으로 메이저도모와 함께 사용할 경우 상당한 성능 향상을 기대할 수 있다. 게다가, qmail은 Sendmail에 비해서 보안성도 높다.
  4. 만일 리스트의 크기가 아주 크다면, 벌크메일러를 사용하기 바란다. 벌크메일러는 메일을 보내기 전에 메일을 보낼 주소 사이트 그룹별로 정렬한 후 각각의 도메인별로 Sendmail 을 통한 접속을 한번씩만 함으로써 속도 뿐만 아니라 메시지 큐의 크기도 줄여 전체적인 시스템 부하를 줄인다.

이렇게 함으로써 무척 빠르면서도 효율적인 메일링 리스트를 만들수가 있다. (영문에서는 dramatic speedups in delivery 라고 표현하고 있다.)

이런 bulk mailer는 다음의 URL에서 구할 수 있다.

위 내용은 메이저도모 FAQ에 있는 'How can I improve Majordomo's performance ?' 라는 부분을 요약, 정리한 것이다.

13.3 벌크메일러 소개 및 설치 방법

메이저도모 같은 메일링 리스트 프로그램을 보면 리스트에 포함되어 있는 이용자에게 메일을 보내기 위해 한번씩 Sendmail process를 띄워서 해당 호스트에 접속을 하게 된다. 그러나 다수의 이용자에게 메일을 보낼 경우 이런 방법은 상당한 시간이 걸릴 뿐더러 각각의 메일큐를 관리해야 하기 때문에 시스템 성능을 저하시키는 요인이 된다. 이런 단점을 개선하기 위해 만들어진 것이 벌크메일러 류의 프로그램이다. 이것은 리스트에 포함된 수신자를 도메인별로 구분하고 해당 도메인에 단 한번 접속을 통해 해당 이용자에게 메일을 보낸다. 이 방법은 /usr/lib/sendmail -bs 옵션을 사용하여 전자봉투를 만듦으로서 가능하다.

벌크메일러의 문서 파일을 보면 이 프로그램은 5000명에게 동시에 보내기 위해 디자인되었으며 짧은 시간내에 12.000명에게 메일을 보내는데 무리가 없다고 한다. Qmail www.qmail.org을 사용할 경우에는 자체가 그런 기능을 가지고 있기 때문에 이것을 적용하는게 의미가 없다고 한다. 현재 공개되어 있는 몇개의 bulk mailer 중 메이저도모개발자가 추천하는 벌크메일러 를 설치해 보기로 하자.

우선 위의 Site에서 builk_mailer.tar.gz 파일을 받아서 푼다.

# tar xvfz builk_mailer.tar.gz

그 다음 해당 디렉토리로 가서 다음과 같이 컴파일 한다.

# ./configure 
# make
# make install

위와 같이 하면 /usr/local/bin 에 bulk_mailer 라는 실행파일이 생긴다.

이를 적용하기 위해 majordomo.aliases 를 다음과 같이 수정한다. test 라는 메일링 리스트에 적용해 보면 다음과 같다.


# test mailing-list aliases
test : "|/usr/local/majordomo-1.94.4/wrapper resend -l test -h metaland.com test-outgoing,nobody" 
test-owner : shjee@metaland.com
test-outgoing : "|/usr/local/bin/bulk_mailer -domain metaland.com owner-test@metaland.com /usr/local/majordomo-1.94.4/lists/test"
owner-test : shjee@metaland.com 
test-request : shjee@metaland.com 
test-approval : shjee@metaland.com

자 이제 test 라는 메일링 리스트에 메일을 보내 보자.. 엄청난 속도 향상을 느낄수 있을 것이다. ^^; 사실 엄청난 속도 향상을 느껴보진 못했습니다. -_-; test 메일링 리스트에 겨우 10명도 들어있지 않거든요. 이용자가 많은 메일링 리스트를 운영하시는 분이라면 꼭 한번 적용해 보시길 바랍니다.

13.4 다음버전의 메이저도모, v2.0

저자도 밝혔지만 메이저도모는 처음에는 무척 작고 작은 프로그램에서 시작되었다. 지금 1.94.x 버전까지 왔지만 많은 사람들이 더 이상 뜯어고칠 수 없는 프로그램임을 알게되었고, 새로운 v2.0 이 준비되고 있다. v2.0은 거의 모든 것을 처음부터 작성하고 있으며 새롭고 더욱 강력해진 많은 내용을 담고있다. v2.0은 아직 제작중이며 곧! 새롭게 등장할 것이다. 관심있는 사람은 http://www.hpc.uh.edu/majordomo/을 참고하기 바란다.

메이저도모2의 주요 변동 사항

  1. MIME 의 완벽지원
  2. 설치 과정의 편이성 강화
  3. 유일하게 C 로 쓰여진 wrapper 프로그램의 다양한 플랫폼 지원
  4. 몇몇 엘리어스의 변경, 삭제
  5. 보안 측면 강화

13.5 한글 메이저도모 1.94.4

본 필자가 메이저도모의 메시지를 한글화 한 l10n 타입의 한글 메이저도모를 테스트 중이다. 메이저도모의 배포에 대한 라이센스로 쉽게 배포하기 어렵지만 베타 테스트가 거의 끝나서 메이저도모 메인 사이트를 통해 7-8월 중에 배포가 가능할 것이다.


다음 이전 차례