Jump to content

MediaWiki

From DawoumWiki, the free Mathematics self-learning
MediaWiki
Original author(s)Magnus Manske, Lee Daniel Crocker
Developer(s)Wikimedia Foundation
Initial releaseJanuary 25, 2002; 22 years ago (2002-01-25)
Stable release
1.39.0 / November 30, 2022; 19 months ago (2022-11-30)
Repositorygithub.com/wikimedia/mediawiki/
Written inPHP[1]
Operating systemWindows, macOS, Linux, FreeBSD, OpenBSD, Solaris
Size63.81 MB (compressed)
Available in459[2] languages
TypeWiki software
LicenseGPLv2+[3]
Websitewww.mediawiki.org

미디어위키(MediaWiki)는 자유와 공개-소스 위키 엔진입니다. 이것은 2002년에 위키피디아에서 사용하기 위해 개발되었고, 2003년에 "미디어위키"라는 이름을 제공했습니다.[4] 위키피디아와 위키사전, 위키미디어 커먼즈위키데이터를 포함한 거의 모든 다른 위키미디어 사이트에서 여전히 사용됩니다; 이들 사이트는 미디어위키에 필요한 요구사항의 상당 부분을 계속해서 정의합니다.[5] 미디어위키는 원래 Magnus Manske에 의해 개발되었고 Lee Daniel Crocker에 의해 개선되었습니다.[6][7] 그의 개발은 그 후 위키미디어 재단에 의해 통합되어졌습니다.

미디어위키는 PHP 프로그래밍 언어로 작성되었고 모든 텍스트 내용을 데이터베이스에 저장합니다. 이 소프트웨어는 테라바이트의 컨텐츠와 초당 수십만 개의 히트를 가질 수 있는 대규모 프로젝트를 효율적으로 처리하기 위해 최적화되었습니다.[5][8] 위키피디아는 세계에서 가장 큰 웹 사이트 중 하나이므로, 캐싱데이터베이스 복제의 중복 계층을 통해 확장성을 달성하는 것이 개발자에 의해 중요한 관심사였습니다. 미디어위키의 또 다른 주요 측면은 국제화입니다; 그의 인터페이스는 300개 이상의 언어로 제공됩니다.[9] 이 소프트웨어는 900가지 이상의 구성 설정[10] 및 1,900가지 이상의 확장을 제공하므로 다양한 기능을 추가하거나 변경할 수 있습니다.[11]

위키미디어 사이트에서의 사용 외에도, 미디어위키는 웹사이트 FandomwikiHow, 및 IntellipediaDiplopedia와 같은 주요 내부 설치를 포함하는, 수천 개의 웹 사이트, 공개 및 비공개에서 지식 관리컨텐츠 관리 시스템으로 사용되어 왔습니다.

Installation

Prerequisites

  • PHP 설치하기.
  • PHP를 사용하도록 설정된 웹서버 설치하기:
  • MariaDB 설치하기. 미디어위키에서 사용할 데이트베이스를 만듭니다:
    • sudo mysql -u root -p
MariaDB [(none)]> CREATE DATABASE IF NOT EXISTS `wikidb` DEFAULT CHARACTER SET `utf8` COLLATE `utf8_unicode_ci`;
MariaDB [(none)]> use mysql;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON wikidb.* TO wikiuser@localhost  IDENTIFIED BY 'password';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> exit;

Manual install

Setup

  • 사용자 설치로 /var/www/html/w에 파일들이 존재합니다.
  • 웹 브라우저로 http://localhost/w로 접근해서 다음 과정을 수행합니다.
  • Page "Welcome to MediaWiki!":
    • "Language"는 전부 "English"로 선택합니다.
    • "Environmental checks"에서 설치해야 할 프로그램을 볼 수 있습니다[12].
  • "Connect to database" 에서는
    • "Database name"는 "wikidb"
    • "Database username"는 "wikiuser"
    • "Database password"는 "wikiuserpassword"
  • Page "Database settings":
    • Database account for web access: 선택 해제하고, MariaDB에서 위키에 대한 데이터베이스를 만들 때, 같이 만든 계정과 암호를 입력합니다.
  • Page "Name"
    • "Name of wiki"은 반드시 입력해야 합니다.
    • 위키 Administrator accoun의 id와 password를 반드시 입력해야 합니다.
    • I'm bored already, just install the wiki. Page "Install"로 이동됩니다.
    • Ask me more questions. 위의 것을 선택하면, 나중에 더 귀찮은 작업을 해야 합니다. 이것을 선택해 주세요.
  • Page "Options"
    • "User rights profile:"은 "Account creation required" 선택합니다.
    • "Copyright and license:"은 "Creative Common Attribution-NonCommercial-ShareAlike" 선택합니다.
    • "Email settings": 선택해제 (나중에 추가할 수 있습니다)
    • "Skins": 기본값으로 진행합니다.
    • "Extensions"
      • "Special pages": 모두 선택합니다.
      • "Editors": 모두 선택합니다.
      • "Parser hooks": 모두 선택합니다.
      • "Media handlers": 모두 선택합니다.
      • "Spam prevention": 모두 선택합니다.
      • "API": 모두 선택합니다.
      • "Other": LocalisationUpdate, OATHAuth를 제외하고 나머지를 선택합니다.
    • "Images and file uploads": 활성화하고, 나머지는 기본값으로 둡니다.
    • "Advanced configuration": 기본값으로 둡니다.
  • Page "Install": Continue를 누릅니다.
    • LocalSettings.php를 저장하고, /var/www/html/w/ 아래로 옮깁니다.
  • 웹브라우저를 열어서 http://localhost/w/ 를 입력하면 설치된 미디어위키를 볼 수 있습니다.

External Programs

미디어위키를 운영함에 있어, 한글 검색이 잘 되지 않는 문제가 있습니다. 이것을 그나마 개선하기 위해, CirrusSearch 확장을 이용할 수 있으며, Elasticsearch를 기반으로 합니다.

다른 한편으로, 미디어위키에서 수식을 이용하기 위해, Math 확장을 이용할 수 있으며, 서비스의 품질을 개선하기 위해, 로컬 컴퓨터에 RESTBase, Mathoid를 설치해야 합니다. 게다가, RESTBase는 데이터의 양이 지속적으로 증가하기 때문에, Apache Cassandra를 벡엔드로 이용할 수 있습니다.

한편, 두 외부 프로그램, Elasticsearch, Apache Cassandra는 자바를 기반으로 합니다. 2022년 9월 당시, Elasticsearch는 6.8 버전을 사용하고, Apache Cassandra는 3.11 버전을 이용하고 있으며, 둘 모두 동작하기 위해 자바 1.8을 이용해야 합니다. 데비안 11에서는 자바 1.8 버전을 패키지로 제공하지 않기 때문에 오라클 자바를 직접 설치해서 이용할 수 있습니다.

역시, 2022년 9월에 Elasticsearch는 7.10.2로 업그레이드가 진행되고 있지만, Apache Cassandra에 대한 업그레이드는 아직 논의되지 않고 있습니다. 만약 Apache Cassandra가 4.0.x 버전을 지원하기 시작하면, 자바 11을 이용할 수 있을 것으로 기대됩니다.

다른 한편으로, 미디어위키를 운영하기 위해 필수적인 PHP는 데비안 11에서 8.x를 지원하지 않기 때문에, 2022년 9월 7.4 버전으로 업그레이드가 진행 중이고, 이것이 끝나면, 8.x 버전을 같이 이용할 수 있을 것으로 기대됩니다. 7.2와 7.4버전을 동시에 지원할 수는 없습니다.

2023년 1월 기준, 당년에 출시 예정인 데비안 12는 자바 17만을 지원하고, 파이썬은 3.x만을 지원합니다. 이러다 보니, Apache Cassandra를 설치하기 위해, 자바 외에 파이썬 마저 2.7버전을 별도로 설치해야 합니다. 반면에, Elasticsearch 7.10.2 버전은 자바 17 버전에서도 잘 작동합니다. 앞으로 RESTBase에서 Apache Cassandra 4.x를 지원하면, 자바 11은 Oracle jre 다운로드 페이지에서 제공하는 타르볼을 별도로 설치해야 할 것으로 보이고, 반면에 python 2.7은 별도로 설치할 필요 없이 데비안 12에서 제공하는 3.x 버전에서 동작합니다.

Apache Cassandra 4.x에 대한 지원 계획은 이미 논의 중입니다.

카산드라 4.x는 미디어위키 개발자 버전 (1.41)에서 작동합니다. 단지 RESTBase 서비스 백엔드로만 사용중이고, 자바-8과 자바-11에서 작동합니다.

Caution 비-공개 위키로 전환할 경우에, RESTBase가 동작하지 않을 수 있습니다. 이때, localhost에 대한 SITEINFO를 알 수 없다는 메시지가 출력되고, 이후에는 설정을 아무리 바꾸어도 서비스가 연결되지 않습니다. 이때에는 잠시 공개 위키로 전환 후에, RESTBase가 올라온 후에 비-공개 위키로 바꿀 수 있습니다. 바른 해결책은 아직 확인되지 않았습니다.

Backup

백업을 적당한 주기로 하다보면, 어떤 내용을 백업했는지 기억을 못할 경우가 있습니다. 이를 방지하기 위해서 백업을 할 때에는 파일 이름에 미디어위키 판번호와 백업한 날짜를 같이 적어주는 것이 좋습니다.

Database

먼저 백업할 동안에 잠시 위키를 읽기만 가능하도록 LocalSettings.php를 바꾸어 주어야 합니다.

$wgReadOnly = 'Dumping Database, Access will be restored shortly';

다음과 같이 간단히 백업할 수 있습니다.

  • mysqldump -u root -p wikidb > wikidb.sql

백업과 함께 압축을 하고 싶다면, 다음과 같이 합니다.

  • mysqldump -u root -p wikidb | gzip > wikidb.sql.gz

백업이 끝난 후에는 LocalSettings.php에 추가했던 줄을 주석처리해 줍니다.

Related files

데이터베이스에 저장되지 않는 파일들을 백업해 두어야 합니다. 만약 충분한 크기의 하드디스크를 갖고 있다면 전체를 압축해서 백업하는 것도 좋겠습니다.

  • sudo tar zcvhf mediawiki.tgz /var/www/html/w

만약 반드시 필요한 파일만 백업하고 싶을 때에는 다음 파일을 백업할 수 있습니다.

  • LocalSettings.php : 설정 파일
  • images : 전체를 백업
  • skins : 수정한 테마
  • extensions : 개발한 확장 또는 일부 수정한 확장

Configuration

MediaWiki/Configuration

Extensions

MediaWiki/Extensions

Templates

MediaWiki/Templates

Troubleshootings

MediaWiki/Troubleshootings

See Also

References

  1. ^ Reed, Sam (19 December 2019). "Announcing MediaWiki 1.34.0". mediawiki-announce (Mailing list). Archived from the original on December 19, 2019. Retrieved 19 December 2019.
  2. ^ "Names.php · mediawiki". github.com. 8 April 2021. Retrieved 19 May 2021.{{cite web}}: CS1 maint: url-status (link)
  3. ^ "Copyright". mediawiki.org. Archived from the original on September 19, 2015. Retrieved September 7, 2015.
  4. ^ "MediaWiki history". MediaWiki website. Retrieved 2013-08-04.
  5. ^ a b "What is MediaWiki?". January 9, 2021. Archived from the original on July 22, 2018. Retrieved March 27, 2021.
  6. ^ Magnus Manske's announcement of "PHP Wikipedia", wikipedia-l, August 24, 2001
  7. ^ Barrett, Daniel J. (October 2008). MediaWiki. O'Reilly Media. ISBN 978-0-596-51979-7. Retrieved April 23, 2010.
  8. ^ Česky. "Wikipedia:Statistics – Wikipedia, the free encyclopedia". En.wikipedia.org. Archived from the original on August 28, 2021. Retrieved May 30, 2010.
  9. ^ See also: Translation statistics Archived October 25, 2008, at the Wayback Machine and Multilingual MediaWiki.
  10. ^ "Category:MediaWiki configuration settings". MediaWiki. September 11, 2016. Archived from the original on November 10, 2014. Retrieved September 11, 2016.
  11. ^ "Extension Matrix". MediaWiki. Archived from the original on September 11, 2016. Retrieved September 6, 2017.
  12. ^ Object 캐싱은 APCu, XCache, WinCache 등을 찾지만, Memcached, Redis를 별도로 설정할 수 있습니다.

External Resources