加载中…

文章背景图

用MediaWiki搭建一个自己的私人维基

2026-03-10
16
-
- 分钟

项目介绍

MediaWiki 是一款免费开源的维基百科引擎,采用 PHP 编写而成。作为维基百科及其他维基媒体项目的核心平台,每月被数亿用户访问。这个强大的系统已被本地化为超过 350 种语言版本,以其卓越的稳定性和丰富的功能特性赢得了全球开发者和用户的信赖。

MediaWiki 具备以下特点:

  • 功能丰富且易于扩展,支持数百个第三方插件和自定义功能

  • 高度可扩展,适用于小型个人维基到大型企业知识库

  • 安装简便,兼容大多数硬件和软件环境

  • 多语言支持,覆盖全球用户

无论你是想搭建个人知识库、企业内部文档系统还是社区百科全书,MediaWiki 都能满足你的需求。

MediaWiki 是一个自由软件:也就是说,它可以在自有的服务器上创建一个属于自己的私有 Wikipedia,管理自己特定的知识体系。把自己的服务器腾出一块地方加上一个域名,搞起自己的私人 Wiki。


此外,还有一个词叫做维基农场,也就是提供多个维基系统寄存的服务器,用户可以通过申请或者是被邀请的方式创建独立的 Wiki 站点。

比如在国内比较大的维基农场叫做灰机wiki,上面有各种影视、游戏内容的 Wiki。比方说记录了游戏里面的人物、物品、武器的属性等内容,亦或者是电影里面的各种细节人物和他们的故事等,方便玩家或者爱好者查询和共同编辑、壮大,形成一部专有的百科全书。

比如,下图中就是游戏《以撒的结合》的专题中文维基:

ac3a6534-7265-49fb-9e7e-2a702a332242.png

需要注意的几个点:

  1. 为什么使用 MediaWiki 搭建 wiki 站点?毕竟作为一个自由软件,能够长期地维护下去不容易,但是它目前支撑起了全球最大的百科全书 Wikipedia,或者说 Wikipedia 支撑起了它,所以在性能、维护、社区文档方面都是 OK 的,虽然肯定没有 Halo 这样的建站系统资源(包括教程、易用性、插件、主题等)丰富。

  2. MediaWiki 的编辑语法和 markdown 还是有所区别的,有两种方式可以实现:用它自带的可视化编辑器或者去官网的词条 “格式化文本”,看看怎么编辑。

  3. MediaWiki 有个我不喜欢的地方就是页面查看权限的管理,词条要么对外全可见要么全不可见。虽然可以添加例外,但是好麻烦。不过,当它对外全不可见时,你可以邀请和管理特定的人员作为注册用户进行查看、编辑。

  4. 需要一个自己的服务器或者虚拟主机。可以去 阿里云 或者是 腾讯云 或者是什么什么云看看,国内的要备案、国外的要看 IP 是否被 ban。我反正始终推荐 雨云,界面清爽、价格实惠。

  5. 服务器不像虚拟主机:付完钱就能用。所以装个 1Panel 吧 —— 免费。(什么是1Panel?它可以在你新买的服务器上一键部署 LAMP/LNMP、网站、数据库、FTP、SSL,轻松管理多个站点。)

在 1Panel 上安装 MediaWiki

直接安装

  1. 安装1Panel。(如何安装?

  2. 确保已在“应用商店”安装了 OpenRestyMariaDB/MySQLPHP (建议安装 PHP 8.1 或 8.2)。
    应用商店 -> 已安装 -> 找到 PHP -> 扩展,确保安装了 intl, gd, mbstring, xml 等常用扩展。(在安装时也可选择需要的扩展内容)

  3. 点击左侧 网站 -> 创建 -> 运行环境,填写域名等信息。

  4. 在你的域名服务商进行域名解析。

  5. 选择刚才安装的 PHP 版本。

  6. 选择 MySQL/MariaDB,并创建一个新库(记下账号密码)。

  7. MediaWiki官网 下载最新的 .tar.gz 包。
    在1Panel的文件管理中,进入网站根目录,上传并解压。
    将解压出的文件(index.php 等)移动到网站根目录。

  8. 访问你的域名,根据网站提示进行安装。

使用 Docker Compose 安装

如果你想要更强的自定义能力,可以使用 1Panel 的“容器编排”功能。

一、创建编排

  1. 点击左侧菜单 容器 -> 编排 -> 创建

  2. 名称:填写 mediawiki

  3. 内容:复制并粘贴以下 Docker Compose 配置代码:

version: '3'
services:
  mediawiki:
    image: mediawiki:1.45.1
    container_name: mediawiki
    restart: always
    ports:
      - "8080:80"  # 左边的8080可以改成你想要的端口
    links:
      - database
    volumes:
      - ./images:/var/www/html/images
      # 下面这行先注释掉,安装完生成LocalSettings.php后再解开
      # - ./LocalSettings.php:/var/www/html/LocalSettings.php
    environment:
      - MW_DB_HOST=database
      - MW_DB_USER=wikiuser
      - MW_DB_PASSWORD=your_secure_password # 请修改这个密码
      - MW_DB_NAME=wikidb

  database:
    image: mariadb:10.6
    container_name: mediawiki_db
    restart: always
    environment:
      - MYSQL_ROOT_PASSWORD=root_secure_password # 请修改Root密码
      - MYSQL_DATABASE=wikidb
      - MYSQL_USER=wikiuser
      - MYSQL_PASSWORD=your_secure_password # 必须与上面mediawiki的一致
    volumes:
      - ./db_data:/var/lib/mysql

二、启动与安装

  1. 点击 保存 ,等待拉取镜像完成启动。

  2. 在浏览器访问 http://你的IP:8080

  3. 按照屏幕提示进行安装:

    • 数据库类型:选择 MariaDB

    • 数据库主机:填写 database (对应yaml里的service name)。

    • 数据库用户名wikiuser

    • 数据库密码:填写你在yaml里设置的 your_secure_password

三、上传配置文件

MediaWiki 安装最后一步会提示你下载 LocalSettings.php 文件。这是 Docker 部署最关键的一步:

  1. 下载文件:将浏览器生成的 LocalSettings.php 下载到电脑桌面。

  2. 上传文件

    • 回到1Panel,进入 容器 -> 编排

    • 找到刚才创建的 mediawiki 编排,点击 目录 打开挂载目录。

    • LocalSettings.php 上传到这个目录中。

  3. 挂载配置

    • 点击 编辑 该编排。

    • 取消注释 yaml 文件中关于 LocalSettings.php 的那一行(去掉前面的 # 号): - ./LocalSettings.php:/var/www/html/LocalSettings.php

    • 点击 保存。容器重启后,你的 Wiki 就部署完成了。

结语

如果真要自行安装,推荐使用 Docker Compose 部署,因为 MediaWiki 依赖较多PHP扩展,Docker 镜像已经帮你打包好了所有环境,比方式三自己折腾 PHP 扩展要稳定得多。

如果真的出现了什么问题,大大方方问AI,Vibe Coding 不丢人!

评论交流

文章目录