PHP로 Xinetd 데몬 만들기

영완
http://cafe.naver.com/mangchiwebmail

———————————————————–
Reference By http://cafe.naver.com/mangchiwebmail
———————————————————–

일반적으로 .. 데몬을 만든다면.. 직접 소켓 프로그래밍을 합니다.

하지만, IMAP-2000.RPM 등의 .. 프로그램은 Xinetd 에 의존하여 작동합니다.

PHP로 작성된 스크립트도 Xinetd 에 의존하여 작동할 수 있습니다.

이 번 망치 웹메일 0.3 Preview 는 XInetd 의존 데몬으로 제작될 예정입니다.

아직 네트워크 프로그래밍에 대해서는 자신이 없는 관계로..

※ 설정 환경은 아래와 같습니다 – 글쓴이 환경.

OS : Fedora Core1
Xinetd : xinetd-2.3.12-4.10.0 ( RPM )
PHP : Compile

1. /etc/services 에 .. 오픈할려는 포트를 설정합니다.
테스트로 2048 번을 오픈하도록 하겠습니다.

$> vi /etc/services +2048

2. 다음 행을 추가합니다.
mangchi 2048/tcp # For PHP Script
mangchi 2048/udp # For PHP Script

3. /etc/xinetd.d/mangchi 파일을 아래와 같이 작성합니다.
service mangchi {
socket_type = stream
wait = no
user = root
server = /usr/local/bin/php
server_args = /home/mangchi/mangchi.php
log_on_success += HOST DURATION
log_on_failure += HOST
disable = no
}

4. 이제 Xinetd 환경 설정은 완료되었습니다. 혹 보완이 걱정된다면 /etc/xinetd.d/mangchi 파일에서 user 부분을 다른 사용자로 설정하시면 됩니다.
Xinetd 를 다시 시작하여 .. 환경설정이 로딩되도록 합니다.
$> service xinetd restart

5. PHP Test 소스를 만들도록 하겠습니다.
=> /home/mangchi/mangchi.php 파일을 다음과 같이 작성합니다.

6. 자 이제 접속 테스트를 하면 됩니다.

$> telnet localhost 2048

HTML Source 나오고 접속이 끊기게 되면 성공적으로 테스트가 완료된 것입니다.
더 자세한 정보가 필요하시면 http://cafe.naver.com/mangchiwebmail 에 방문하세요 ^^.