Contents

조회 수 13516 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
1. SSI 환경 설정

   $ vi Apache_Home/conf/http.conf
     DirectoryIndex index.html index.htm index.shtml index shtm         # 디렉토리에서 우선적으로 찾는 파일
     <Directory "/usr/local/apache/htdocs">
       Options ExecCGI
       Options Includes                # 이것을 추가하고 아래 두파일을 편집한다
       AllowOverride None
       Order allow,deny
       Allow from all
     </Directory> 

   $ vi Apache_Home/conf/srm.conf
     AddHandler    server-parsed    .shtml
     AddType       text/html         shtml

   $ vi Apache_Home/conf/access.conf
     <Directory /usr/local/httpd/htdocs>
       Options Indexes FollowSymLinks
       Options Includes                     # 이 옵션을 추가시켜야 SSI 명령어 사용이 가능하다
       AllowOverride None                  # All 로 설정이 되어 있어야 .htaccess 파일 사용자도 사용이 가능하다.        
       order allow,deny
       allow from all
     </Directory>

   # 참고로 exec 를 제외한 SSI 를 적용하고자 할때는 Options IncludesNoExec 를 추가해 주어야 한다. 
   # 많은 웹사이트는 보안상의 이유로 SSI를 지원하지 않거나, 지원하더라도 exec를 허용하지 않는 경우가 많다. 


2. SSI 명령어 사용하기 

   SSI 문서를 사용하려면 HTML 문서안에 특별한 문자를 사용하여야 한다. 
   클라이언트가 HTTP 서버에 페이지 요청을 하면 서버에서는 홈페이지 문서에서 특별한 문자를 포함하고 
   있는지 검색한 다음 만약 이러한 특수문자가 발견되면 그에 맞는 기능들을 수행한다. 
   SSI 명령어  포맷방식은 다음과 같다.

   <!--#command arg1="value1 arg2="value2 ... -->

   <--#                 시작의 정의 , SSI 명령어를 시작할때는 꼭 이 태그가 포함되어 있어야 한다. 
   command          에는 SSI 명령어가 사용될 수 있다. 
   -->                  끝의 정의, SSI 명령어를 끝낼시는 꼭 이 태그가 포함되어 있어야 한다. 


3. SSI 명령어들

   echo                DOCUMENT_NAME, DOCUMENT_URL, DATE_LOCAL, DATE_GMT, LAST_MODIFIED,
                QUERY_STRING_UNESCAPED 등의 변수값 출력 
   include        다른 파일내용 포함시킴
   exec                cmd=,cgi= 중에서 하나를 실행시킴, 보안상의 문제로 권장 하지 않음
   config        오류출력, 시간형식, 파일크기 형식등에 대한 환경 설정
   flastmod        최종 파일 변경 시각 출력
   printenv        모든 변수와 값 출력
   set                변수의 값을 설정
   fsize           파일의 크기 정보를 표시


4. SSI 명령어 조합

   <!--#flastmod file="nextel.html" -->
   위 예에서 사용된 flastmod 명령어는 수정시간을 출력하라는 뜻이다. 
   인수로는 'file'이 쓰였고 ,value 는 nextel.html 이 쓰였다. 
   흔히 명령어는 인수이름에 따라 다르게 실행되어 질 수가 있다. 다음 예를 보자.

   <!--#flastmod virtual="/" -->
   서버의 홈페이지 마지막 수정시간을 얻을수 있다. 

   SSI 명령어가 실행되어 질때, 'environment variables' 값이 설정이 된다. 
   이것은 CGI variables 을 포함하고 있고(REMOTE_HOST etc), DOCUMENT_NAME 
   그리고 LAST_MODIFIED 등을 가지고 있다. 

   <!--#echo var="LAST_MODIFIED" -->
   echo 명령어로도 출력할수 있다. 


5. Extended SSI (XSSI)

   XSSI 는 SSI 변수들을 그대로 사용할 수 있다. 
   예를 들면 현재의 문서안에서 마지막 수정시간을 다음과 같은 명령어로 얻을 수도 있다. 
   <!--#flastmod file="$DOCUMENT_NAME"-->

   또한 SET 명령어를 사용하여 SSI에서 설정된 변수들을 다시 설정할 수가 있다. 
   그리고 if,else, elif ,endif을 HTML 문서안에 포함시켜 사용할 수 있다. 


6. SSI 와 XSSI 를 사용한 몇몇 예제를 소개하고자 한다.

·현재 문서의 파일이름을 표시
            <!--#echo var="DOCUMENT_NAME" -->

·똑같은 HTML 문서를 출력하고자 할 때 
   다음 명령행을 각 문서의 아래에 더하기 바란다 : 
            <!--#includes file="nextel.html" -->

·외부사용자로부터 문서 감추기 
   XSSI 의 if 명령어와 REMOTE_ADDR CGI 변수를 이용해 특정문서를 외부 사용자로부터 감추고, 
   대신에 허가된 사용자에게만 문서를 보여준다. 
            <!--#if expr="$REMOTE_ADDR != /^203.236.232./" -->
                  <a href="internal-documents.html">Internal documents</a>


?

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
36 System/OS [linux] 이기종간의 파일 공유(Samba) hooni 2003.04.23 15213
35 System/OS [linux] 텔넷, FTP 텍스트 모드에서 사용 hooni 2003.04.23 12259
34 System/OS [linux] 랜카드가 2개 일 때 네트워크 설정 hooni 2003.04.23 30431
33 System/OS [linux] 아파치설치/설정 - 알리어싱(aliasing) hooni 2003.04.23 51807
32 System/OS [linux] 아파치설치/설정 - 사용인증 hooni 2003.04.23 15404
31 System/OS [linux] 아파치설치/설정(모니터링) hooni 2003.04.23 14491
30 System/OS [linux] 아파치 설치/설정(proxy) hooni 2003.04.23 13273
» System/OS [linux] 아파치설치/설정 - SSI(Server Side Include) hooni 2003.04.23 13516
28 System/OS [linux] 아파치설치/설정(CGI부분) hooni 2003.04.23 14871
27 System/OS [linux] 아파치설치/설정 hooni 2003.04.23 14814
26 System/OS [linux] 새 하드디스크 추가하기..(내공쌓기) hooni 2003.04.23 14113
25 System/OS [linux] 기본적인 설정하기(내공쌓기) hooni 2003.04.23 14294
Board Pagination Prev 1 ... 8 9 10 11 12 13 14 15 16 17 Next
/ 17