「MediaWiki」:修訂間差異

出自Gea-Suan Lin's Wiki
跳至導覽 跳至搜尋
 
(未顯示同一使用者於中間所作的 5 次修訂)
行 17: 行 17:
<syntaxhighlight lang="sql">
<syntaxhighlight lang="sql">
CREATE DATABASE wiki_example_com DEFAULT CHARACTER SET utf8mb4 DEFAULT COLLATE utf8mb4_general_ci;
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';
CREATE USER `wiki_example_com`@`localhost` IDENTIFIED BY 'password_here';
GRANT ALL ON wiki_example_com.* TO `wiki_example_com`@`localhost`;
</syntaxhighlight>
</syntaxhighlight>


=== PHP ===
=== PHP ===
 需要安裝一些[[PHP]]的套件:
 需要安裝一些[[PHP]]的套件:
<syntaxhighlight lang="shell">
<syntaxhighlight lang="shell">
sudo apt install php7.4-apcu php7.4-gd php7.4-intl php7.4-mbstring php7.4-mysql php7.4-xml
sudo apt install php7.4-apcu php7.4-gd php7.4-intl php7.4-mbstring php7.4-mysql php7.4-xml
</syntaxhighlight>
</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):
 其中[[nginx]]需要設定這些參數,主要是把所有request都丟給<code>index.php</code>以實做Pretty URL(SEO):
<pre>   index index.php index.html;
 
<syntaxhighlight lang="nginx">
   index index.php index.html;
    try_files $uri $uri/ /index.php?$args;
    try_files $uri $uri/ /index.php?$args;
    access_log /var/log/nginx/wiki.gslin.com_ssl-access.log combined_ssl;
    access_log /var/log/nginx/wiki.gslin.com_ssl-access.log combined_ssl;
行 38: 行 46:
      fastcgi_intercept_errors on;
      fastcgi_intercept_errors on;
      fastcgi_pass php74;
      fastcgi_pass php74;
    }</pre>
    }
</syntaxhighlight>
 
=== 軟體 ===
 
在官方網站上下載就可以了。


== 設定 ==
== 設定 ==
行 52: 行 65:


=== 其他 ===
=== 其他 ===
* 關閉編輯時預設Watch功能<ref name="wgdefaultuseroptions">{{Cite web |url=https://www.mediawiki.org/wiki/Manual:$wgDefaultUserOptions |title=Manual:$wgDefaultUserOptions - MediaWiki |accessdate=2018-02-05}}</ref>:
* 關閉編輯時預設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">
<syntaxhighlight lang="php">
$wgDefaultUserOptions['watchdefault'] = 1;
$wgDefaultUserOptions['watchdefault'] = 0;
</syntaxhighlight>
</syntaxhighlight>
* 允許上傳<code>svg</code>:
* 允許上傳<code>svg</code>:

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

其他:

參考資料

外部連結