$sudo mv dokuwiki-4e4612fcb2e9d1ec65a6803663bcf8e0.tgz /var/www/html/
$cd /var/www/html && tar xzf dokuwiki-4e4612fcb2e9d1ec65a6803663bcf8e0.tgz
$cd dokuwiki
$mv * ../
===== 도쿠위키 설치하기 =====
http://localhost/install.php 에 접속한다. 만일 아래와 같은 에러 메세지가 뜬다면,
$cd /var/www/html
$sudo chown -R www-data:www-data data/ conf/ lib/plugins/ lib/tpl/
설치화면이 보일 것이다.
라이선스는 "CC Attribution-Noncommercial-Share Alike 4.0 International" 을 선택한다. 설치 후에 아래와 같이 보안 관련 메세지가 뜬다면,
...
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
#
# Options Indexes FollowSymLinks
# AllowOverride None
# Require all granted
#
...
이후 웹서버를 재시작한다.
$sudo systemctl restart apache2
이제 http://localhost/data/pages/ 에 접속해보자. '403 Forbidden You don't have permission to access this resource.' 메세지가 보인다면, 성공이다.
==== 템플릿(bootstrap3) 설치하기 ====
설치 후 가장 먼저 스킨(템플릿)을 설치해보자.
로그인 후에 Extension Manager 에서 bootstrap3 을 검색해서 설치한다.
이후 환경설정메뉴에서 아래 항목들을 설정한다.
^ 설정이름 ^ 값 ^
| tpl»bootstrap3»showTools | 없음 |
| tpl»bootstrap3»hideLoginLink | 체크 |
| tpl»bootstrap3»showPageTools | 없음 |
| tpl»bootstrap3»showBadges | 체크해제 |
| tpl»bootstrap3»showWikiInfo | 체크해제 |
| tpl»bootstrap3»pageInfoDateFormat | 사람이 읽을 수 있도록 |
| tpl»bootstrap3»showLoginOnFooter | 체크 |
| tpl»bootstrap3»collapsibleSections | 체크안함 |
| breadcrumbs | 0 |
| tpl»bootstrap3»showPageId | 체크해제 |
| maxtoclevel | 5 |
| maxseclevel | 5 |
| useheading | 항상 |
| tpl»bootstrap3»showPageIcons | 체크해제 |
==== 플러그인 설치하기 ====
도쿠위키의 특징이라면 다양한 플러그인들을 제공하고 있다는 점인데, https://www.dokuwiki.org/plugins 에서 찾을 수 있다.
설치방법은 테마와 동일하게 다운로드 주소만으로 간단하게 설치가 가능하다.
=== shortcutkey ===
단축키를 이용해서 페이지 작성, 저장 같은 여러가지 작업을 할 수 있다. https://www.dokuwiki.org/plugin:shortcutkey 를 참고할 것. 설치 후에 '환경설정' 메뉴에서 설정할 수 있다. 최신버전에 대한 지원여부가 명확히 나와있지 않지만, 설치 후 문제없이 동작했다.
=== xbr ===
위키페이지 작성 시에 줄바꿈을 하기 위해서는 엔터키 대신 백슬래시(\\)키를 입력해야 한다. 상당히 번거로운데, 이를 위지윅으로 기존의 엔터키를 이용해서 줄바꿈을 가능하게 한다. https://www.dokuwiki.org/plugin:xbr 를 참고할 것. 설치한 이후, '환경설정' 메뉴에서 “renderer_xhtml 주요 (xhtml) 위키 출력에 사용할 렌더러” 항목을 “XBR” 로 변경하여 저장해야 한다. 최신버전에 대한 지원여부가 명확히 나와있지 않지만, 설치 후 문제없이 동작했다.
=== iframe ===
도쿠위키에서 표시할 수 없는 웹페이지는 iframe 을 사용하면 가능하다. https://www.dokuwiki.org/plugin:iframe 에서 설치 및 이용이 가능하다. 최신버전에 대한 지원여부가 명확히 나와있지 않지만, 설치 후 문제없이 동작했다.
=== numberof plugin ===
전체 위키문서의 페이지 수를 알려주는 플러그인이다. https://www.dokuwiki.org/plugin:numberof 에서 설치 및 이용이 가능하다.
최신버전에 대한 지원여부가 명확히 나와있지 않지만, 설치 후 문제없이 동작했다.
=== Changes Plugin ===
날짜별로 수정된 문서들을 리스트로 보여준다. http://www.dokuwiki.org/plugin:changes 에서 설치 및 이용이 가능하다.
=== Access Counter and Popularity Plugin ===
위키문서의 방문자 수를 알려주는 플러그인. http://www.dokuwiki.org/plugin:accscounter 에서 설치 및 이용이 가능하다.
최신버전에 대한 지원여부가 명확히 나와있지 않지만, 설치 후 문제없이 동작했다.
=== discussion plugin ===
누구나 글을 남길 수 있는 게시판 형태의 페이지를 만들어 준다.
https://dokuwiki.org/plugin:discussion 에서 설치 및 이용이 가능하다.
등록되지 않은 사용자의 댓글을 막기 위해, 설정 페이지에서 변경한다.
| plugin»discussion»allowguests | 체크해제 |
| allow comments by unregistered users | 체크해제 |
=== Gallery Plugin ===
페이지에 있는 사진을 갤러리 형태로 볼 수 있게 해준다. https://www.dokuwiki.org/plugin:gallery 에서 설치 및 이용이 가능하다.
=== Page Navigation Plugin ===
페이지 이동을 수월하게 해주는 플러그인이다. 날짜별로 기록된 페이지(여행기, 일기등)들을 이동하는 데 편리하다. http://www.dokuwiki.org/plugin:pagenav 에서 설치 및 이용이 가능하다.
=== PGlist Plugin ===
네임스페이스 별로 위키페이지를 출력해준다. http://dokuwiki.org/plugin:pglist 에서 설치 및 이용이 가능하다.
=== Yearbox Plugin ===
일기를 작성할 때, 유용한 플러그인. https://www.dokuwiki.org/plugin:yearbox 에서 설치 및 이용이 가능하다.
=== htmlok Plugin ===
도쿠위키 최신버전에서는 보안상의 이유로 html 와 java script 코드를 직접 쓸 수 없다. 이 플러그인을 사용하면 가능하다. https://www.dokuwiki.org/plugin:htmlok 에서 설치 및 이용이 가능하다.
설치 후에 설정화면에서 'plugin»htmlok»htmlok' 항목에서 체크를 해야 한다.
=== folded plugin ===
많은 내용을 접었다가 펼수 있게 하는 유용한 플러그인. https://www.dokuwiki.org/plugin:folded 에서 설치 및 이용이 가능하다.
=== FontColor Plugin ===
글자의 색깔을 지정할 수 있는 플러그인. https://www.dokuwiki.org/plugin:fontcolor 에서 설치 및 이용이 가능하다. 최신버전에 대한 지원여부가 명확히 나와있지 않지만, 설치 후 문제없이 동작했다.
=== IndexMenu Plugin ===
인덱스 메뉴(마치 탐색기 메뉴처럼)를 만들어주는 플러그인이다. https://www.dokuwiki.org/plugin:indexmenu 에서 설치 및 이용이 가능하다.
==== 폰트 변경하기 ====
기본 폰트를 바꾸기 위해서는 파일을 직접 만들고 추가해야 한다. 참고로 폰트는 https://noonnu.cc/ 에서 골랐다.
#vi /var/www/html/dokuwiki/conf/userstyle.css
아래와 같이 추가한다.
@font-face {
font-family: 'RIDIBatang';
src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_twelve@1.0/RIDIBatang.woff') format('woff');
font-weight: normal;
font-style: normal;
}
body {
background-color: #ffffff;
padding: 0px;
font-family: 'RIDIBatang';
overflow-y: scroll;
}
==== 로고이미지 없애기 & 로고텍스트 폰트 적용하기 ====
왼쪽 상단에 있는 로고를 삭제하기 위해서는 아래와 같이 해당 줄을 삭제한다.
#vi /var/www/html/dokuwiki/lib/tpl/bootstrap3/tpl/navbar.php
...
echo '
';
...
로고대신 폰트글자를 추가하고, 오른쪽 검색창과의 높이를 맞추기 위해 아래처럼 수정한다.
// 추가
//추가 끝
' . $conf['tagline'] . '' : '');
$logo_height = $logo_size[1];
$nabvar_height = $TPL->getNavbarHeight();
echo '';
// 추가
echo '' . $title . '' . $tagline . '';
// 추가 끝
echo '';
?>
...
==== 하위 문단(H4,H5) 밑줄 적용하기 ====
문단 작성 시, 상위 문단(H1,H2,H3)까지만 밑줄이 생긴다. 하위 문단까지도 적용하려면 파일을 수정해야 한다.
#cd /var/www/html/dokuwiki
#vi lib/tpl/bootstrap3/Template.php
...
# Page Heading (h1-h2)
# TODO this class will be removed in Bootstrap >= 4.0 version
foreach ($html->find('h1,h2,h3,h4,h5') as $elm) {
$elm->class .= ' page-header pb-3 mb-4 mt-5'; # TODO replace page-header with border-bottom in BS4
}
...
==== favicon(파비콘) 설정하기 ====
웹사이트에 접속하면 브라우저 탭이 생기고 왼쪽 상단에 작은 정사각형의 그림이 출력된다. 이 그림을 파비콘(favicon)이라고 부른다. 도구위키의 경우, 기본적으로 설정된 로고이미지가 뜬다.
이것을 원하는 것으로 변경할 수 있다.
먼저 파비콘으로 만들고 싶은 사진 파일을 고른다. 이때 참고할 사항은 사이즈가 정사각형이어야 한다는 점이다. 나중에 사이즈가 16x16 픽셀으로 조정되기 때문이다.
https://www.favicon-generator.org/ 에서 해당 파일을 업로드하고, 'Generate only 16x16 favicon.ico' 메뉴를 선택 후 'Create Favicon' 을 클릭한다.
생성된 파일(favicon.ico)을 다운로드한다. 그리고 도쿠위키의 편집페이지(어떤 페이지든 상관없다)를 열고 사진추가 메뉴를 눌러 'Media Files' 윈도우를 불러온다. 좌측에서 '[root] - wiki' 클릭하면, dokuwiki-128.png 라는 그림파일이 보일 것이다. 여기에 앞서 만든 파비콘 파일(favicon.ico)을 업로드한다.
이제 브라우저에서 다시 접속하여 아이콘이 바뀌었는지 확인해보자.
==== 구글 번역기 사용하기 ====
구글 번역기를 이용해서 자동으로 페이지가 선택한 언어로 번역되도록 한다. 'Bootstrap3 Template' 을 기준으로 설명한다. 템플릿에 따라 수정해야할 파일들이 다르기 때문이다.
=== navbar.php 수정 ===
lib/tpl/bootstrap3/tpl/navbar.php 파일에 아래와 같이 추가한다.
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
*/
global $lang;
global $TPL;
global $ACT;
$navbar_labels = $TPL->getConf('navbarLabels');
$navbar_classes = [];
$navbar_classes[] = ($TPL->getConf('fixedTopNavbar') ? 'navbar-fixed-top' : null);
$navbar_classes[] = ($TPL->getConf('inverseNavbar') ? 'navbar-inverse' : 'navbar-default');
$home_link = ($TPL->getConf('homePageURL') ? $TPL->getConf('homePageURL') : wl());
?>