WWW

[알림판목록 I] [알림판목록 II] [글목록][이 전][다 음]
[ WWW ] in KIDS
글 쓴 이(By): chilly (김규동)
날 짜 (Date): 1995년11월20일(월) 23시36분12초 KST
제 목(Title): Re: httpd에서 카운터 설치하기?



개소리멍님. :)
.pl파일은 perl script로서, 사용하시려면 우선 httpd가 돌아가고 있는 시스템에
perl이 깔려 있어야 합니다. 그 script에 필요한 version이 씌어져 있을 것입니다.
보통 5 이상이면 아무 문제가 없는 듯 합니다. Perl은 source가 나와 있으므로,
깔수 있는데, 그리 어렵지는 않은듯.

또, 보아하니, 그 counter는 server-include를 사용할 듯. server-include는
httpd가 client의 요구에 의해 html파일을 읽어서 보내 줄때, 자신의 
configuration에 적혀 있기를 이 파일을 parse해야 하면, 이를 읽어보고,

<!--#exec counter.pl -->

뭐 대충 이런 format의 줄이 있으면, 정상적인 경우에는 comment이므로
무시하겠지만, server-include가 되는 경우에는 이 부분을 counter.pl을
다른 cgi program을 수행하듯이(그러나 다른 cgi와 약간 다름. 예를 들면
여기서는 ?를 이용한 argument를 받지 않음.) 수행해서 그 stdout을 <!-- .. --
자리에 그대로 바꿔치기해 줍니다.

그래서 그런 counter를 사용한 html은 읽어보면, 그냥 맨 글자로 당신이 몇번째
들어온 사람이라고 가르쳐 주는 경우도 있지요. 요술처럼.

server include를 enable하는 방법은 httpd마다 다르지만 대충 한두개의
configuration파일들을 고치고 httpd에 HUP신호만 보내면 될 것입니다. 책을
좀 읽어보고 하시는 것이 안전. 또, NCSA httpd에서는 server-include에 사용되는
cgi script는 system의 cgi directory에 있는 것만 허용하는 것 같습니다.
(이 글에서 된다 안된다 하는 것은 제 시스템에서 실험해 본 것이므로,
저랑 똑같은 시스템이면 진리이지만, 조금이라도 다르면 전혀 사실과 무관할
할 수 있습니다)

여기까지 해 두고나면, counter.pl파일을 system의 cgi directory에 옮겨놓고,
others가 execute할 수 있게 해 두고(perl이 others executable해야 함은 물론)
counter를 넣고 싶은 html파일을 edit하고.. 필요하면 이름도 바꾸고
(server에 따라서는 .html이 아니라 .shtml만 parsing해 주는 경우도 있으니까)
어야 한답니다. 그 다음에는..

그런데 말이죠, 조금 더 깔끔하게 하고 싶으시면, client-server형태로 조그만
장난감을 하나 만드세요. 재미있어요. 제 homepage에 들어와 보시면
면, 모양은 흉악하지만 처음부터 끝까지 제가 만든 counter가 하나 있는데,
들어오시면서 잘 들여다보시면, 글자가 기계 counter처럼 슬쩍 넘어가는 것을
볼 수 있답니다. reload를 하면 한번 더 상영하지만, 별로 권할 만한 것은
아니고. 사실 저는 움직이는 것을 만들어보려고 장난을 많이 쳐서, 제 homepage에는
움직이는 것이 또하나 더 있지요. italy에서 들어와 본 친구가 있었는데,
너무 느리다고 불평이 많더군요... :)
참 netscape가 아니면 통 안보일 것입니다. 요즘 좀 노력을 해 두기는 했지만.
 
--
Gyudong Kim %   Dept. of Electronics, Seoul Nat'l Univ., Seoul 151-742, Korea
     chilly % Phone +82 2 880 7280; Fax +82 2 885 6993; Pager +82 12 845 3420
    Fabiano %      http://www.iclab.snu.ac.kr/~chilly, chilly@iclab.snu.ac.kr
[알림판목록 I] [알림판목록 II] [글 목록][이 전][다 음]
키 즈 는 열 린 사 람 들 의 모 임 입 니 다.