-1,48 +1,707 |
UseModWiki 한글패치버전을 다운받아 설치한 후에, 기본적인 설정을 하는 방법 |
= UseModWiki Ext 버전 환경 설정 = |
(여기서 말하는 환경 설정은, 홈페이지 운영자 입장에서 위키의 전반적인 동작이나 사용자 환경 설정의 기본값 등을 지정하는 것을 말한다. 개별 사용자의 경우 로그인한 후에 환경설정에 들어가서 자신의 환경을 별도로 설정할 수 있다. [[UseModWiki환경설정]] 참조) |
|
wiki.pl 화일과 config.pl 화일 두 곳에서 동일한 내용의 설정항목들이 있다. wiki.pl 쪽의 환경설정을 사용할 수도 있고, config.pl 쪽의 설정을 사용할 수도 있는데, 차후에 wiki.pl 이 업그레이드될 것을 대비하여 config.pl 을 사용하는 것이 바람직하다. |
[[/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은 굳이 수정할 필요가 없지만, 자기가 테스트 등의 목적으로 환경설정 파일을 여러 개를 사용한다거나 할 때는, 환경설정 파일의 이름을 지정해 주어야 한다. |
{{{#!vim perl |
$ConfigFile = "./myconfig.pl"; # config 화일의 경로 |
}}} |
|
이 외의 나머지 환경설정 변수의 값은 저기 지정된 설정파일(위의 경우 myconfig.pl)에서 지정해 준다. wiki.pl 쪽에도 모든 환경설정 변수의 목록이 있으나, 이것은 디폴트 값을 지정하는 곳이므로 자신의 상황에 맞는 수정은 설정 파일 쪽에서 해 주는 게 좋다. |
== config.pl 설정 == |
아래의 설명 중 일부는 UseModKr:파일보기/환경파일""의 내용을 그대로 사용했음. (존댓말로 되어 있는 내용들이 가져 온 부분) |
---- |
|
{{{ |
$DataDir = "data"; # Main wiki directory |
}}} |
<index(DataDir)> : 위키 데이타가 지정되는 경로. 이 디렉토리 안에 위키 페이지 데이타와 각종 메타 정보가 들어간다. 기본값은 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. |
}}} |
<ix(UrlPrefix)> - 위키 페이지를 출력할 때, 관련 파일들의 URL 앞에 공통으로 붙는 값. 다른 환경설정 변수에서 이 값을 사용한다. |
|
이게 사실 사람을 귀찮게 한다. 다른 건 그냥 두더라도 이 값은 - 거의 모든 경우에 - 고쳐 주어야 할 것이다. |
|
이 prefix를 사용하는 다른 변수들의 목록은 다음과 같다. 변수 이름 제일 마지막이 "Url"로 끝난다. |
* <ix(StyleSheetUrl)> |
* <ix(IconUrl)> |
* <ix(InterIconUrl)> |
* <ix(EmoticonUrl)> |
* <ix(UploadUrl)> |
* <ix(JavaScriptUrl)> |
* <ix(OekakiJarUrl)> |
예를 들어 [[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에 적어준다<footnote(스타일쉬트의 주소를 그냥 상대경로를 사용해서 "./wiki.css"라고 쓰면 되지 않겠는가...라고 할 수 있겠는데, [[UseModWiki소스수정/SlashLinks]]를 사용하는 경우에 페이지가 [[하위페이지]]냐 아니냐에 따라서 슬래쉬 갯수가 달라지는 바람에 저 상대경로의 해석도 달라진다. 그렇다고 슬래쉬 대신 물음표를 사용하려면.. 이번에는 인터넷 익스플로러 버그 때문에 UTF-8로 된 페이지 이름이 제대로 처리되지 않는다. OTL 그러니 모든 브라우저를 다 만족시키려면 결국 서버 주소를 포함하여 전체 URL을 써 주는 것이 최선)>. |
|
저렇게 길게 쓰지 않을 수도 있긴 한데, 브라우저에 따라서 처리를 못하는 경우가 생긴다. |
{{{ |
서버 주소를 생략한 경우 |
$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) |
}}} |
<ix(CookieName)> - 쿠키에서 기억하는 바로 이 위키의 이름. 바꾸지 않아도 상관없습니다. |
|
---- |
|
{{{ |
$SiteName = "Wiki"; # Name of site (used for titles) |
}}} |
<ix(SiteName)> - 웹브라우저 타이틀에 들어가는 제목입니다. html에서는 < title >, < /title >에 해당하며 북마킹할 때 저장되는 이름이기도 합니다. |
|
---- |
|
{{{ |
$HomePage = "HomePage"; # Home page (change space to _) |
}}} |
<ix(HomePage)> - 위키의 시작페이지 이름. 만일 페이지 이름에 공백이 들어가 있다면 "시작_페이지"와 같이 "_"를 붙일 것. |
|
이 페이지가 위키 출력 상단 메뉴바의 제일 왼쪽에 나온다. |
|
또한 브라우저 주소창에 ".../wiki.pl"이라고만 입력한 경우에 이 페이지가 나온다. 단, <ix(LogoPage)>값이 없는 경우에만 그렇다. |
|
---- |
|
{{{ |
$RCName = "RecentChanges"; # Name of changes page (change space to _) |
}}} |
<ix(RCName)> - 최근 변경 내역을 출력하는 페이지 이름. 이 경우 RecentChanges 페이지나, 그걸 번역한 [[최근변경내역]] 페이지를 볼 때는 변경 내역이 페이지 내용 아래에 이어서 출력된다. |
|
---- |
|
{{{ |
$LogoUrl = ""; # URL for site logo ("" for no logo) |
}}} |
<ix(LogoUrl)> - 화면 상단 우측에 출력되는 이미지 파일의 URL. 기본값은 ""이고, 이 경우는 출력되지 않는다. |
|
예: <nowiki>"http://서버.주소/~gildong/logo.jpg"</nowiki> |
|
---- |
|
{{{ |
$ENV{PATH} = "/bin:/usr/bin/:/usr/local/bin/"; # Path used to find "diff" |
}}} |
<ix(ENV{PATH})> - 페이지의 변경 사항을 출력할 때 사용되는 diff 프로그램이 있는 경로. 웬만하면 저 값이면 될 것임 |
|
---- |
|
{{{ |
$ScriptTZ = ""; # Local time zone ("" means do not print) |
}}} |
<ix(ScriptTZ)> - 타임존 설정. 예를 들어 서버의 시계가 그리니치 표준시에 맞춰져 있고 내 홈페이지는 한국에 있는 사람들을 기준으로 운영한다면 "9"가 될 것이다. |
|
---- |
|
{{{ |
$RcDefault = 30; # Default number of RecentChanges days |
}}} |
<ix(RcDefault)> - 위는 RecentChanges에 30일동안의 내역이 보이도록 설정이 되어 있습니다. |
|
---- |
|
{{{ |
@RcDays = qw(1 3 7 30 90); # Days for links on RecentChanges |
}}} |
<ix(RcDays)> - 최근 변경 내역을 출력할 때, "1일전" "3일전" "7일전" "30일전" "90일전" 으로 선택할 수 있게 한다. |
|
---- |
|
{{{ |
$KeepDays = 14; # Days to keep old revisions |
}}} |
<ix(KeepDays)> - 이전 수정 내역을 보관할 날수, 백업은 계정을 차지 하기 때문에 적당하게 조정하세요. |
|
---- |
|
{{{ |
$SiteBase = ""; # Full URL for <BASE> header |
}}} |
<ix(SiteBase)> - html에서의 BASE 태그를 위한 URL 설정 |
|
---- |
|
{{{ |
$FullUrl = ""; # Set if the auto-detected URL is wrong |
}}} |
<ix(FullUrl)> - 위키 주소의 전체 경로 |
|
이 변수의 값은, 페이지 내에서 다른 페이지 이름을 적어 주었을 때 자동으로 생성되는 링크 등에 사용되는 값이다. ""인 경우에는 자동으로 wiki.pl의 경로를 찾아서 상대 경로로 표시해 주는데, 만일 [[홈페이지주소간단히하기]]와 같이 실제 wiki.pl이 있는 경로와 브라우저 쪽에서 사용했으면 싶은 경로가 다른 경우에는 지정해준다. |
|
이 페이지에서 가정한 구성에서라면 (이런 경우는 지정해주지 않아도 상관없지만) "http://서버.주소/~gildong/cgi-bin/wiki.pl"로 지정해 주면 될 것이다. |
|
---- |
|
{{{ |
$RedirType = 1; # 1 = CGI.pm, 2 = script, 3 = no redirect |
}}} |
<ix(RedirType)> - 그냥 디폴트로 둡니다. 프로그램밍을 잘 알면 변수를 조정해도 됩니다. |
|
---- |
|
{{{ |
$AdminPass = "admin"; # Set to non-blank to enable password(s) |
$EditPass = "edit"; # Like AdminPass, but for editing only |
}}} |
<ix(AdminPass)>, <ix(EditPass)> - 로그인한 사용자가, 환경 설정에서 자신의 관리자 암호를 위의 값으로 입력하면 관리자/편집자 권한을 얻게 된다. |
|
<ix(EditAllowed)>의 값이 0인 경우에는 편집자 권한 또는 관리자 권한이 있어야만 페이지 수정이 가능하다. 단, EditPass의 값을 "LOGIN"이라고 지정할 경우에는, 로그인한 사용자는 (관리자 암호를 넣지 않았더라도) 페이지를 편집할 수 있다. |
|
---- |
|
{{{ |
$StyleSheetUrl= "$UrlPrefix/wiki.css"; # URL for CSS stylesheet (like "/wiki.css") |
}}} |
<ix(StyleSheetUrl)> - 스타일쉬트 파일의 경로. |
|
<ix(UrlPrefix)>의 값을 정확하게 주었으면 여기서는 건드리지 않아도 그 값 뒤에 "/wiki.css"가 붙은 형태가 된다. |
|
---- |
|
{{{ |
$NotFoundPg = ""; # Page for not-found links ("" for blank pg) |
}}} |
<ix(NotFoundPg)> - 브라우저 URL에 존재하지 않는 페이지 이름을 넣었을 때, 이 NotFoundPg에 지정된 페이지가 대신 나온다. 기본값인 ""으로 두는 것이 더 나을 듯 |
|
---- |
|
따라서, wiki.pl 쪽에서는 다음의 항목 정도만 설정해 주면 된다. (이하의 내용은 UseModWiki 0.92K3 버전으로, 이 홈페이지의 설정에 해당한다. 버전과 자신의 홈페이지 환경에 맞춰 적절히 바꿔줘야 한다.) |
{{{ |
$EmailFrom = "Wiki"; # Text for "From: " field of email notes. |
$SendMail = "/usr/sbin/sendmail"; # Full path to sendmail executable |
}}} |
페이지가 수정되었을 때, 이메일로 알려주는 기능을 켰을 때 사용되는 변수. <ix(EmailNotify)>변수가 1일때만 해당<footnote([[주인장]]도 이 기능을 써 본 적이 없어서 더 할 말 없음)>. |
* <ix(EmailFrom)> - 메일 발송자 이름 |
* <ix(SendMail)> - 메일을 발송할 때 사용되는 sendmail 프로그램의 경로 |
|
---- |
|
{{{ |
$FooterNote = ""; # HTML for bottom of every page |
}}} |
<ix(FooterNote)> - 페이지 하단에 나타나게 할 내용. html 태그를 포함한 텍스트를 적는다. |
|
---- |
|
{{{ |
1 #!/usr/bin/perl (perl 인터프리터가 있는 경로명) |
...... |
# 페이지나 유저 등 각종 데이타 화일들이 저장되는 디렉토리 |
# 기본값을 그대로 사용할 경우 타인이 브라우저로 유저데이타 등을 들여다 볼 수 있으니 반드시 다른 경로로 변경해 주도록 한다 |
# 이왕이면 public_html 디렉토리 밖으로 빼는 것을 권장함 |
63 $DataDir = "data"; |
# 이 값을 1 로 하면 config.pl 의 설정을, 0 으로 하면 wiki.pl 에 있는 설정을 적용하게 된다 |
64 $UseConfig = 1; |
...... |
# 설정화일 역시, 이왕이면 다른 이름으로 변경하는 것을 권장함 (아래 두 줄의 config.pl 을 적절히 수정) |
169 if ($UseConfig && (-f "config.pl")) { |
170 do "config.pl"; # Later consider error checking? |
171 } |
}}} |
|
다음은, config.pl (위에서 다른 이름으로 변경했다면 그 이름의) 화일을 수정해 준다. 아래 관련 링크를 찾아 보면 설정 화일의 각 항목에 대한설명이 있다. 여기서는 몇 가지만 눈여겨 본다. |
|
{{{ |
...... |
$ENV{PATH} = "/usr/bin/"; # diff 실행화일이 있는 경로 |
...... |
# 관리자 암호는 자신만이 알 수 있는 것으로 하고, 편집자 암호는 정책에 따라 자신만이 알 수 있는 것으로 하던가, |
# 남에게 공개하는 데 적합한 일반적인 단어로 지정하던가 선택한다. |
# 어쨌거나, 전혀 암호화되지 않고 그냥 저장되므로, 다른 곳에서 사용하는 암호와는 다르게 지정하는 것을 권장함 |
$AdminPass = "adminpass"; # 관리자암호 |
$EditPass = "editpass"; # 편집암호 |
...... |
# 1이면 아무나 편집할 수 있고, 0이면 편집암호를 아는 사람이 로긴한 경우에만 편집이 가능하다. |
# 사이트 정책에 맞춰서 설정 |
$EditAllowed = 0; |
...... |
$UseEmoticon = 0; # 이모티콘 사용여부. 가끔 분위기 파악 못한 이모티콘이 튀어나오는 경우가 있으니... |
$EditNote = ""; # HTML notice above buttons on edit page |
}}} |
<ix(EditNote)> - 페이지 편집 화면에서, "저장" 버튼 바로 위에 표시될 내용 |
|
---- |
|
{{{ |
$MaxPost = 1024 * 1024 * 3; # Maximum 3MB posts (file upload limit) |
}}} |
<ix(MaxPost)> - 웹 페이지를 저장할 때 업로드할 수 있는 최대 크기. 단위는 Byte. 따라서 기본값은 3MB이다. |
|
[[화일업로드]] 기능이 없던 당시에는 한 페이지의 최대 크기를 지정하는 용도였고, 기본값도 210KB였으나, 업로드 기능이 추가되면서 값을 늘렸음. |
|
---- |
|
{{{ |
$NewText = ""; # New page text ("" for default message) |
}}} |
<ix(NewText)> - 존재하지 않는 페이지를 출력하는 경우 또는 새 페이지를 만들 때 편집창에 표시되는 내용. 안 쓰면 기본 문구인 "Describe the new page here" 또는 "페이지의 내용을 작성하세요"라고 뜬다. |
|
새 페이지를 만들때 기본으로 채워지는 내용은 <ix(TemplatePage)> 옵션을 사용하면 더 편하다. |
|
---- |
|
{{{ |
$HttpCharset = "UTF-8"; # Charset for pages, like "iso-8859-2" |
}}} |
<ix(HttpCharset)> - 웹페이지의 인코딩을 뭘로 할 지 캐릭터셋을 지정한다. 기본값인 "UTF-8"을 쓰거나, 한국어 사이트라면 "EUC-KR"을 쓸 수도 있을 것이다. |
|
EUC-KR을 사용할 경우는 아래 <ix(번역파일)>도 바꿔 줄 것. |
|
---- |
|
{{{ |
$UserGotoBar = ""; # HTML added to end of goto bar |
$UserGotoBar2 = ""; |
$UserGotoBar3 = ""; |
$UserGotoBar4 = ""; |
}}} |
<ix(UserGotoBar)> - 메뉴바 맨 오른쪽에 추가로 링크를 넣을 경우에 사용한다. |
|
스폰서라거나, 자기 홈의 위키가 아닌 다른 게시판 등 별도의 외부 링크를 넣어줄 수 있다. 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 |
}}} |
<ix(번역파일)> - 각종 메뉴나 메시지들을 한국어로 출력한다. 영어로 출력하게 하고 싶다면 위 줄의 앞에 "#" 을 붙여서 주석문으로 만들것. 다른 언어로 출력하게 하고 싶다면 해당 번역 화일을 usemod 홈페이지에서 다운받은 후 위의 값을 변경 |
|
한국어 번역의 경우, <ix(HttpCharset)>의 값이 "UTF-8"이냐 "EUC-KR"이냐에 따라서 번역 파일도 각각의 인코딩에 맞춰 다른 걸로 골라줘야 한다. |
|
---- |
|
{{{ |
### 인자 없이 wiki.pl 을 부르면 $LogoPage 를 embed 형식으로 출력 |
$LogoPage = ""; # this page will be displayed when no parameter |
}}} |
|
<ix(LogoPage)> - 이 변수에 페이지 이름을 넣어 주면, 브라우저 주소창에 ".../wiki.pl"이라고만 입력한 경우에 이 페이지가 출력된다. 이 때 <ix(EmbedWiki)> 옵션을 켠 것 처럼, 상단 메뉴바나 하단 편집 가이드 등을 표시하지 않는다. LogoPage의 값이 ""이라면 <ix(HomePage)> 변수에 지정된 페이지를 평범하게 출력한다. |
|
"대문" 등의 용도로 쓸 수 있음 |
|
---- |
|
{{{ |
### 페이지 처리 시간 출력 |
$CheckTime = 0; # 1 = mesure the page-processing time (requires Time::HiRes module), 0 = do not |
}}} |
<ix(CheckTime)> - 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 |
}}} |
<ix(IconUrl)>, <ix(InterIconUrl)>, <ix(EmoticonUrl)> - 아이콘, [[인터위키]] 아이콘, 이모티콘 등의 그림 파일들이 들어가 있는 경로 |
|
<ix(UrlPrefix)>를 적절하게 지정했다면 여기서는 따로 고칠 필요 없을 것이다. |
|
EmoticonUrl은, <ix(UseEmoticon)>이 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 |
}}} |
<ix(UploadDir)>, <ix(UploadUrl)> - [[화일업로드]]와 관련된 항목 |
|
주의할 것은, 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 |
}}} |
<ix(TemplatePage)> - 특정한 페이지 이름을 값으로 주면, 새 페이지를 만들 때 편집창에 그 페이지의 소스가 복사되어 표시된다. 위의 <ix(NewText)> 설정보다 우선권이 높다. |
|
자세한 사용법은 [[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 |
}}} |
<ix(JavaScriptUrl)>, <ix(OekakiJarUrl)> - 각각 wikiscript.js 파일과, oekakibbs.jar 파일의 경로를 지정한다. |
|
<ix(UrlPrefix)>를 적절하게 지정했다면 여기서는 따로 고칠 필요 없을 것이다. |
|
---- |
|
{{{ |
### 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 |
}}} |
[[사용자입력을그대로출력하기]]에서, {{{언어 ... }}} 형태의 블록을 처리하는 데 필요한 옵션이다. |
* <ix(SOURCEHIGHLIGHT)> - source-highlight 유틸리티가 있는 경로 |
* <ix(SRCHIGHLANG)> - source-highlight 에서 지원하는 언어 옵션들을 나열 |
|
기본값은 [http://www.gnu.org/software/src-highlite/source-highlight.html 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"이 적혀 있는 경우의 처리와 관련된 옵션 |
* <ix(EditGuideInExtern)> - 값이 1이면 화면을 세 프레임으로 나누어서 상단-메뉴바, 중단-외부 사이트, 하단-편집 가이드를 출력한다. 값이 0이면 하단 프레임 없이 두 프레임만 출력한다. |
* <ix(SizeTopFrame)>, <ix(SizeBottomFrame)> - 상단 프레임과 하단 프레임의 높이를 픽셀 단위로 준다. 홈페이지마다 로고나 글자의 크기 때문에 이 값을 직접 조절해 주어야 한다. |
|
해보면 알겠지만, 어지간한 모니터에서는 하단 프레임까지 나오면 정작 중단 프레임이 너무 좁아서 불편하다. 그냥 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]] 출력에 관련된 옵션. |
* <ix(InterWikiMoniker)> - 뭔지 모르겠다. 아마 [[인터위키]]에서처럼 자신의 홈페이지를 가리키는 명칭을 얘기하는 듯. |
* <ix(SiteDescription)> - 주석문으로 보건데, 간단한 사이트 소개? |
* <ix(RssLogoUrl)> - 로고 이미지의 URL 을 적어준다. |
* <ix(RssDays)> - 별도로 인자를 주지 않았을 때, 디폴트로 며칠 동안의 변경 내역을 보여 줄지를 정한다. 여기서는 7일. |
* <ix(RssTimeZone)> - 홈페이지가 있는 서버의 시계가 어디에 맞춰져 있는지를 적어준다. 세계표준시라면 0, 한국표준시라면 9 가 될 것이다. |
** RssTimeZone 옵션은 <ix(ScriptTZ)>와 의미가 다르다는 것에 주의. 예를 들어 서버 시스템의 시계가 한국시각에 맞춰져 있고 사이트도 한국시각으로 운영한다면, ScriptTZ는 서버 시각과 사이트의 시각의 차이이미로 "0"또는 ""이고, RssTimeZone은 서버 시각과 표준시와의 차이이므로 "9"이다. |
|
---- |
|
{{{ |
### 스크립트 뒤에 / or ? 선택 from usemod1.0 |
$SlashLinks = 1; # 1 = use script/action links, 0 = script?action |
}}} |
<ix(SlashLinks)> - wiki.pl 뒤에 붙는 구분자를 선택 |
* 0 이면 "wiki.pl?페이지이름" 형태로 링크가 걸린다. |
* 1 이면 "wiki.pl/페이지이름" 형태로 링크가 걸린다 |
|
사실 입맛대로 선택...할 수 있으면 좋겠지만, "?"를 사용할 경우 UTF-8로 된 웹페이지에서 위키를 링크했을때, 인터넷 익스플로러에서는 버그 때문에 그 링크를 클릭하면 페이지 이름이 잘못 전송된다. ([[유니코드논의/파일명인코딩]] 참고) 따라서 이 변수의 값을 1로 두는 게 낫다. 특히나 UTF-8로 위키를 운영할 경우는 반드시 1이어야 함. (0이면, 위키 내에서 다른 페이지를 링크하는 것조차 IE에서는 제대로 따라갈 수 없다) |
|
---- |
|
{{{ |
### trackback 보내기 |
$SendPingAllowed = 0; # 0 - anyone, 1 - who can edit, 2 - who is admin |
}}} |
<ix(SendPingAllowed)> - 위키 페이지의 TrackBack을 다른 사이트로 보낼 수 있는 권한 지정 |
* 0 - 아무나 보낼 수 있음 |
* 1 - 그 페이지를 수정할 권한이 있는 사람만 보낼 수 있음 |
* 2 - 관리자만 보낼 수 있음 |
|
---- |
|
{{{ |
### LaTeX 변환 지원 |
$UseLatex = 0; # 1 = Use LaTeX conversion 2 = Don't convert |
}}} |
<ix(UseLatex)> - 1이면 LaTeX을 사용할 수 있다. 물론 서버에 설치되어 있어야 하며, 관련 프로그램들의 경로가 <ix(ENV{PATH})>에 지정되어 있어야 한다. [[UseModWiki소스수정/LaTeX]] 참고 |
|
---- |
|
{{{ |
### 사용자 정의 헤더 |
$UserHeader = ''; # Optional HTML header additional content |
}}} |
<ix(UserHeader)> - 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 |
}}} |
|
<ix(EditNameLink)> - 존재하지 않는 페이지의 링크가 있을때, |
* 1이면 페이지 이름의 첫글자에 링크가 걸린다. |
* 0이면 페이지 이름 뒤에 "?"가 추가되어 여기에 링크가 걸린다. |
|
좋을 대로 하면 되는데, 물음표가 표시될 경우는 종이에 인쇄하거나 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'); |
}}} |
|
<ix(UrlEncodingGuess)> - 방문자가 자신의 브라우저 주소창에 "...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 |
}}} |
<ix(UseEmoticon)> - 이모티콘 사용 여부, 1이면 사용. |
|
---- |
|
{{{ |
$ClickEdit = 1; # 1 = edit page by double click on page, 0 = no use |
}}} |
<ix(ClickEdit)> - 1이면, 마우스로 브라우저를 더블 클릭하면 페이지 편집 화면으로 이동 |
|
---- |
|
{{{ |
$EditPagePos = 1; # 1 = bottom, 2 = top, 3 = top & bottom |
}}} |
<ix(EditPagePos)> - 페이지 편집 가이드가 출력되는 위치를 하단, 상단, 상하단 으로 지정 |
|
---- |
|
{{{ |
$NamedAnchors = 1; # 0 = no anchors, 1 = enable anchors, 2 = enable but suppress display |
}}} |
<ix(NamedAnchors)> - <nowiki>[#이름]</nowiki> 형식으로 페이지 내에 앵커 삽입 가능 |
|
---- |
|
{{{ |
$UseSubpage = 1; # 1 = use subpages, 0 = do not use subpages |
}}} |
<ix(UseSubpage)> - [[하위페이지]] 사용여부. 1이면 쓴다, 0이면 안 쓴다. |
|
---- |
|
{{{ |
$UseCache = 0; # 1 = cache HTML pages, 0 = generate every page |
}}} |
<ix(UseCache)> - 페이지를 열 때마다 마크업된 출력을 새로 만들지 결정. 1이면 캐쉬 파일로 저장해서 재사용하고 0이면 안 쓴다. |
|
1로 하면 페이지를 매번 마크업하지 않으므로 좀 빨라지긴 하는데, 매크로가 들어간 페이지들은 출력할때마다 내용이 바뀌어야 하는데 캐쉬에 있는 기존 내용이 출력되는 문제가 있다. |
|
---- |
|
{{{ |
$EditAllowed = 1; # 1 = editing allowed, 0 = read-only |
}}} |
|
<ix(EditAllowed)> - 편집권한 설정, 1 = 누구나 편집, 0 = 관리자 또는 편집자만 편집 가능. |
|
1인 경우는 <ix(AdminPass)> 또는 <ix(EditPass)>가 방문자의 관리자암호와 일치해야 한다. |
|
---- |
|
{{{ |
$RawHtml = 1; # 1 = allow <HTML> tag, 0 = no raw HTML in pages |
}}} |
|
<ix(RawHtml)> - <html> </html> 태그 사용 여부, 1 = 가능 0 = 불가능 |
|
---- |
|
{{{ |
$HtmlTags = 1; # 1 = "unsafe" HTML tags, 0 = only minimal tags |
}}} |
|
<ix(HtmlTags)> - 1이면 아래 <ix(HTMLPairs)>에 지정된 태그들을 쓸 수 있다. 0이면 최소한의 태그만 허용된다. |
|
---- |
|
{{{ |
$UseDiff = 1; # 1 = use diff features, 0 = do not use diff |
}}} |
|
<ix(UseDiff)> - Diff 명령 사용여부. 1 = 사용, 0= 사용하지 않음 |
|
---- |
|
{{{ |
$FreeLinks = 1; # 1 = use [[word]] links, 0 = LinkPattern only |
$WikiLinks = 1; # 1 = use LinkPattern, 0 = use [[word]] only |
}}} |
다른 페이지 링크를 나타내는 방식 |
* <ix(FreeLinks)> - 0이면 오직 [[위키네임]]에 해당하는 경우(ex: <nowiki>HelloWorld</nowiki>)만 링크가 된다. 1이면 <nowiki>[[페이지]]</nowikI>처럼 대괄호쌍을 사용하여 링크를 걸 수도 있다. |
* <ix(WikiLinks)> - 위 옵션과 반대. 0이면 오직 대괄호쌍을 사용한 링크만 된다. 1이면 위키네임을 사용한 링크도 된다. |
따라서... 둘 다 0이면 다른 페이지 링크를 걸 방법이 없다. 한글 이름 페이지는 대괄호쌍을 써야만 하니 FreeLinks는 1이어야만 하고, 위키네임 자동 링크를 허용하고 싶으면 WikiLinks를 1로, 그렇지 않으면 0으로 맞추면 된다. |
|
---- |
|
{{{ |
$AdminDelete = 1; # 1 = Admin only page, 0 = Editor can delete pages |
}}} |
|
<ix(AdminDelete)> - 1이면 관리자만, 0이면 편집자도 문서를 지울 수 있다. |
|
---- |
{{{ |
$RunCGI = 1; # 1 = Run script as CGI, 0 = Load but do not run |
}}} |
<ix(RunCGI)> - 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 |
}}} |
<ix(EmailNotify)> - 1이면 편지로 수정 내용을 알려주고, 0이면 그런 거 없다. (메일링 리스트 기능) |
|
---- |
|
{{{ |
$EmbedWiki = 0; # 1 = no headers/footers, 0 = normal wiki pages |
}}} |
<ix(EmbedWiki)> - 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스타일쉬트]]를 참조 |
|
---- |
관련 링크: |
* UseModKr:UseModWikiHelp - UseModWiki 의 설치, 환경설정, 스타일쉬트 등에 대한 설명을 볼 수 있다. |
* http://paedros.x-y.net/cgi-bin/wiki/wiki.pl?UseModWiki - 한글패치버전 |
** http://paedros.x-y.net/cgi-bin/wiki/wiki.pl?UseModWiki_설치가이드 - 한글패치버전의 설치 가이드 |
|
---- |
[[주인장분류]] [[위키위키분류]] |