[첫화면으로]UseModWiki소스수정/Configuration

마지막으로 [b]

UseModWiki Ext 버전 환경 설정

(여기서 말하는 환경 설정은, 홈페이지 운영자 입장에서 위키의 전반적인 동작이나 사용자 환경 설정의 기본값 등을 지정하는 것을 말한다. 개별 사용자의 경우 로그인한 후에 환경설정에 들어가서 자신의 환경을 별도로 설정할 수 있다. UseModWiki환경설정 참조)

/Installation 에서와 동일하게, 다음과 같이 홈페이지가 구성되어 있다고 가정하자.
/home/gildong/                           - 자기의 홈 디렉토리
/home/gildong/public_html/               - 자기의 홈페이지의 루트 디렉토리
/home/gildong/public_html/cgi-bin/       - CGI 스크립트가 들어갈 수 있는 디렉토리

/home/gildong/public_html/cgi-bin/wiki/  - UseModWiki 를 설치할 디렉토리
/home/gildong/wikidata                   - UseModWiki 데이타가 들어갈 디렉토리 (public_html 밖으로 빼내는 것을 권장)
/home/gildong/public_html/upload         - 업로드한 화일이 들어갈 디렉토리 
                                           (public_html 아래에 있어야 함. 위의 데이타 디렉토리와는 따로 둘 것)

wiki.pl 쪽에서의 수정

wiki.pl은 굳이 수정할 필요가 없지만, 자기가 테스트 등의 목적으로 환경설정 파일을 여러 개를 사용한다거나 할 때는, 환경설정 파일의 이름을 지정해 주어야 한다.
$ConfigFile  = "./myconfig.pl";               # config 화일의 경로

이 외의 나머지 환경설정 변수의 값은 저기 지정된 설정파일(위의 경우 myconfig.pl)에서 지정해 준다. wiki.pl 쪽에도 모든 환경설정 변수의 목록이 있으나, 이것은 디폴트 값을 지정하는 곳이므로 자신의 상황에 맞는 수정은 설정 파일 쪽에서 해 주는 게 좋다.

config.pl 설정

아래의 설명 중 일부는 UseModKr:파일보기/환경파일의 내용을 그대로 사용했음. (존댓말로 되어 있는 내용들이 가져 온 부분)

$DataDir      = "data";          # Main wiki directory
DataDir(1) : 위키 데이타가 지정되는 경로. 이 디렉토리 안에 위키 페이지 데이타와 각종 메타 정보가 들어간다. 기본값은 wiki.pl이 설치된 디렉토리 안의 data 디렉토리.

위에서 가정한 구성이라면 "/home/gildong/wikidata"로 지정하면된다.

$UrlPrefix = "http:/cgi-bin/utf";  # URL prefix for other variables ($...Url)
                                   # like "http:/wiki","http://mydomain.com/wiki",etc.
UrlPrefix(2) - 위키 페이지를 출력할 때, 관련 파일들의 URL 앞에 공통으로 붙는 값. 다른 환경설정 변수에서 이 값을 사용한다.

이게 사실 사람을 귀찮게 한다. 다른 건 그냥 두더라도 이 값은 - 거의 모든 경우에 - 고쳐 주어야 할 것이다.

이 prefix를 사용하는 다른 변수들의 목록은 다음과 같다. 변수 이름 제일 마지막이 "Url"로 끝난다. 예를 들어 UseModWiki스타일쉬트의 경우, wiki.pl과 같은 디렉토리 (/home/gildong/public_html/cgi-bin/wiki/)에 있는 wiki.css를 사용하는 게 기본값이다. 자바스크립트 함수들이 들어 있는 wikiscript.js의 경우도 마찬가지. 따라서 UrlPrefix 값은 다음과 같이 알아 낼 수 있다.
웹 브라우저 입장에서,
스타일 쉬트:  http://서버.주소/~gildong/cgi-bin/wiki/wiki.css
자바스크립트: http://서버.주소/~gildong/cgi-bin/wiki/wikiscript.js
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
            이 부분이 공통으로 들어가는 부분이므로
$UrlPrefix = "http://서버.주소/~gildong/cgi-bin/wiki";
위와 같이 각 변수들에 공통으로 들어갈 부분을 UrlPrefix에 적어준다1.

저렇게 길게 쓰지 않을 수도 있긴 한데, 브라우저에 따라서 처리를 못하는 경우가 생긴다.
서버 주소를 생략한 경우
$UrlPrefix = "http:/~gildong/cgi-bin/wiki";
$UrlPrefix = "http:/cgi-bin/wiki";           (자기가 도메인을 따로 구입해서 운영하는 경우)
이 두 경우는 사파리 브라우저가 인식하지 못한다.

http: 부분까지 생략한 경우
$UrlPrefix = "/~gildong/cgi-bin/wiki";
이 경우는 다른 건 문제가 아닌데, 업로드한 이미지를 화면에 바로 보여주지 못하게 된다. 이 경우에는 UploadUrl 변수 쪽에다가 http: 를 붙여 줄 것
$UploadUrl = "http://서버.주소/$UrlPrefix/upload";

CGI-WRAP이 설정된 서버의 경우

이 경우는 좋으나 싫으나 스타일쉬트, 자바스크립트, 각종 아이콘, 오에카키 자바 파일 등을 cgi-bin/ 디렉토리 바깥쪽으로 빼 내어야 하므로, 옮긴 디렉토리에 알맞게 UrlPrefix의 값을 지정해 주어야 할 것이다.


$CookieName   = "Wiki";          # Name for this wiki (for multi-wiki sites)
CookieName(10) - 쿠키에서 기억하는 바로 이 위키의 이름. 바꾸지 않아도 상관없습니다.


$SiteName     = "Wiki";          # Name of site (used for titles)
SiteName(11) - 웹브라우저 타이틀에 들어가는 제목입니다. html에서는 < title >, < /title >에 해당하며 북마킹할 때 저장되는 이름이기도 합니다.


$HomePage     = "HomePage";      # Home page (change space to _)
HomePage(12) - 위키의 시작페이지 이름. 만일 페이지 이름에 공백이 들어가 있다면 "시작_페이지"와 같이 "_"를 붙일 것.

이 페이지가 위키 출력 상단 메뉴바의 제일 왼쪽에 나온다.

또한 브라우저 주소창에 ".../wiki.pl"이라고만 입력한 경우에 이 페이지가 나온다. 단, LogoPage(13)값이 없는 경우에만 그렇다.


$RCName       = "RecentChanges"; # Name of changes page (change space to _)
RCName(14) - 최근 변경 내역을 출력하는 페이지 이름. 이 경우 RecentChanges 페이지나, 그걸 번역한 최근변경내역 페이지를 볼 때는 변경 내역이 페이지 내용 아래에 이어서 출력된다.


$LogoUrl      = "";              # URL for site logo ("" for no logo)
LogoUrl(15) - 화면 상단 우측에 출력되는 이미지 파일의 URL. 기본값은 ""이고, 이 경우는 출력되지 않는다.

예: "http://서버.주소/~gildong/logo.jpg"


$ENV{PATH}    = "/bin:/usr/bin/:/usr/local/bin/";     # Path used to find "diff"
ENV{PATH}(16) - 페이지의 변경 사항을 출력할 때 사용되는 diff 프로그램이 있는 경로. 웬만하면 저 값이면 될 것임


$ScriptTZ     = "";              # Local time zone ("" means do not print)
ScriptTZ(17) - 타임존 설정. 예를 들어 서버의 시계가 그리니치 표준시에 맞춰져 있고 내 홈페이지는 한국에 있는 사람들을 기준으로 운영한다면 "9"가 될 것이다.


$RcDefault    = 30;              # Default number of RecentChanges days
RcDefault(18) - 위는 RecentChanges에 30일동안의 내역이 보이도록 설정이 되어 있습니다.


@RcDays       = qw(1 3 7 30 90); # Days for links on RecentChanges
RcDays(19) - 최근 변경 내역을 출력할 때, "1일전" "3일전" "7일전" "30일전" "90일전" 으로 선택할 수 있게 한다.


$KeepDays     = 14;              # Days to keep old revisions
KeepDays(20) - 이전 수정 내역을 보관할 날수, 백업은 계정을 차지 하기 때문에 적당하게 조정하세요.


$SiteBase     = "";              # Full URL for <BASE> header
SiteBase(21) - html에서의 BASE 태그를 위한 URL 설정


$FullUrl      = "";              # Set if the auto-detected URL is wrong
FullUrl(22) - 위키 주소의 전체 경로

이 변수의 값은, 페이지 내에서 다른 페이지 이름을 적어 주었을 때 자동으로 생성되는 링크 등에 사용되는 값이다. ""인 경우에는 자동으로 wiki.pl의 경로를 찾아서 상대 경로로 표시해 주는데, 만일 홈페이지주소간단히하기와 같이 실제 wiki.pl이 있는 경로와 브라우저 쪽에서 사용했으면 싶은 경로가 다른 경우에는 지정해준다.

이 페이지에서 가정한 구성에서라면 (이런 경우는 지정해주지 않아도 상관없지만) "http://서버.주소/~gildong/cgi-bin/wiki.pl"로 지정해 주면 될 것이다.


$RedirType    = 1;               # 1  = CGI.pm, 2  = script, 3  = no redirect
RedirType(23) - 그냥 디폴트로 둡니다. 프로그램밍을 잘 알면 변수를 조정해도 됩니다.


$AdminPass    = "admin";         # Set to non-blank to enable password(s)
$EditPass     = "edit";          # Like AdminPass, but for editing only
AdminPass(24), EditPass(25) - 로그인한 사용자가, 환경 설정에서 자신의 관리자 암호를 위의 값으로 입력하면 관리자/편집자 권한을 얻게 된다.

EditAllowed(26)의 값이 0인 경우에는 편집자 권한 또는 관리자 권한이 있어야만 페이지 수정이 가능하다. 단, EditPass의 값을 "LOGIN"이라고 지정할 경우에는, 로그인한 사용자는 (관리자 암호를 넣지 않았더라도) 페이지를 편집할 수 있다.


$StyleSheetUrl= "$UrlPrefix/wiki.css";      # URL for CSS stylesheet (like "/wiki.css")
StyleSheetUrl(27) - 스타일쉬트 파일의 경로.

UrlPrefix(28)의 값을 정확하게 주었으면 여기서는 건드리지 않아도 그 값 뒤에 "/wiki.css"가 붙은 형태가 된다.


$NotFoundPg   = "";              # Page for not-found links ("" for blank pg)
NotFoundPg(29) - 브라우저 URL에 존재하지 않는 페이지 이름을 넣었을 때, 이 NotFoundPg에 지정된 페이지가 대신 나온다. 기본값인 ""으로 두는 것이 더 나을 듯


$EmailFrom    = "Wiki";          # Text for "From: " field of email notes.
$SendMail     = "/usr/sbin/sendmail";  # Full path to sendmail executable
페이지가 수정되었을 때, 이메일로 알려주는 기능을 켰을 때 사용되는 변수. EmailNotify(30)변수가 1일때만 해당2.


$FooterNote   = "";              # HTML for bottom of every page
FooterNote(33) - 페이지 하단에 나타나게 할 내용. html 태그를 포함한 텍스트를 적는다.


$EditNote     = "";              # HTML notice above buttons on edit page
EditNote(34) - 페이지 편집 화면에서, "저장" 버튼 바로 위에 표시될 내용


$MaxPost      = 1024 * 1024 * 3; # Maximum 3MB posts (file upload limit)
MaxPost(35) - 웹 페이지를 저장할 때 업로드할 수 있는 최대 크기. 단위는 Byte. 따라서 기본값은 3MB이다.

화일업로드 기능이 없던 당시에는 한 페이지의 최대 크기를 지정하는 용도였고, 기본값도 210KB였으나, 업로드 기능이 추가되면서 값을 늘렸음.


$NewText      = "";              # New page text ("" for default message)
NewText(36) - 존재하지 않는 페이지를 출력하는 경우 또는 새 페이지를 만들 때 편집창에 표시되는 내용. 안 쓰면 기본 문구인 "Describe the new page here" 또는 "페이지의 내용을 작성하세요"라고 뜬다.

새 페이지를 만들때 기본으로 채워지는 내용은 TemplatePage(37) 옵션을 사용하면 더 편하다.


$HttpCharset  = "UTF-8";         # Charset for pages, like "iso-8859-2"
HttpCharset(38) - 웹페이지의 인코딩을 뭘로 할 지 캐릭터셋을 지정한다. 기본값인 "UTF-8"을 쓰거나, 한국어 사이트라면 "EUC-KR"을 쓸 수도 있을 것이다.

EUC-KR을 사용할 경우는 아래 번역파일(39)도 바꿔 줄 것.


$UserGotoBar  = "";              # HTML added to end of goto bar
$UserGotoBar2 = "";
$UserGotoBar3 = "";
$UserGotoBar4 = "";
UserGotoBar(40) - 메뉴바 맨 오른쪽에 추가로 링크를 넣을 경우에 사용한다.

스폰서라거나, 자기 홈의 위키가 아닌 다른 게시판 등 별도의 외부 링크를 넣어줄 수 있다. html을 그대로 적어주면 된다.
예:
$UserGotoBar  = "<a href='http://www.usemod.org'>UseModWiki</a>";

UserGotoBar2~4 도 마찬가지인데, 메뉴바의 "최근변경내역"링크와 "환경설정"링크 사이에 표시된다.


### Translation
do "./translations/ko_KR.UTF-8.pl";     # korean, UTF-8 encoding
# do "./translations/ko_KR.EUC-KR.pl";    # korean, EUC-KR encoding
번역파일(41) - 각종 메뉴나 메시지들을 한국어로 출력한다. 영어로 출력하게 하고 싶다면 위 줄의 앞에 "#" 을 붙여서 주석문으로 만들것. 다른 언어로 출력하게 하고 싶다면 해당 번역 화일을 usemod 홈페이지에서 다운받은 후 위의 값을 변경

한국어 번역의 경우, HttpCharset(42)의 값이 "UTF-8"이냐 "EUC-KR"이냐에 따라서 번역 파일도 각각의 인코딩에 맞춰 다른 걸로 골라줘야 한다.


### 인자 없이 wiki.pl 을 부르면 $LogoPage 를 embed 형식으로 출력
$LogoPage     = "";                             # this page will be displayed when no parameter

LogoPage(43) - 이 변수에 페이지 이름을 넣어 주면, 브라우저 주소창에 ".../wiki.pl"이라고만 입력한 경우에 이 페이지가 출력된다. 이 때 EmbedWiki(44) 옵션을 켠 것 처럼, 상단 메뉴바나 하단 편집 가이드 등을 표시하지 않는다. LogoPage의 값이 ""이라면 HomePage(45) 변수에 지정된 페이지를 평범하게 출력한다.

"대문" 등의 용도로 쓸 수 있음


### 페이지 처리 시간 출력
$CheckTime    = 0;                              # 1 = mesure the page-processing time (requires Time::HiRes module), 0 = do not
CheckTime(46) - 1로 할 경우, 페이지 하단에 해당 페이지를 표시하기 위해 걸린 시간이 출력된다.

Cpan:Time::HiRes 모듈이 설치되어 있어야 한다.


### 아이콘 디렉토리 URL
$IconUrl      = "$UrlPrefix/icons/";          # URL for directory containing icon files
### interwiki 아이콘 디렉토리 URL
$InterIconUrl = "$UrlPrefix/icons-inter/";    # URL for directory containing interwiki icons files
### 이모티콘 디렉토리 URL
$EmoticonUrl  = "$UrlPrefix/emoticon/";  # URL for directory containing emoticon files
IconUrl(47), InterIconUrl(48), EmoticonUrl(49) - 아이콘, 인터위키 아이콘, 이모티콘 등의 그림 파일들이 들어가 있는 경로

UrlPrefix(50)를 적절하게 지정했다면 여기서는 따로 고칠 필요 없을 것이다.

EmoticonUrl은, UseEmoticon(51)이 1일때만 의미가 있다.

### 업로드한 파일이 저장되는 디렉토리 경로와, 브라우저 출력에 사용되는 URL
$UploadDir    = "./upload";                     # directory containing uploaded files
$UploadUrl    = "$UrlPrefix/upload";     # URL for the directory containing uploaded files
                                                #  if $UploadUrl = "", it has the same value as $UploadDir
UploadDir(52), UploadUrl(53) - 화일업로드와 관련된 항목

주의할 것은, UploadDir은 wiki.pl 입장에서 업로드된 파일을 저장할 디렉토리를 의미하고, UploadUrl은 웹 브라우저 입장에서 그 파일에 접근하기 위한 URL을 의미한다.

기본값은 wiki.pl이 설치된 디렉토리 아래 upload 디렉토리가 있는 것으로 구성한 상태이다.

이 페이지에서 가정한 구성대로라면 아래와 같이 적어줘야 할 것이다.
$UploadDir = "/home/gildong/public_html/upload";
     # "그림.jpg" 파일을 업로드하면 이 디렉토리에 저장된다.
$UploadUrl = "http://서버.주소/~gildong/upload";
     # 웹 브라우저 입장에서는 "http://서버.주소/~gildong/upload/그림.jpg" 가 그 파일의 경로


### 템플릿 페이지
$TemplatePage = "TemplatePage";                 # name of template page for creating new page
TemplatePage(54) - 특정한 페이지 이름을 값으로 주면, 새 페이지를 만들 때 편집창에 그 페이지의 소스가 복사되어 표시된다. 위의 NewText(55) 설정보다 우선권이 높다.

자세한 사용법은 UseModWiki소스수정/Template 참조


### java script 함수
$JavaScriptUrl= "$UrlPrefix/wikiscript.js";   # URL for JavaScript code (like "/wikiscript.js")
### Oekaki용 .jar 파일
$OekakiJarUrl = "$UrlPrefix/oekakibbs.jar";   # URL for oekaki .jar file
JavaScriptUrl(56), OekakiJarUrl(57) - 각각 wikiscript.js 파일과, oekakibbs.jar 파일의 경로를 지정한다.

UrlPrefix(58)를 적절하게 지정했다면 여기서는 따로 고칠 필요 없을 것이다.


### for {{{lang }}} block
$SOURCEHIGHLIGHT = "/usr/local/bin/source-highlight";    # Path of "source-highlight" binary
@SRCHIGHLANG     = qw(
        bib bison caml changelog cpp csharp diff flex fortran html java javascript
        langdef latex logtalk lua nohilite outlang pascal perl php postscript
        prolog python ruby sh sml sql style syslog tcl xml
    );                                                  # Supported languages
사용자입력을그대로출력하기에서, {{{언어 ... }}} 형태의 블록을 처리하는 데 필요한 옵션이다.

기본값은 [GNU source-highlight] 2.5 기준


### for "#EXTERN " directive
$EditGuideInExtern = 0;    # 1 = show edit guide in bottom frame, 0 = don't show
$SizeTopFrame      = 160;  # Height of top frame
$SizeBottomFrame   = 150;  # Height of bottom frame
페이지 첫 줄에 "#EXTERN 외부URL"이 적혀 있는 경우의 처리와 관련된 옵션

해보면 알겠지만, 어지간한 모니터에서는 하단 프레임까지 나오면 정작 중단 프레임이 너무 좁아서 불편하다. 그냥 0으로 두는 것을 권장


### rss from usemod 1.0
$InterWikiMoniker = '';         # InterWiki moniker for this wiki. (for RSS)
$SiteDescription  = $SiteName;  # Description of this wiki. (for RSS)
$RssLogoUrl       = '';         # Optional image for RSS feed
$RssDays          = 7;          # Default number of days in RSS feed
$RssTimeZone      = 9;          # Time Zone of Server (hour), 0 for GMT, 9 for Korea
RSS 출력에 관련된 옵션.


### 스크립트 뒤에 / or ? 선택 from usemod1.0
$SlashLinks   = 1;      # 1 = use script/action links, 0 = script?action
SlashLinks(70) - wiki.pl 뒤에 붙는 구분자를 선택

사실 입맛대로 선택...할 수 있으면 좋겠지만, "?"를 사용할 경우 UTF-8로 된 웹페이지에서 위키를 링크했을때, 인터넷 익스플로러에서는 버그 때문에 그 링크를 클릭하면 페이지 이름이 잘못 전송된다. (유니코드논의/파일명인코딩 참고) 따라서 이 변수의 값을 1로 두는 게 낫다. 특히나 UTF-8로 위키를 운영할 경우는 반드시 1이어야 함. (0이면, 위키 내에서 다른 페이지를 링크하는 것조차 IE에서는 제대로 따라갈 수 없다)


### trackback 보내기
$SendPingAllowed = 0;   # 0 - anyone, 1 - who can edit, 2 - who is admin
SendPingAllowed(71) - 위키 페이지의 TrackBack을 다른 사이트로 보낼 수 있는 권한 지정


### LaTeX 변환 지원
$UseLatex    = 0;       # 1 = Use LaTeX conversion   2 = Don't convert
UseLatex(72) - 1이면 LaTeX을 사용할 수 있다. 물론 서버에 설치되어 있어야 하며, 관련 프로그램들의 경로가 ENV{PATH}(73)에 지정되어 있어야 한다. UseModWiki소스수정/LaTeX 참고


### 사용자 정의 헤더
$UserHeader  = '';      # Optional HTML header additional content
UserHeader(74) - html출력의 <head> ~ </head> 사이에 추가로 출력될 헤더가 있으면 적어준다.

예:
$UserHeader  = <<EOF;               <-- 여러 줄을 출력하고 싶으면 여기를 이렇게 쓰면,
<link rel="stylesheet" media="print" href="/cgi-bin/wiki/wiki_print.css">
EOF                                 <-- 이 줄 바로 위까지가 다 UserHeader의 값이 된다.


### 존재하지 않는 페이지 표시 방식
$EditNameLink = 1;      # 1 = edit links use name (CSS), 0 = '?' links

EditNameLink(75) - 존재하지 않는 페이지의 링크가 있을때,

좋을 대로 하면 되는데, 물음표가 표시될 경우는 종이에 인쇄하거나 copy&paste할 때 불편하다.


### 방문자 브라우저의 주소창의 인코딩 추측 (utf-8 은 쓰지 말 것)
### The encoding of URL request from visitor's browser may be one of these:
### ex: ('euc-jp', 'shiftjis', '7bit-jis')
### caution: Don't write 'utf-8'. It is included implicitly.
@UrlEncodingGuess = ('euc-kr');

UrlEncodingGuess(76) - 방문자가 자신의 브라우저 주소창에 "...wiki.pl/페이지이름"을 입력하고 엔터를 쳤을때, 그 주소는 UTF-8로 인코딩되어서 서버로 전송될 수도 있고, 다른 인코딩일 수도 있다. "다른 인코딩"일 경우에는 wiki.pl이 그걸 UTF-8로 변환해서 처리하는데, 이 때 "다른 인코딩"이 과연 무엇인지를 추측해야 한다. UrlEncodingGuess 에는 "다른 인코딩"이 무엇일지 추측할 후보들의 목록을 나열해준다.

한국어로 운영되는 위키라면 방문자는 거의 대부분 한글 윈도우즈를 쓰는 한국어 사용자일 테고, 이 경우 URL은 EUC-KR아니면 UTF-8이므로, 기본값인 'euc-kr'만 적어주면 된다.

주의사항: "utf-8"을 따로 적어주지 말 것. utf-8은 wiki.pl에서 디폴트로 검사를 하기 때문에 필요없을 뿐더러, 정작 적혀 있으면 오동작할 것이다.


$UseEmoticon    = 1;        # 1 = use emoticon, 0 = not use
UseEmoticon(77) - 이모티콘 사용 여부, 1이면 사용.


$ClickEdit      = 1;        # 1 = edit page by double click on page, 0 = no use
ClickEdit(78) - 1이면, 마우스로 브라우저를 더블 클릭하면 페이지 편집 화면으로 이동


$EditPagePos    = 1;        # 1 = bottom, 2 = top, 3 = top & bottom
EditPagePos(79) - 페이지 편집 가이드가 출력되는 위치를 하단, 상단, 상하단 으로 지정


$NamedAnchors   = 1;        # 0 = no anchors, 1 = enable anchors, 2 = enable but suppress display
NamedAnchors(80) - [#이름] 형식으로 페이지 내에 앵커 삽입 가능


$UseSubpage  = 1;       # 1 = use subpages,       0 = do not use subpages
UseSubpage(81) - 하위페이지 사용여부. 1이면 쓴다, 0이면 안 쓴다.


$UseCache    = 0;       # 1 = cache HTML pages,   0 = generate every page
UseCache(82) - 페이지를 열 때마다 마크업된 출력을 새로 만들지 결정. 1이면 캐쉬 파일로 저장해서 재사용하고 0이면 안 쓴다.

1로 하면 페이지를 매번 마크업하지 않으므로 좀 빨라지긴 하는데, 매크로가 들어간 페이지들은 출력할때마다 내용이 바뀌어야 하는데 캐쉬에 있는 기존 내용이 출력되는 문제가 있다.


$EditAllowed = 1;       # 1 = editing allowed,    0 = read-only

EditAllowed(83) - 편집권한 설정, 1 = 누구나 편집, 0 = 관리자 또는 편집자만 편집 가능.

1인 경우는 AdminPass(84) 또는 EditPass(85)가 방문자의 관리자암호와 일치해야 한다.


$RawHtml     = 1;       # 1 = allow <HTML> tag,   0 = no raw HTML in pages

RawHtml(86) - <html> </html> 태그 사용 여부, 1 = 가능 0 = 불가능


$HtmlTags    = 1;       # 1 = "unsafe" HTML tags, 0 = only minimal tags

HtmlTags(87) - 1이면 아래 HTMLPairs(88)에 지정된 태그들을 쓸 수 있다. 0이면 최소한의 태그만 허용된다.


$UseDiff     = 1;       # 1 = use diff features,  0 = do not use diff

UseDiff(89) - Diff 명령 사용여부. 1 = 사용, 0= 사용하지 않음


$FreeLinks   = 1;       # 1 = use [[word]] links, 0 = LinkPattern only
$WikiLinks   = 1;       # 1 = use LinkPattern,    0 = use [[word]] only
다른 페이지 링크를 나타내는 방식 따라서... 둘 다 0이면 다른 페이지 링크를 걸 방법이 없다. 한글 이름 페이지는 대괄호쌍을 써야만 하니 FreeLinks는 1이어야만 하고, 위키네임 자동 링크를 허용하고 싶으면 WikiLinks를 1로, 그렇지 않으면 0으로 맞추면 된다.


$AdminDelete = 1;       # 1 = Admin only page,    0 = Editor can delete pages

AdminDelete(92) - 1이면 관리자만, 0이면 편집자도 문서를 지울 수 있다.


$RunCGI      = 1;       # 1 = Run script as CGI,  0 = Load but do not run
RunCGI(93) - 0이면, wiki.pl은 읽히기만 하고 실행은 되지 않는다.

0인 경우에 wiki.pl이 로드되고, ConfigFile까지는 읽은 후에, 1을 반환하면서 종료한다. 이것은 다른 펄 프로그램이 wiki.pl의 함수를 사용하기 위해서 do "wiki.pl"과 같이 로드를 하는 경우에 유용하다. 홈페이지에 사용하는 CGI라면 1로 지정되어 있어야 한다.


$EmailNotify = 0;       # 1 = use email notices,  0 = no email on changes
EmailNotify(94) - 1이면 편지로 수정 내용을 알려주고, 0이면 그런 거 없다. (메일링 리스트 기능)


$EmbedWiki   = 0;       # 1 = no headers/footers, 0 = normal wiki pages
EmbedWiki(95) - 1이면 상단 메뉴바 부분과 하단 편집 가이드를 출력하지 않고 페이지 본문만 출력한다.


나머지 옵션들은 딱히 건드리지 않아도 될 것들이다. 주인장도 정확한 의미를 모르는 옵션들도 있다. 간단히 설명하면:

# Minor options:
$LogoLeft    = 0;       # 1 = logo on left,       0 = logo on right
# 로고 그림의 위치, 1이면 왼쪽, 0이면 오른쪽.

$RecentTop   = 1;       # 1 = recent on top,      0 = recent on bottom
# 최근 변경 내역 화면에서
# 1 = 새글이 위쪽에서 아래로 보임, 0 = 새글이 아래쪽에 보임

$UseDiffLog  = 0;       # 1 = save diffs to log,  0 = do not save diffs
# 1이면 diff출력이 생길 때마다 그 내용을 diff_log라는 파일에 저장하고, 0이면 저장 안함.

$KeepMajor   = 1;       # 1 = keep major rev,     0 = expire all revisions

$KeepAuthor  = 1;       # 1 = keep author rev,    0 = expire all revisions

$ShowEdits   = 0;       # 1 = show minor edits,   0 = hide edits by default
# 1이면 minor edit라고 한 것까지 다 보여준다.

$HtmlLinks   = 1;       # 1 = allow A HREF links, 0 = no raw HTML links
# A HREF 태그 허용 여부. 1이면 되고, 0이면 안 된다.

$ThinLine    = 1;       # 1 = fancy <hr> tags,    0 = classic wiki <hr>
# 1이면 가로줄을 그릴 때 "-"의 갯수에 따라 굵기 조절 가능

$BracketText = 1;       # 1 = allow [URL text],   0 = no link descriptions
# URL에 괄호로 설명달기 허용여부. 1이어야 설명을 달 수 있다.

$UseAmPm     = 1;       # 1 = use am/pm in times, 0 = use 24-hour times
# 1이면 12시간제, 0이면 24시간제.

$UseIndex    = 0;       # 1 = use index file,     0 = slow/reliable method
# 인덱스 파일을 사용할지 여부. 1이면 쓰고(빠르다), 0이면 안 쓴다(안정적이다).

$NetworkFile = 1;       # 1 = allow remote file:, 0 = no file:// links
# file://를 URL로 허용할지 여부. 1이면 허용

$BracketWiki = 1;       # 1 = [WikiLnk txt] link, 0 = no local descriptions
# 위키네임으로 된 링크에 괄호로 설명달기. 1이면 허용.

$UseLookup   = 0;       # 1 = lookup host names,  0 = skip lookup (IP only)
# 최근변경내역이나 페이지 히스토리 등에서,
# 0 = IP주소만, 1 = 호스트 이름까지 표시
# 서버에 따라서 이 값을 1로 하면 페이지를 저장할 때 시간이 오래 걸리는 경우가 있다.

$FreeUpper   = 0;       # 1 = force upper case,   0 = do not force case
# 링크 패턴에서 첫 글자를 대문자로 강제할지 여부. 1이면 반드시 대문자여야 한다.

$FastGlob    = 1;       # 1 = new faster code,    0 = old compatible code
# 페이지 목록을 사용하는 데 쓰이는 것 같지만 정확한 효과는 모르겠음

# HTML tag lists, enabled if $HtmlTags is set.
# Scripting is currently possible with these tags,
# so they are *not* particularly "safe".
# HTML 태그 허용으로 설정했을 때, 허용할 태그를 정한다.
# Tags that must be in <tag> ... </tag> pairs:
# 여는 태그와 닫는 태그가 있어야 하는 태그들
@HtmlPairs = qw(b i u font big small sub sup h1 h2 h3 h4 h5 h6 cite code
  em s strike strong tt var div center blockquote ol ul dl table caption span);
# Single tags (that do not require a closing /tag)
# 태그 하나만으로 충분한 태그들.
@HtmlSingle = qw(br p hr li dt dd tr td th);
@HtmlPairs = (@HtmlPairs, @HtmlSingle);  # All singles can also be pairs

# == You should not have to change anything below this line. =============
$IndentLimit = 20;                  # Maximum depth of nested lists
$PageDir     = "$DataDir/page";     # Stores page data
$HtmlDir     = "$DataDir/html";     # Stores HTML versions
$UserDir     = "$DataDir/user";     # Stores user data
$KeepDir     = "$DataDir/keep";     # Stores kept (old) page data
$TempDir     = "$DataDir/temp";     # Temporary files and locks
$LockDir     = "$TempDir/lock";     # DB is locked if this exists
$InterFile   = "intermap";          # Interwiki site->url map
$RcFile      = "$DataDir/rclog";    # New RecentChanges logfile
$RcOldFile   = "$DataDir/oldrclog"; # Old RecentChanges logfile
$IndexFile   = "$DataDir/pageidx";  # List of all pages
$LinkDir     = "$DataDir/link";    # by gypark. Stores the links of each page
$CountDir    = "$DataDir/count";    # by gypark. Stores view-counts
$HiddenPageFile = "$DataDir/hidden";  # hidden pages list file

# == End of Configuration =================================================

wiki.css 설정

위키소스를 직접 고치지 않는 이상은, 동일한 위키소스를 쓰는 홈페이지들끼리 구별되는 것은 (컨텐트 같은 내용적인것 말고 외양에서) 스타일쉬트 뿐이다. 색상, 글꼴, 정렬 등을 적절히 설정해 준다.

UseModWiki스타일쉬트를 참조


관련 링크:


주인장분류 위키위키분류
각주:
1. 스타일쉬트의 주소를 그냥 상대경로를 사용해서 "./wiki.css"라고 쓰면 되지 않겠는가...라고 할 수 있겠는데, UseModWiki소스수정/SlashLinks를 사용하는 경우에 페이지가 하위페이지냐 아니냐에 따라서 슬래쉬 갯수가 달라지는 바람에 저 상대경로의 해석도 달라진다. 그렇다고 슬래쉬 대신 물음표를 사용하려면.. 이번에는 인터넷 익스플로러 버그 때문에 UTF-8로 된 페이지 이름이 제대로 처리되지 않는다. OTL 그러니 모든 브라우저를 다 만족시키려면 결국 서버 주소를 포함하여 전체 URL을 써 주는 것이 최선
2. 주인장도 이 기능을 써 본 적이 없어서 더 할 말 없음
찾아보기:
AdminDelete   92AdminPass   24, 84CheckTime   46ClickEdit   78
CookieName   10DataDir   1EditAllowed   26, 83EditGuideInExtern   61
EditNameLink   75EditNote   34EditPagePos   79EditPass   25, 85
EmailFrom   31EmailNotify   30, 94EmbedWiki   44, 95EmoticonUrl   6, 49
ENV{PATH}   16, 73FooterNote   33FreeLinks   90FullUrl   22
HomePage   12, 45HTMLPairs   88HtmlTags   87HttpCharset   38, 42
IconUrl   4, 47InterIconUrl   5, 48InterWikiMoniker   64JavaScriptUrl   8, 56
KeepDays   20LogoPage   13, 43LogoUrl   15MaxPost   35
NamedAnchors   80NewText   36, 55NotFoundPg   29OekakiJarUrl   9, 57
RawHtml   86RcDays   19RcDefault   18RCName   14
RedirType   23RssDays   67RssLogoUrl   66RssTimeZone   68
RunCGI   93ScriptTZ   17, 69SendMail   32SendPingAllowed   71
SiteBase   21SiteDescription   65SiteName   11SizeBottomFrame   63
SizeTopFrame   62SlashLinks   70SOURCEHIGHLIGHT   59SRCHIGHLANG   60
StyleSheetUrl   3, 27TemplatePage   37, 54UploadDir   52UploadUrl   7, 53
UrlEncodingGuess   76UrlPrefix   2, 28, 50, 58UseCache   82UseDiff   89
UseEmoticon   51, 77UseLatex   72UserGotoBar   40UserHeader   74
UseSubpage   81WikiLinks   91번역파일   39, 41 

마지막 편집일: 2024-4-29 10:14 am (변경사항 [d])
4360 hits | Permalink | 변경내역 보기 [h] | 페이지 소스 보기