TECH-NOTE 2002-PRO (2001.08.01)
TECH-NOTE 종합관리(Root) 도움말
프린트 하기
이하의 설명에서 BOARD 라 함은 테크노트 프로그램 내에 생성된
여러 게시판류를 각각 구분지어 지칭하는 것이며,
TECH-NOTE 라 함은 이 각각의 게시판류를 모두 포함하고 있는
CGI프로그램 전체를 의미합니다. (설정항목 번호나 특정단어를 찾을 때는: Ctrl + F)
개요
종합관리 페이지에서는 TECH-NOTE 에 포함되어 있는 모든 BOARD 를 통합 관리하고,
TECH-NOTE 의 전체 사용환경을 지정한다.
이곳에서의 지정(환경설정,관리자번호)은 각 BOARD 내의 관리설정보다 상위권한을 가진다.
종합관리 페이지는 기본적으로 http://abcdefg.com/technote/index.cgi 형식의 url경로를
부라우저의 주소입력창에 입력하면 바로 열린다.
종합관리 페이지를 개방하지 않고 관리자비밀번호를 우선 확인후 열리게 하려면
'config.cgi' 파일을 텍스트 편집기로 열고
설정항목[8]-'종합관리 페이지 OPEN 관련..' 을 수정하면 된다.
(각 보드의 관리설정페이지 개방여부는 [관리설정]-[2-10]에서 지정)
이하 내용은 종합관리페이지의 각 항목에 대한 설명이다.
관리자 로그인
Root관리명령을 실행하기 위해서는 Root관리자임을
확인할 수 있는 비밀번호가 필요하다.
이 비밀번호는 각 BOARD 의 개별적인 관리번호보다 상위권한을 가지는
비밀번호로서 TECH-NOTE 내에 속한 모든 비밀번호 입력항목을 패스할 수 있다.
(각 BOARD 의 관리비밀번호는 해당 BOARD 에서만 권한을 행사할 수 있다.)
로그인을 행한 이후에는 모든 비밀번호 입력항목을 무시하고 버튼만 누르면 통과된다.
로그오프 버튼을 누르면 로그인상태가 다시 초기화 된다.
* 최초 설치시 Root비밀번호는 'technote' 이다.
만약, 운용중에 비밀번호를 잃어 버렸다면 technote/board/logfile.cgi 를
다시 다운받아서 텍스트 편집기로 열고 첫라인을 비운후
다시 올려 주면 'technote' 가 Root비밀번호로 복귀한다.
로그온,오프폼을 다른 htm 파일내에 넣고자 한다면
다음과 같은 코드를 작성해서 삽입하면 된다.
<form method="post" action="http://abcd.net/cgi-bin/technote/index.cgi">
<input type="hidden" name="command" value="keeper">
비밀번호<input type="password" name="password" size="10">
<input type="submit" value="로그인">
<input type="button" value="로그오프" onclick=location.href="http://abcd.net/cgi-bin/technote/index.cgi?LogOut=1" >
</form>
BOARD 현황판---
현재 TECH-NOTE 내에 포함된 모든 BOARD 목록을 출력한다.
그룹 - BOARD 가 속한 인증공유그룹 이름([관리설정]-[인증공유설정]에서 지정)
BOARD(DIR) - BOARD명. 클릭하면 해당 BOARD 가 출력된다.
인증공유 - 해당 BOARD 가 '인증공유' 로 지정되었는지의 여부를 보여준다.
( [관리설정]-[인증공유설정]에서 지정 )
관리설정 - 아이콘을 클릭하면 해당 BOARD 의 관리설정 페이지가 출력된다.
회원관리 - 아이콘을 클릭하면 해당 BOARD 의 회원관리 페이지가 출력된다.
기본적으로 출력되는 숫자는 예비등록자 수 표시이다.
board 메일링 - 아이콘을 클릭하면 해당 BOARD 의 모든 글 등록자에게
메일을 보낼 수 있는 메일링 폼이 출력된다.
접속통계보기 - 클릭하면 해당 BOARD 의 접속통계가 출력된다.
게시물 용량보기 - 클릭하면 해당 BOARD 의 데이타 용량이 출력된다.
BOARD 관리명령 실행 폼
BOARD 만들기-새로 생성할 BOARD 의 이름을 영문으로 스페이스 없이 입력후
실행버튼을 누르면 입력한 이름의 디렉토리가 생성되고 새로운 BOARD 가 만들어진다.
BOARD 이름은 영문이나 숫자를 사용하되, 맨 앞글자는 숫자가 아닌 영문이어야하며
BOARD 이름에 특수문자나 기호가 들어가면 안된다.
BOARD 생성이 완료되면 현황판에는 새로 생성된 BOARD 가 추가되어 출력된다.
만들어진 BOARD 의 URL은
http://abcd.net/technote/main.cgi?board=boardname 의 형식을 갖는다.
BOARD 생성 방법에는 3가지가 있다.
첫째, 위에서 설명한 방법.
둘째, 없는(존재하지 않는) BOARD URL을 부라우저로 호출하면
해당 BOARD 가 생성된다.(자동생성기능이 'ON' 으로 되어 있을 경우)
세째, BOARD 디렉토리를 수동으로 올린다.(퍼미션도 수동으로 지정할것)
위의 세가지 방법중 가장 안정적인 방법은 세번째 방법이다.
압축파일에 기본적으로 들어 있는 'FREE_BOARD' 디렉토리를
이름만 바꾸어 그대로 올린후 디렉토리와 내부 파일의 퍼미션을
777이나 766으로 지정해 주면 된다.
조금 번거롭더라도 세번째 방법을 권하는 바이다.
특히, 보안을 중요시해야할 BOARD 라면 반드시 세번째 방법을 사용할것을 권한다.
BOARD 삭제-삭제할 BOARD 의 이름을 입력하고 실행 버튼을 클릭한다.
등록자료 일괄백업
TECH-NOTE 내에 포함된 모든 BOARD 의 자료를 동시에 백업파일에 복사한다.
* [글목록 파일] - 게시물의 목록과 접속통계가 저장된 파일
* [회원등록 파일] - 회원등록 정보가 저장된 파일
백업파일은 각 BOARD 의 백업디렉토리에 별도의 파일로
저장되며, 이 파일들은 원본데이타 유실시 자동 복구되는 용도이다.
[글목록과 접속카운타]는
technote/board/boardname/back/ 디렉토리에는 복사본이 백업저장된다.
[회원등록파일]은
technote/board/boardname/memberbackup/ 디렉토리에 복사본이 백업저장된다.
원본데이타 유실이 있음에도 자동복구가 되지 않을 경우 백업디렉토리내의 파일을
용량및 생성일자를 비교하여 최근백업파일로 원본파일위치
(목록:technote/board/boardname/ , 회원등록:technote/board/boardname/member/)
에 수동복사해서 복구시켜주면 된다.
이것은 각 BOARD 의 [관리설정]페이지에 있는 백업명령과 동일한 것이다.
여러 BOARD 를 동시에 실행한다는게 다를 뿐이다. 따라서,
이곳에서 일괄백업을 실행했다면 각 BOARD 의 [관리설정]에서의 백업은 행할 필요 없다.
백업명령은 1일 1회 정도 실행해 주는 것이 좋다.
글목록 데이타 복구(재생성)
글목록 파일이 삭제되었을때 이를 다시 생성,복구시킨다.
이는 위의항목(일괄백업)의 복구방법과는 또다른 별도의 복구방식이다.
BOARD 의 DB 구조는 등록게시물을 내용을 저장하는 각각의 텍스트 파일과
이 텍스트파일들의 목록만을 저장하는 index 파일로 되어 있다.
게시물 열람시, 요청된 글을 index(목록)에서 먼저 찾은 다음
내용이 저장된 텍스트 파일이 열린다.
따라서 index(목록) 파일이 없으면 각각의 텍스트 파일은 열리지 않는다.
이 항목은 이 index 파일이 유실되었을 경우 이를 복구하는 도구이다.
이것은 복구명령의 최후 수단이다.
글목록 파일이 아예 없어진 경우에 사용토록 한다.
이 명령은 본문글이 저장된 각 텍스트 파일을
하나씩 모두 읽어 들여서 'INDEX 정보' 만 추출하여
새로운 INDEX 리스트를 생성한다. 이명령을 실행하는 현재 시점에서
만약, 글목록파일이 없어진 경우라면 글목록 파일을 새로 만들어 내며
글목록 파일이 있으면 기존 파일에 새 목록을 덮어 쓰게 된다.
이 명령은 최후 수단으로만 사용해야 한다.
각 BOARD 의 '관리설정' 페이지를 보면 그곳에도 '글목록 복구' 도구가 있다.
그곳의 도구만으로도 백업, 복구가 확실히 보장 된다.
그곳에서의 복구 명령은 글 목록 '백업파일을 근거로' 복구가 이루어진다.
반면 이곳 종합관리(ROOT) 에서의 복구 명령은 '목록 파일' 이 아닌
본문글이 저장된 각각의 텍스트파일을 차례로 읽어 들여서 새로운 목록을 만들어 낸다.
이렇게 복구된 목록은 글의 순서가 일부 바뀔 수 있다.
관리패스워드 변경-
새로 사용할 종합관리자(Root) 비밀번호를 입력하고 실행버튼을 클릭한다.
차후 새로 생성되는 각 보드의 기본 관리번호는 여기서 지정한(Root) 비밀번호와 동일하다.
각 보드에 별도의 관리번호를 부여하려면 해당 보드의 '관리설정-[13-10]'에서 변경해 준다.
(이 경우에도, ROOT 관리번호는 여전히 모든 BOARD 에 대한 통제권을 행할수 있다.)
실행버튼- 관리명령을 실행한다.
관리자 로그인상태이거나 혹은 관리자 패스워드를 입력해야 실행된다.
BOARD 환경설정, 제한, 통제
여기에서 지정된 값은 모든 BOARD 에 영향을 미치며
차후 생성되는 BOARD 의 기본값이 된다.
관리자 이름-메일링을 통한 메일 발송시 이 이름이 사용된다.
배너등록(상)-모든 BOARD 의 최 상단에 우선하여 삽입된다.(htm 태그)
배너등록(하)-모든 BOARD 의 하단에 우선하여 삽입된다.(htm 태그)
좀더 구체화된 코드를 삽입하고자 한다면
technote/config.cgi 소스내의 수정항목[41]에서 삽입할 수도 있다.
이렇게 삽입된 코드는 기본적으로 TECH-NOTE 내의 모든 보드의 상하단에 우선 삽입된다.
만약 어느 특정보드에는 이 삽입코드를 무시하려면
해당 보드의 [관리설정]-[13-3]에서 'no' 로 지정해 주면 해당보드에서는 무시된다.
홈 URL-메일링및 차후 생성될 BOARD 의 기본값이 된다.
홈버튼 URL-차후 생성될 BOARD 홈버튼의 기본값이 된다.
관리자 메일-메일링및 차후 생성될 BOARD 의 기본 값이 된다.
BOARD 자동생성 기능
관리명령을 사용하지 않고도 BOARD 자유생성이 가능하게 할 것인가를 지정한다.
각 BOARD 의 링크 URL은
'http://abcefg.com/technote/main.cgi?board=boardname'
와 같이 되는데, 이 항목을 자동생성 'ON'으로 지정해 놓은 상태에서
존재하지 않는(없는) BOARD 이름을 넣어 위와 같은 식으로 부라우저에서 호출하면
호출한 이름의 BOARD 가 새로 생성 된다.
필요한 만큼의 BOARD 를 만든후에는 반드시 자동생성을 'OFF' 시켜놓을것
자동생성된 BOARD 의 초기 관리번호는 'config.cgi' 파일 수정항목 [3]에서
지정한 비밀번호이다.
반면 이곳(Root)의 툴을 이용하여 생성한 BOARD 의 초기관리번호는
'종합관리자(Root) 비밀번호' 와 같게 지정된다.
이렇게 초기 비밀번호를 다르게 지정되게 한것은 외부인에게
BOARD 생성을 허용할 경우를 위한 것이다.
BOARD 간 자료의 이동/복사및 특정 디렉토리 접근권한 지정을 허용
TECH-NOTE 내의 각 BOARD 간에는 자료를 이동 복사할 수 있다.
또한 BOARD 의 회원등록관리 기능중에는 TECH-NOTE 이외의 디렉토리에 대해서도
접근권한을 통제 할 수 있는 기능이 있다.
이 항목의 지정은 각 BOARD 간 자료이동/복사를 허용할 것인가,
각 BOARD 의 회원관리기능중 디렉토리접근권한지정 기능을 허용할 것인가를
지정한다. 한사람이 TECH-NOTE 전체를 관리한다면 'YES' 을 선택해주고
여러 BOARD 에 각각의 관리자가 있다면 'NO' 를 선택해 주도록 한다.
테마 등록 허용 - 테마(관리설정메뉴) 추가등록을 허용 할것인가?
TECH-NOTE 는 일정한 모양, 틀에 갖혀 있지 않다.
사용자는 언제든지 자신만의 디자인이나 별도의 기능배치를 설정할 수 있는데,
그 설정상태를 테마(설정메뉴)로 등록해 두고 언제든지 다시 선택해서
사용 할 수 있다. 메뉴 등록수는 무제한이다.
등록된 테마는 TECH-NOTE 내의 모든 BOARD 에서 선택, 사용할 수 있다.
여기서는 테마 등록을 허용 할 것인가를 지정하면 된다.
이것의 허용여부를 옵션으로 넣은 이유는 각 보드가
별도의 관리자에 의해 운용되는 경우를 위한 것이다.
업로드파일 용량-모든 BOARD 의 업로드파일의 용량을 제한한다.
한편 각 BOARD 의 '관리설정' 페이지에도 용량제한 항목이 있는데,
만약 각 BOARD 의 '관리설정' 의 용량지정이 이곳(종합관리)에서의 설정보다
크게 지정하면 이곳(종합관리)에서의 지정이 우선시되어 용량을 제한 한다.
즉, 각 BOARD 의 업로드 허용용량은 종합관리에서의 제한용량을 넘지 못한다.
(이후 생성되는 BOARD 의 용량제한 기본값은 여기서 지정한값을 기본으로 생성된다.)
메일발송방식 선택지정
메일발송방식은 각 서버 환경마다 다르므로 TECH-NOTE 에서는 다음과같이
다섯가지의 메일 발송방식중 하나를 선택하여 사용할수 있게 하였다.
TECH-NOTE 를 설치한 서버환경에 맞는 방식을 선택하고
그에 따른 경로나 URL을 바르게 수정해 준다.
* Sendmail(Unix,Linux)
유닉스,리눅스에서 사용할 수 있는 빠른 메일발송 방식이다.
텔넷 프롬프트에서 'whereis sendmail' 혹은 'which sendmail' 을 입력하면
sendamil 의 경로가 출력된다.
일반적으로 '/usr/lib/sendmail' 혹은 '/usr/sbin/sendmail' 에 위치한다.
* Blat.exe(Windows NT)
NT 서버에서 무료 메일 프로그램인 Blat 을 설치하였다면
Blat.exe 파일의 경로를 적어 주면 된다.
설치되어 있지 않다면 Blat 프로그램을 다운 받아 설치후 지정하도록 한다.
해당서버가 메일서버역할을 수행할수 있는 환경이 되어 있어야 사용가능하다.
* SMTP server(공통)
위의 메일관련 프로그램을 사용할 수 없고
SMTP서버(메일보내는서버)를 사용해야 한다면
SMTP 서버 주소를 적어 준다.
일반적으로 자체서버 주소인 '127.0.0.1' 이 기본으로 쓰이지만
만약 이와 다르다면 SMTP서버의 도메인주소나 또는 IP를 적어 주면 된다.
SMTP서버의 주소를 잘 모르겠다면 웹호스팅 제공업체에 문의하도록 한다.
이 방식은 sendmail 지정 방식보다 느리게 작동할 수 있으며,
서버의 보안설정과 관련하여 SMTP 에 접근이 차단되어 있을수도 있다.
* 외부지원 CGI(공통)
메일기능을 전혀 사용할 수 없는 환경이라면 다른 서버에
설치된 cgi 프로그램으로 보내서 그곳에서 처리되도록 지정한다.
테크노트 원본소스에 포함된 'technote/sendmail.cgi'를 sendmail 지원되는 다른 서버에
올린후, 그 sendmail.cgi 파일의 URL(http://...../sendmail.cgi)을 지정해 주면 된다.
지금 바로 테스트를 하려면
http://www.technote.co.kr/tech2002/sendmail/sendmail.cgi 로 지정해주고
테스트해 볼 수 있다.
* 사용자가 별도 코딩
CGI 코딩이 가능한 사용자라면 메일발송방식을 직접 코딩해 사용할 수도 있다.
소스 원본 technote/library/Lib-7.cgi 를 편집기로 열면 소스 하단부분에
사용자가 코딩할수 있는 영역이 준비되어 있다.
설정 변경값 적용- 변경값을 저장한다.
관리자 로그인상태이거나 혹은 관리자 패스워드를 입력해야 저장된다.
메일링
TECH-NOTE 에 포함된 모든 BOARD 의 글 등록자에게 동시에 메일을 발송한다.
관리자 비밀번호를 넣고 버튼을 누르면 ' TECH-NOTE ALL 메일링' 폼이 호출된다.
전체 검색- TECH-NOTE 내의 모든 BOARD 자료를 동시 검색한다.
* 목록- 본문내용을 제외한 모든 등록자료를 검색한다(이름,메일,제목,추가항목...등등)
* 내용- 글 제목과 등록자이름 그리고 본문 내용을 검색한다.
* 제목- 글 제목을 검색한다.
* 이름- 등록자 이름을 검색한다.
* 전체- 모든 등록자료를 검색한다.
검색어 입력없이 날자지정(최근x일) 검색을 하면,
해당 날자(기간) 내의 글들만 모두 출력한다.
이 검색폼만 따로 분리, 별도의 페이지에 삽입코자 한다면...
<form method="get" action="http://abc.net/~abcd/cgi-bin/technote/index.cgi">
<input type="hidden" name="command" value="search">
<input type="hidden" name="SearchBoard" value="">
<input type="hidden" name="NoSearchBoard" value="">
LOCAL SEARCH:
<INPUT type="text" name="words">
<SELECT name="where">
<OPTION value="1">목록</OPTION>
<OPTION value="3">제목</OPTION>
<OPTION value="2">이름</OPTION>
<OPTION value="4">본문</OPTION>
<OPTION value="5">전체</OPTION>
</SELECT>
<SELECT name="rgtime">
<OPTION value="">전체</OPTION>
<OPTION value="1">최근1일</OPTION>
<OPTION value="2">최근2일</OPTION>
<OPTION value="4">최근4일</OPTION>
<OPTION value="6">최근6일</OPTION>
<OPTION value="8">최근8일</OPTION>
<OPTION value="10">최근10일</OPTION>
<OPTION value="20">최근20일</OPTION>
<OPTION value="30">최근30일</OPTION>
<OPTION value="60">최근60일</OPTION>
<OPTION value="120">최근120일</OPTION>
<OPTION value="240">최근240일</OPTION>
<OPTION value="365">최근365일</OPTION>
</SELECT>
<SELECT name="how">
<OPTION value="and">AND</OPTION>
<OPTION value="or">OR</OPTION>
</SELECT>
<INPUT type="submit" value=" 검 색 ">
</form>
과 같이 html페이지내에 삽입해 주면 된다.
action=http://abc/.. 부분에는 index.cgi의 url을 넣어 주면 된다.
날자(기간)검색 옵션은 날자를 더 세부적으로 추가, 또는 단순화 해도 되며
이때 검색할 날자(기간)를 'value' 값으로 넣어 주면 된다.
아예 날자검색 항목을 삭제해도 상관 없다.
검색결과를 새창으로 띄우고자 한다면
<form method="get" action="http://abc.net/...../index.cgi" target="_blank">
와 같이 target="_blank" 를 포함시켜 주면 된다.
특정한 몇개의 BOARD만 묶어 검색하고자 할때
위의 태그중 세번째라인
<input type="hidden" name="SearchBoard" value="">
의 value="" 에 검색대상 BOARD의 이름을 '/'로 구분하여 넣어 주면 된다.
(예, value="A_board/B_board/C_board")
이를 지정하지 않으면 모든 BOARD를 검색대상으로 한다.
생성된 BOARD 가 많다면 전체검색시 시간이 걸리므로
검색이 필요한 보드만 지정해 주도록한다.
검색결과 출력시 이 옵션에서 지정해준 보드의 순서대로 출력된다.
특정한 몇개의 BOARD를 전체검색에서 제외하고자 할때
위의 태그중 네번째라인
<input type="hidden" name="NoSearchBoard" value="">
의 value="" 에 검색제외대상 BOARD의 이름을 '/'로 구분하여 넣어 주면 된다.
(예, value="A_board/B_board/C_board")
이를 지정하지 않으면 모든 BOARD를 검색대상으로 한다.
생성된 BOARD 가 많다면 전체검색시 시간이 걸리므로
검색이 불필요한 보드를 지정해 주도록한다.
'본문검색'이나, '전체검색'옵션을 사용할때는 모든 등록자료를 읽어 들이므로
출력시 다소 시간이 걸릴수도 있으며 서버에 부담을 줄수도 있다.
'본문' , '전체' 옵션을 제거하면 근본적인 해결법은 아니지만 일단
이 문제를 해결 할 수 있다.
통합기능CGI 테크노트2002
○ 온라인 도움말
○ technote22free.zip technote22free.tar (TECHNOTE2002 프리웨어 다운로드)
○ Copyright www.technote.co.kr