MediaWiki

出自Gea-Suan Lin's Wiki
跳至導覽 跳至搜尋

MediaWiki是一套Wiki系統。

簡介

MediaWiki是維基百科所使用的系統。

為什麼會向企業推薦MediaWiki

對於企業來說,選擇MediaWiki有幾個方面是對於各種成本較好:

  • 由於是維基百科所使用的系統,軟體的成熟度已經被社群磨練十來年了。
    • 該有的功能都有,像是Template與Category的設計都很完整了。
    • 尤其是Template,有很多可以直接從維基百科抄過來用。
  • 也因為維基百科使用的關係,軟體開發的活躍度遠比其他Wiki軟體熱烈,各類社群資源(像是套件、文件,以及遇到Bug時可以搜尋到的機率)比較豐富。
    • 尤其是套件的部份,甚至有套件支援直接把Lua程式碼放到頁面上執行(沙箱環境),這使得文件的彈性大增。

安裝

MySQL

CREATE DATABASE wiki_example_com DEFAULT CHARACTER SET utf8mb4 DEFAULT COLLATE utf8mb4_general_ci;
CREATE USER `wiki_example_com`@`localhost` IDENTIFIED BY 'password_here';
GRANT ALL ON wiki_example_com.* TO `wiki_example_com`@`localhost`;

PHP

需要安裝一些PHP的套件:

sudo apt install php7.4-apcu php7.4-gd php7.4-intl php7.4-mbstring php7.4-mysql php7.4-xml
sudo apt install php8.2-apcu php8.2-gd php8.2-intl php8.2-mbstring php8.2-mysql php8.2-xml

nginx

其中nginx需要設定這些參數,主要是把所有request都丟給index.php以實做Pretty URL(SEO):

    index index.php index.html;
    try_files $uri $uri/ /index.php?$args;
    access_log /var/log/nginx/wiki.gslin.com_ssl-access.log combined_ssl;

    location ~ \.php$ {
        include fastcgi.conf;
        fastcgi_intercept_errors on;
        fastcgi_pass php74;
    }

軟體

在官方網站上下載就可以了。

設定

這些設定都是修改LocalSettings.php

SEO 相關

  • 網址SEO化。在nginx上主要是把所有的request都丟給index.php,之後告訴MediaWiki使用Pretty URL[1]
$wgScriptPath = "";
$wgArticlePath = "/wiki/$1";
$wgUsePathInfo = true;
  • 關閉nofollow[2]
$wgNoFollowLinks = false;

其他

  • 關閉編輯時預設Watch功能[3]
$wgDefaultUserOptions['watchdefault'] = 0;
  • 允許上傳svg
$wgFileExtensions[] = 'svg';
  • 關閉巡查功能:
$wgUseFilePatrol = false;
$wgUseNPPatrol = false;
$wgUseRCPatrol = false;

套件

由於會用到維基百科設計好的Template,有不少套件需要安裝:

其他:

參考資料

外部連結