2008. 9. 18.

큐메일 서버 구축 #2 - ucspi-tcp, daemontools 설치

큐메일은 혼자서 작동하지 않기 때문에 다른 데몬과 연계해서 실행을 해야만 합니다.
큐메일의 실행은 xinetd와 tcpserver로 할 수 있으나 필자는 보안과 속도면에서 큐메일과 잘 맞는
tcpserver로 구축을 하도록 하겠습니다.

1. ucspi-tcp 설치 (최신버전 : http://cr.yp.to/ucspi-tcp/install.html)
ucspi-tcp는 tcpserver와 tcpclient 전송제어 프로토콜(TCP client-server)을 구축하는데
좀더 편리하게 사용할 수 있도록 제작된 command-line 툴 입니다.
이 프로그램의 자세한 정보는 http://cr.yp.to/ucspi-tcp.html 이곳을 참조하시면 되겠습니다.

※ 본강좌의 이번편은 간단한 설치작업이지만 설치하기전에 반드시 체크해야될 사항이 있습니다.
최근의 OS에서는 gcc 버전이 3(or 4)이상을 사용하기 때문에 소스를 그대로 설치하게 되면
중간에 에러가 나게 됩니다. 따라서 헤더파일을 약간 수정해주어야 됩니다.
이는 gcc 버전이 업데이트 되었기 때문이니 만약 gcc버전이 2이하라면 수정하지 않아도 됩니다.
[root@localhost]# wget http://cr.yp.to/ucspi-tcp/ucspi-tcp-0.88.tar.gz
[root@localhost]# tar xfz ucspi-tcp-0.88.tar.gz
[root@localhost]# cd ucspi-tcp-0.88

필자는 gcc버전이 3.4.5 이므로 파일의 최상단에 #include 를 추가해 줍니다.
[root@localhost]# vi error.h
#include
#ifndef ERROR_H
#define ERROR_H
...
...
[root@localhost]# make
[root@localhost]# make setup check


2. daemontools 설치 (최신버전 : http://cr.yp.to/daemontools/install.html)
[root@localhost]# wget http://cr.yp.to/daemontools/daemontools-0.76.tar.gz
[root@localhost]# mkdir /package
[root@localhost]# chmod 1755 /package
[root@localhost]# tar xfz daemontools-0.76.tar.gz -C /package
[root@localhost]# cd /package/admin/daemontools-0.76

필자는 gcc버전이 3.4.5 이므로 파일의 최상단에 #include 를 추가해 줍니다.
[root@localhost]# vi src/error.h
/* Public domain. */
#include
#ifndef ERROR_H
#define ERROR_H
...
...
[root@localhost]# package/install


※ 만약 daemontools를 설치하는데 아래와 같은 에러가 나는 경우가 있습니다.
./compile tai64nlocal.c
tai64nlocal.c: In function `main':
tai64nlocal.c:54: warning: assignment makes pointer from integer without a cast
tai64nlocal.c:55: dereferencing pointer to incomplete type
...

이것은 tai64nlocal.c의 두번째 줄 #include 에서 에러가 나는것 입니다.
따라서 이 부분을 #include 로 수정해주면 정상적으로 설치가 가능합니다.

댓글 없음: