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;
GRANT ALL ON wiki_example_com.* TO `wiki_example_com`@`localhost` IDENTIFIED BY 'password';

PHP

需要安装一些PHP的套件:

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

软体

到官方网站上下载安装就可以了。

其中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'] = 1;
  • 允许上传svg
$wgFileExtensions[] = 'svg';
  • 关闭巡查功能:
$wgUseFilePatrol = false;
$wgUseNPPatrol = false;
$wgUseRCPatrol = false;

套件

由于会用到维基百科设计好的Template,有不少套件需要安装:

其他:

参考资料

外部连结