2.3. 스크립트

모두 이상없이 설치가 되었다면 다시 qmail 운영에 필요한 스크립트들과 파일들을 만든다.

/var/qmail/rc 의 내용

#!/bin/sh
exec env - PATH="/var/qmail/bin:$PATH" \
qmail-start ./Maildir/

이 파일에 실행 퍼미션을 준다.

chmod a+x /var/qmail/rc

다음은 큐메일 데몬을 위한 디렉토리와 파일들을 생성.

mkdir -p /var/qmail/supervise/qmail-send/log
mkdir -p /var/qmail/supervise/qmail-smtpd/log
chmod +t /var/qmail/supervise/qmail-send
chmod +t /var/qmail/supervise/qmail-smtpd

/var/qmail/supervise/qmail-send/run 의 내용

#!/bin/sh
exec /var/qmail/rc

/var/qmail/supervise/qmail-send/log/run 의 내용

#!/bin/sh
exec /usr/local/bin/setuidgid qmaill \
     /usr/local/bin/multilog t /var/log/qmail

/var/qmail/supervise/qmail-smtpd/run 의 내용

#!/bin/sh
Q_UID=`id -u qmaild`
Q_GID=`id -g qmaild`
exec /usr/local/bin/softlimit -m 2000000 \
     /usr/local/bin/tcpserver -vRHl 0 -x /etc/tcp.smtp.cdb \
     -u $Q_UID -g $Q_GID 0 25 /var/qmail/bin/qmail-smtpd 2>&1

위와 같이 qmaild 의 UDI,GDI 를 사용 하거나, vpopmail을 사용할 것이라면 vpopmail 권한으로 실행되도록 한다.

참고: 솔라리스에서는 다음과 같이 스크립트 내용을 바꿔준다.
ALIAS_UID=`/usr/xpg4/bin/id -u qmaild`
ALIAS_GID=`/usr/xpg4/bin/id -g qmaild`

/var/qmail/supervise/qmail-smtpd/log/run 의 내용

#!/bin/sh
exec /usr/local/bin/setuidgid qmaill \
     /usr/local/bin/multilog t /var/log/qmail/smtpd

이렇게 편집한 파일들에 실행 권한을 준다.

$ chmod 755 /var/qmail/supervise/qmail-send/run
$ chmod 755 /var/qmail/supervise/qmail-send/log/run
$ chmod 755 /var/qmail/supervise/qmail-smtpd/run
$ chmod 755 /var/qmail/supervise/qmail-smtpd/log/run

다음은 qmail-smtpd 를 위한 로그 디렉토리 만들기

$ mkdir -p /var/log/qmail/smtpd
$ chown qmaill /var/log/qmail /var/log/qmail/smtpd

vpopmail의 로밍 서비스(고정 IP를 가지고 있지 않은 POP 유저에게 SMTP 릴레이를 열어 주는 것)를 사용할 것 이라면 다음장으로 넘어간다.

다음 파일에는 qmail-smtpd가 릴레이를 허용 할 주소를 적어주는 것이다. 이 예에서 사용한 192.168.1.1은 설치할 서버의 실제 주소로 바꿔야 한다. 그외 릴레이를 허용할 주소가 있다면 같은 형식으로 추가한다.

/etc/tcp.smtp의 내용

127.0.0.1:allow,RELAYCLIENT=""
192.168.1.1:allow,RELAYCLIENT=""

이 파일은 실제로 tcpserver가 읽을 수 있는 cdb 형식으로 바꿔야 하므로 다음과 같이 해준다.

$ tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp