Unix/Solaris10

GNU Mailman 종합

ForceCore 2008. 1. 22. 09:32
써본 결과는 아주 만족스럽다. 세밀한 설정이 가능하고, 무엇보다도. 웹인터페이스가 비범하여 이 것 하나로도 타 메일링리스트 관리 프로그램을 압도할 수 있다. 설치하는 과정이 좀 길었기 때문에 이 글에 정리해둔다. 그리고 메일링리스트의 설정도 기록해둔다.

./configure는 이 글의 것으로 한다. 시행착오를 겪었기 때문에...
$ ./configure --with-username=listserv --with-groupname=listserv --with-mailhost=yyy.xxx.ac.kr --with-urlhost=yyy.xxx.ac.kr --with-cgi-gid=webservd --with-mail-gid=listserv

--with-mailhost, with-groupname을 잘못 정하면 newlist명령이 안 먹는다.
--with-mail-gid를 잘못 정하면 Groupmismatch error 라고 적힌 반송메일이 돌아온다.
--with-mailhost, --with-urlhost를 잘못 정하면 웹인터페이스에서 관리기능이 안 동작한다.

http://blog.naver.com/ssanzing2/140041409921컴파일 하기 전의 초기 설정. 이 곳의 configure 옵션은 따르지 마시오.
http://blog.naver.com/ssanzing2/140044311290컴파일 에러 잡고 컴파일에 성공. 이 곳의 configure 옵션은 따르지 마시오.
http://blog.naver.com/ssanzing2/140047262760postfix와 연동 끝.

그리고 위 세 글에 없는 항목과 메일링리스트에 설정해두면 좋은 것....

필자의 설정은.
- 가입하기 위해서는 메일 인증과 관리자 승인이 있어야 함.
- 가입되지 않은 인간이 메일을 보내면 그 인간에게 "승인 대기중"이라는 메일이 감. 관리자는 그 메일을 승인할 수 있고, 버릴 수도 있다. 그런 메일이 오면 리스트 관리자에게도 메일이 간다.
- 메일링리스트의 리스트를 뽑으라고 했을 때 리스트가 외부에 보이는 것과 외부에 보이지 않는 것이 있다.
- 가입하는 자/해지하는자가 있을 때마다 역시 관리자에게 메일.
- 일단 가입 승인이 된 자는 메일링리스트에 자유롭게 쓸 수 있음.
- xxx.ac.kr에서 온 메일은 바로 리스트에 관리자 승인이 없이도 전달됨.

1. http://서버/mailman/listinfo
에 접속하면 메일링 리스트가 뭐가 있는지 보여준다. 리스트에 클릭하면 일반 유저도 가입 가능.

2. http://서버/mailman/admin
에 접속하면 관리자 페이지가 나옴... 안전한 접속을 위해서는 https프로토콜을 쓰는 것이 좋다.

3. 특정 메일링 리스트를 mailman/listinfo에서 숨기고 싶을 수도 있다.
리스트 관리 페이지에서,
Privacy options... (이 분류에 있는 옵션은 다 중요하다)
Advertise this list when people ask what lists are on this machine? 을 no로 하면 됨.
이렇게 숨긴 메일링리스트를 웹으로 가입하려면 메일링 리스트 이름을 정확히 알아야 하고...
http://서버/mailman/listinfo/리스트이름
으로 접속해야 함.

4. 메일링 리스트 가입 방식
What steps are required for subscription?
Confirm으로 두면 인증메일을 처리하기만 하면 된다.
Require approval로 하면 관리자 승인이 있어야 한다.
둘 다 요구할 수도 있다.

5. listinfo의 Description바꾸기: A terse phrase identifying this list.를 수정.

6. 메일링리스트에 가입된 사람조차도 메일링리스트에 메일을 보내면 관리자의 허락이 있어야지 메일이 실제로 전송된다 -_-;;; 이런 리스트는moderated list이다. 일단 가입된 사람은 자유포스팅이 가능하게 하려면...
- 엄... 이건 유저별로 되어있다. Membership List에서 유저별 mod체크를 조정하면 됨. 그리고, 모든 사용자들의 modbit을 조정하려면 "Set everyone's moderation bit"을 조정하면 된다.
- 앞으로 가입하는 사람의 moderation bit을 조정하려면, Privacy Options에서 보면 된다... 그 하위메뉴의 Sender filters에 있다.

7. 그 외 Generals에서...
admin_immed notify, respose_to_post_requests, admin_notify_mchanges를 yes로 해둠.

8. 보낸이가 *@*.xxx.ac.kr인 경우 메일링리스트 구성원에게 메일이 가는 것...
흐음. 이거는 잘 생각해 봐야 한다. 일개 학생이 이 시스템을 간파하지 못해야 함...;
구글에 mailman allow posting by domain으로 검색함...
http://mail.python.org/pipermail/mailman-users/2007-September/058455.html
mailman 2.1 이후버전에서는 아주 간단하다.
정규표현식을 쓰는 듯.
^.+@xxx\.ac\.kr
^.+@.+\.xxx\.ac\.kr
이 두 줄을 accept_these_nonmembers에 넣는다... Privacy의 Sender filter에 있다.
Smartlist의 accept list를 생각하면 될 것이다.

init.d 자동 시작 스크립트의 경우.
/usr/local/mailman/scripts/mailman 을 이용하면 된다.