「MediaWiki」:修訂間差異

出自Gea-Suan Lin's Wiki
跳至導覽 跳至搜尋
本頁面具有訪問限制。如果您看見此訊息,這代表您沒有訪問本頁面的權限。
 
(未顯示同一使用者於中間所作的 60 次修訂)
行 1: 行 1:
  這篇 記錄 哪些 定需要做
'''MediaWiki'''是一套[[Wiki]]系統。
 
== 簡介 ==
MediaWiki是維基百科所使用的系統。
 
=== 為什麼 向企業推薦MediaWiki ===
對於企業來說,選擇MediaWiki 幾個方面是對於各種成本較好:
 
* 由於是維基百科所使用的系統,軟體的成熟度已經被社群磨練十來年了。
** 該有的功能都有,像是Template與Category的 計都很完整了。
** 尤其是Template,有很多可以直接從維基百科抄過來用。
* 也因為維基百科使用的關係,軟體開發的活躍度遠比其他[[Wiki]]軟體熱烈,各類社群資源(像是套件、文件,以及遇到Bug時可以搜尋到的機率)比較豐富。
** 尤其是套件的部份,甚至有套件支援直接把[[Lua]]程式碼放到頁面上執行(沙箱環境),這使得文件的彈性大增


== 安裝 ==
== 安裝 ==
  安裝 完成後 事情要做
=== MySQL ===
* 網 址SEO 化。
<syntaxhighlight lang="sql">
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`;
</syntaxhighlight>
 
=== PHP ===
 
  需要 安裝 一些[[PHP]]的套件:
 
<syntaxhighlight lang="shell">
sudo apt install php7.4-apcu php7.4-gd php7.4-intl php7.4-mbstring php7.4-mysql php7.4-xml
</syntaxhighlight>
 
<syntaxhighlight lang="shell">
sudo apt install php8.2-apcu php8.2-gd php8.2-intl php8.2-mbstring php8.2-mysql php8.2-xml
</syntaxhighlight>
 
=== nginx ===
 
其中[[nginx]]需要設定這些參數 主要是把所有request都丟給<code>index.php</code>以實做Pretty URL(SEO):
 
<syntaxhighlight lang="nginx">
   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;
   }
</syntaxhighlight>
 
=== 軟體 ===
 
在官方網站上下載就可以了。
 
== 設定 ==
設定都是修改<code>LocalSettings.php</code>
 
=== SEO 相關 ===
* 網 址[[SEO]] 化。 在[[nginx]]上主要是把所有的request都丟給<code>index.php</code>,之後告訴MediaWiki使用Pretty URL<ref>{{Cite web |url=https://www.mediawiki.org/wiki/Manual:Short_URL/wiki/Page_title_--_nginx_rewrite--root_access |title=Manual:Short URL/wiki/Page title -- nginx rewrite--root access - MediaWiki |accessdate=2018-02-05}}</ref>:
<syntaxhighlight lang="php">$wgScriptPath = "";
$wgArticlePath = "/wiki/$1";
$wgUsePathInfo = true;</syntaxhighlight>
* 關閉<code>nofollow</code><ref>{{Cite web |url=https://www.mediawiki.org/wiki/Manual:$wgNoFollowLinks |title=Manual:$wgNoFollowLinks - MediaWiki |accessdate=2018-02-05}}</ref>:
<syntaxhighlight lang="php">$wgNoFollowLinks = false;</syntaxhighlight>
 
=== 其他 ===
 
* 關閉編輯時預設Watch功能<ref name="wgdefaultuseroptions">{{Cite web |url=https://www.mediawiki.org/wiki/Manual:$wgDefaultUserOptions |title=Manual:$wgDefaultUserOptions - MediaWiki |accessdate=2018-02-05}}</ref>:
<syntaxhighlight lang="php">
$wgDefaultUserOptions['watchdefault'] = 0;
</syntaxhighlight>
* 允許上傳<code>svg</code>:
<syntaxhighlight lang="php">
$wgFileExtensions[] = 'svg';
</syntaxhighlight>
* 關閉巡查功能:
<syntaxhighlight lang="php">
$wgUseFilePatrol = false;
$wgUseNPPatrol = false;
$wgUseRCPatrol = false;
</syntaxhighlight>
 
== 套件 ==
 
由於會用到維基百科設計好的Template,有不少套件需要安裝:
 
* [https://www.mediawiki.org/wiki/Extension:Cite Extension:Cite - MediaWiki]
* [https://www.mediawiki.org/wiki/Extension:ParserFunctions Extension:ParserFunctions - MediaWiki]
* [https://www.mediawiki.org/wiki/Extension:Scribunto Extension:Scribunto - MediaWiki]
 
其他:
 
* [https://www.mediawiki.org/wiki/Extension:CodeEditor Extension:CodeEditor - MediaWiki]
* [https://www.mediawiki.org/wiki/Extension:Gadgets Extension:Gadgets - MediaWiki]
* [https://www.mediawiki.org/wiki/Extension:SlackNotifications Extension:SlackNotifications - MediaWiki]
* [https://www.mediawiki.org/wiki/Extension:SyntaxHighlight Extension:SyntaxHighlight - MediaWiki]
* [https://www.mediawiki.org/wiki/Extension:WikiEditor Extension:WikiEditor - MediaWiki]


== 參考資料 ==
== 參考資料 ==
{{Reflist|2}}
{{Reflist|2}}
== 外部連結 ==
* {{Official|https://www.mediawiki.org/}} {{en}}
[[Category:軟體]]

於 2023年5月12日 (五) 07:56 的最新修訂

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,有不少套件需要安裝:

其他:

參考資料

外部連結