본문으로 바로가기

아파치 Tcl 모듈 Rivet

category 카테고리 없음 2024. 4. 8. 11:29

보통은 아파치로 웹 서버를 구축하고 PHP 로 웹 페이지를 구축합니다.
하지만 PHP 대신에 Tcl 스크립트로 웹 페이지를 작성할수 있다면 얼마나 좋을까요?
바로 Rivet 이 해결책을 줍니다.

아파치 설치

먼저 리눅스를 준비합니다. 여기서 사용된 리눅스는 CentOS 6.4 64비트 final 버전이고, 여건상 VMWare 상에 설치했습니다.

다음 터미널을 열고 root 계정으로 로그인 후 아래와 같이 아파치를 설치합니다.

% su
% yum -y install httpd*

아래와 같이 나오면 설치 완료된 것입니다.

다음 웹 서비스를 시작합니다.

/etc/rc.d/init.d/httpd start

다음 해당 웹 서버 상의 IP 주소를 아래와 같이 알아내고..

웹 브라우저로 접속해 봅니다.

접속이 안되면.. 아래와 같이 방화벽을 해제합니다.

해제 후 다시 접속하니 접속이 잘 됩니다.

Rivet 설치

이제 Tcl 모듈을 붙여야 하는데 현재 조사한 바로는 활발히 진행 중인 Rivet을 붙이기로 합니다.

공식 홈페이지: https://tcl.apache.org/rivet/index.html

당연하겠지만 웹 서버 머신에 Tcl 패키지가 설치되어 있어야 합니다.
단 Rivet는 Tcl 8.5.10 버전 이상만 지원하기 때문에 아래의 사이트에서 Tcl 8.5 최신 버전을 받습니다.

http://www.tcl.tk/software/tcltk/download.html

다음 압축을 풀고 다음과 같이 Tcl을 컴파일합니다.

64비트의 경우

% ./configure -enable-threads --enable-64bit
% make

32비트의 경우

% ./configure -enable-threads
% make

정상적으로 컴파일이 되었다면 아래와 같이 설치합니다.

% su
% make install

다음 Rivet 소스코드를 받습니다.

http://apache.mirror.cdnetworks.com/tcl/rivet/rivet-2.1.2.tar.gz

https://dlcdn.apache.org/tcl/rivet/rivet-2.4.0.tar.gz
https://dlcdn.apache.org/tcl/rivet/rivet-3.2.4.tar.gz

다운로드
다운로드

다음 압축을 풀고 아래와 같이 컴파일을 합니다.

% ./configure --with-tcl=/usr/local/lib --with-tclsh=/usr/local/bin/tclsh8.5 --with-apache=/usr --with-apache-version=2
% make
% su
% make install
% make install-packages

아래와 같이 컴파일부터 설치까지 완료됩니다.

아파치 설정

다음 Rivet 모듈을 아파치 설정 파일에 추가합니다.

LoadModule rivet_module /usr/lib64/httpd/modules/mod_rivet.so

다음 아래와 같이 타입도 추가합니다.

AddType application/x-httpd-rivet .rvt
AddType application/x-rivet-tcl .tcl
AddType 'application/x-httpd-rivet;charset=utf-8' rvt

다음 DirectoryIndex에 아래와 같이 추가합니다.

index.tcl index.rvt

이제 모든 설정이 끝났습니다. 이제 아파치를 재 시작해 줍니다.

테스트

index.tcl 파일을 아래와 같이 만들어서…

% /etc/rc.d/init.d/httpd restart
% cd /var/www/html
% echo "puts {Hello Tcl World}" > index.tcl

웹 브라우저에서 접속해봅니다.

잘 됨을 확인할 수 있을 겁니다.

하나 더 테스트로 아래와 같이 color.rvt 파일을 만들고 컬러 테스트를 해봅니다.