'server & linux'에 해당되는 글 1건

  1. 2009.12.21 Fedora 메일서버 세팅 2
Embedded2009. 12. 21. 12:24
ASIC/SoC 시뮬레이션을 할 때에는 짧게는 몇시간 걸리고 길게는 하루 넘게 계속 기다려야 하는 경우가 발생합니다.
이를 일일이 창을 열고 기다리는 것 보다는 끝나면 바로 메일로 보내주도록 설정해 놓으면 나중에 시뮬레이션이 끝나면 메일로 해당 결과와 함께 메일로 통보되도록 할 수 있습니다.



Fedora 메일서버 세팅




1. 메일서버


       Fedora Core 2 에서 기본적으로 제공하는 패키지를 이용해 웹메일을
       구축한다.



2. 필요한 패키지


       다음의 패키지가 필요하다.

               sendmail
               sendmail-cf
               dovecot
               squirrelmail
               openssl
               cyrus-sasl
               cyrus-sasl-plain
               cyrus-sasl-md5

       설치하기 전에

               rpm -qa | grep <package-name>

       의 명령으로 우선 위의 패키지가 설치되어 있는지 확인해 본다.
       설치되어 있지 않은 패키지는

               yum install <package-name>

       의 명령으로 설치할 수 있다.



3. sendmail 설정


       sendmail의 설정파일은 /etc/mail에 모여있다.

       1) /etc/mail/access
          메일을 발송할 수 있는 ip의 RELAY를 열어준다.

               localhost.localdomain RELAY
               localhost RELAY
               127.0.0.1 RELAY

          파일을 수정한 후에는

               makemap hash /etc/mail/access < /etc/mail/access
       
          의 명령으로 access.db를 갱신한다. access 파일만 수정한 경우는
          sendmail을 재시작할 필요가 없으며 access.db 파일 갱신만으로
          변경사항이 적용이 된다.

       2) /etc/mail/virtusertable
          가상 사용자 목록을 만든다. 간단한 예로,

               admin@localhost                root

          라고 적으면 실제로 system 내에 존재하지 않는 admin 으로 오는
          메일은 root 계정이 받아보게 된다. 역시 파일을 수정한 후에는

               makemap hash /etc/mail/virtusertable < /etc/mail/virtusertable

          의 명령으로 virtusertable.db 파일을 갱신해줘야 한다.

       3) /etc/mail/local-host-names
          서버로 오는 email 중 이 파일에 나열된 주소로 오는 메일만을 받아들인다.

               ns
               example.com
               ns.example.com

          메일 주소로 사용하는 서버 이름들을 여기에 적어 놓는다.

       4) /etc/mail/sendmail.mc
          SMTP 인증 기능을 사용하기 위해서 다음의 라인을 확인한다.

                TRUST_AUTH_MECH(`LOGIN PLAIN EXTERNAL DIGEST-MD5 CRAM-MD5')dnl
                define(`confAUTH_MECHANISMS', `LOGIN PLAIN EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5')dnl

          없다면 물론 추가한다.
          외부메일을 받을 수 있게 하려면 다음의 라인을 찾은 후,

               DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl

          다음과 같이 라인 처음에 dnl이라고 적는다.

                dnl DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl

          다음의 명령으로 sendmail.cf를 새로 생성한다.

               m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf



4. 나머지 설정


       나머지 설정은 그냥 기본으로 사용했다. 필요에 따라서는 다음 파일들을
       알아서 수정한다.

       1) dovecot

               /etc/dovecot.conf

       2) squirrelmail

               /usr/share/squirrelmail/config/config.php

          직접 수정하지 말고 될 수 있으면,

               /usr/share/squirrelmail/config/conf.pl

          의 명령을 이용해 수정할 것을 권한다. 설정편집시 imap 부분은 others
          로 설정하면 잘 동작한다.



5. 방화벽


       외부 포트가 열리지 않아서 메일이 도착하지 않는 경우가 종종 있다.
       iptables에서 25, 143, 993 (tcp) 포트를 반드시 열어 놓는다.



6. 서비스 시작하기


       각각의 서비스를 다음 명령으로 시작한다.

               service sendmail start
               service dovecot start


7. Perl Script


시뮬레이션은 Perl 스크립트에서 수행하면서 동작시킵니다.

sub send_mail {
  my ($status, $file) = @_;
  $to_user = $user . "\@" . "newtypeunion.com";
  system ("mail -s \"SIMULATION Result : ( $status )\" $to_user < $file");
}
.......
send_mail( "ERROR" , "./sim.log");
......

'Embedded' 카테고리의 다른 글

[MIPS] Assembler 코드 살펴보기 - 2  (0) 2009.12.29
[MIPS] Assembler 코드 살펴보기  (0) 2009.12.26
[MIPS] Simulator  (0) 2009.12.20
MPEG 1/2 Reference Site  (0) 2009.12.13
Eclipse + eCOS =??  (0) 2009.11.23
Posted by GUNDAM_IM