Mediawiki

From 탱이의 잡동사니
Jump to navigation Jump to search

Overview

Mediawiki 사용법 정리

Configuration

Sidebar

왼쪽 사이드 바 수정 옵션.

Upload file size

/etc/php.ini 혹은 /etc/php5/apache2/php.ini 파일에서 다음의 항목을 수정한다<ref>https://www.mediawiki.org/wiki/Manual:Configuring_file_uploads#Set_maximum_size_for_file_uploads</ref>.

; Maximum size of POST data that PHP will accept.
; Its value may be 0 to disable the limit. It is ignored if POST data reading
; is disabled through enable_post_data_reading.
; http://php.net/post-max-size
post_max_size = 8M

; Maximum allowed size for uploaded files.
; http://php.net/upload-max-filesize
upload_max_filesize = 2M

Upload file types

LocalSettings.php 파일에 다음과 같은 항목을 추가해주면 된다. 별도로 더 추가하고자 하는 확장자가 있다면 추가해주면된다.

$wgFileExtensions = array( 'png', 'gif', 'jpg', 'jpeg', 'doc',
    'xls', 'mpp', 'pdf', 'ppt', 'tiff', 'bmp', 'docx', 'xlsx',
    'pptx', 'ps', 'odt', 'ods', 'odp', 'odg'
);

User rights

그룹 이름과 관련 권한을 입력하면 새로운 그룹을 생성할 수 있다.

<group-name> 부분에 생성을 원하는 그룹을 입력하면 된다$wgGroupPermissions['<group-name>']. 하지만 이런식으로 하나하나 권한과 설정을 입력하기에는 여러모로 불편하다. 아래의 UserGroup 플러그인을 사용하는게 좋다.

Example

$wgGroupPermissions['ninja']['bot']    = true;
$wgGroupPermissions['ninja']['block']  = true;
$wgGroupPermissions['ninja']['delete'] = true;

SMTP setting

mediawiki 를 이용해서 메일을 전송하기 위해서는 SMTP 설정이 필요하다.

Sitemap

위키의 사이트 맵 생성이 가능하다.

wiki 의 root 디렉토리에서, 다음을 수행하면 된다. <source lang=bash> $ mkdir sitemap

$ php maintenance/generateSitemap.php \

  --fspath sitemap \
  --server http://mydomain.org \
  --urlpath http://mydomain.org/sitemap \
  --skip-redirects

</source>

License

미디어 위키 저작권 수정방법.

LocalSettings.php 파일에서 다음을 수정하면 된다. <source lang="php">

    1. For attaching licensing metadata to pages, and displaying an
    2. appropriate copyright notice / icon. GNU Free Documentation
    3. License and Creative Commons licenses are supported so far.

$wgRightsPage = ""; # Set to the title of a wiki page that describes your license/copyright $wgRightsUrl = ""; $wgRightsText = ""; $wgRightsIcon = ""; </source>

이 내용을 아래와 같이 변경하면 된다. <source lang="php">

    1. For attaching licensing metadata to pages, and displaying an
    2. appropriate copyright notice / icon. GNU Free Documentation
    3. License and Creative Commons licenses are supported so far.

$wgRightsPage = "YourWiki:Lisence"; # Set to the title of a wiki page that describes your license/copyright $wgRightsUrl = "https://creativecommons.org/licenses/by-sa/3.0/deed.ko"; $wgRightsText = "크리에이티브 커먼즈 저작자표시-동일조건변경허락 3.0"; $wgRightsIcon = "https://i.creativecommons.org/l/by-sa/3.0/88x31.png"; </source>


위 설정 중 YourWiki:Lisence은 위키의 라이선스나 저작권에 대해 알리는 문서의 제목이다. 그리고, 적용할 라이선스도 여러 버전과 조건이 있으니 크리에이티브 커먼즈 라이선스]]을 참고해 결정하도록 하자. 아래 표는 CCL 3.0을 적용할 때 사용 가능한 조합들의 라이선스 표기와 일반권리증서(Commons Deed) URL, 아이콘을 나타낸다.

라이선스 영문 표기 일반권리증서(Commons Deed) URL 아이콘
저작자 표시 BY https://creativecommons.org/licenses/by/3.0/deed.ko https://i.creativecommons.org/l/by/3.0/88x31.png
저작자 표시-동일조건 변경 허락 BY-SA https://creativecommons.org/licenses/by-sa/3.0/deed.ko https://i.creativecommons.org/l/by-sa/3.0/88x31.png
저작자 표시-변경 금지 BY-ND https://creativecommons.org/licenses/by-nd/3.0/deed.ko https://i.creativecommons.org/l/by-nd/3.0/88x31.png
저작자 표시-비영리 BY-NC https://creativecommons.org/licenses/by-nc/3.0/deed.ko https://i.creativecommons.org/l/by-nc/3.0/88x31.png
저작자 표시-비영리-동일조건 변경 허락 BY-NC-SA https://creativecommons.org/licenses/by-nc-sa/3.0/deed.ko https://i.creativecommons.org/l/by-nc-sa/3.0/88x31.png
저작자 표시-비영리-변경 금지 BY-NC-ND https://creativecommons.org/licenses/by-nc-nd/3.0/deed.ko https://i.creativecommons.org/l/by-nc-nd/3.0/88x31.png

Extension

SyntaxHighligh

Maps

Mediawiki Map extension.

어떤 이유에서인지 구글 지도를 사용하려고 하면 브라우저 호환성 문제가 발생한다. 아쉽지만 차선책으로 openlayers 를 사용하면 문제가 해결된다. 옵션으로는 layers=osm-mapquest zoom=15 가 제일 무난하다.

<display_map width=600px height=300px service=openlayers layers=osm-mapquest zoom=15>
Copenhagen, Denmark
</display_map>

아래 링크에 상세 사용 설명이 나와있다.

RSS Reader

Mediawiki RSS reader extension. Mediawiki RSS Reader 가 필요할 때 사용할 수 있는 extension 이다. 종류가 많이 있지만 이게 젤 괜찮은 듯 싶다.

RSS 내용을 가져올 때, 특수문자들이 정상적으로 표시가 안되는 문제가 있었다. RSSReader.php 파일에서 다음의 내용을 수정해주면 된다. <source lang=php>

         //$item_title=preg_replace("|\[rsslist:.+?\]|", "",
           //htmlspecialchars(html_entity_decode(html_entity_decode(html_entity_decode($item['title'],
           //ENT_QUOTES, "UTF-8"), ENT_QUOTES, "UTF-8"), ENT_QUOTES, "UTF-8"), ENT_QUOTES, "UTF-8"));
         $item_title=
           htmlspecialchars_decode(html_entity_decode(html_entity_decode(html_entity_decode($item['title'],
           ENT_QUOTES, "UTF-8"), ENT_QUOTES, "UTF-8"), ENT_QUOTES, "UTF-8"));

</source>

User Groups

사용자 권한/그룹 관리를 편리하게 편집할 수 있게 해준다.

MetaDescriptionTag

페이지의 head 에 description 태그를 추가할 수 있도록 해준다.

<metadesc> PageDescription </metadesc>

See also

References

<references />