轻量级知识协作平台搭建:Docker + MediaWiki入门教程

轻量级知识协作平台搭建:Docker + MediaWiki 入门教程

  • 一、mediawiki介绍
    • [1.1 mediawiki简介](#1.1 mediawiki简介)
    • [1.2 mediawiki特点](#1.2 mediawiki特点)
  • 二、本地环境介绍
    • [2.1 本地环境规划](#2.1 本地环境规划)
    • [2.2 本次实践介绍](#2.2 本次实践介绍)
  • 三、本地环境检查
    • [3.1 检查Docker服务状态](#3.1 检查Docker服务状态)
    • [3.2 检查Docker版本](#3.2 检查Docker版本)
    • [3.3 检查docker compose 版本](#3.3 检查docker compose 版本)
  • 四、下载mediawiki镜像
  • 五、部署mediawiki应用
    • [5.1 创建部署目录](#5.1 创建部署目录)
    • [5.2 编辑mediawiki部署文件](#5.2 编辑mediawiki部署文件)
    • [5.3 创建mediawiki容器](#5.3 创建mediawiki容器)
    • [5.4 检查mediawiki容器状态](#5.4 检查mediawiki容器状态)
  • 六、mediawiki初始化安装
    • [6.1 进入mediawiki初始页](#6.1 进入mediawiki初始页)
    • [6.2 选择语言](#6.2 选择语言)
    • [6.3 环境检查](#6.3 环境检查)
    • [6.4 数据库配置](#6.4 数据库配置)
    • [6.5 设置登录账号](#6.5 设置登录账号)
    • [6.6 开始安装](#6.6 开始安装)
    • [6.7 复制LocalSettings.php文件](#6.7 复制LocalSettings.php文件)
    • [6.8 访问mediawiki首页](#6.8 访问mediawiki首页)

一、mediawiki介绍

1.1 mediawiki简介

MediaWiki 是一个用 PHP 编写的免费开源 wiki 软件包。它是维基百科和其他维基媒体项目的平台,每月有数亿人使用。MediaWiki 已本地化为 350 多种语言,其可靠性和强大的功能集为其赢得了庞大且充满活力的第三方用户和开发人员社区。

1.2 mediawiki特点

  • 功能丰富且可扩展,在 wiki 上并具有数百个扩展;
  • 可扩展并适用于小型和大型站点;
  • 安装简单,适用于大多数硬件/软件组合;和
  • 有您的语言版本。

二、本地环境介绍

2.1 本地环境规划

本次实践为个人测试环境,操作系统版本为centos7.6。

hostname IP地址 操作系统版本 Docker版本
jeven 192.168.3.166 centos 7.6 20.10.17

2.2 本次实践介绍

1.本次实践部署环境为个人测试环境,生产环境请谨慎;

2.在Docker环境下部署mediawiki工具。

三、本地环境检查

3.1 检查Docker服务状态

检查Docker服务是否正常运行,确保Docker正常运行。

bash 复制代码
[root@jeven ~]# systemctl status docker
● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
   Active: active (running) since Fri 2024-02-23 04:29:55 CST; 3 days ago
     Docs: https://docs.docker.com
 Main PID: 11772 (dockerd)
    Tasks: 75
   Memory: 9.0G
   CGroup: /system.slice/docker.service

3.2 检查Docker版本

检查Docker版本

bash 复制代码
[root@jeven ~]# docker -v
Docker version 20.10.17, build 100c701

3.3 检查docker compose 版本

检查Docker compose版本,确保2.0以上版本。

bash 复制代码
[root@jeven ~]# docker compose version
Docker Compose version v2.6.0

四、下载mediawiki镜像

从docker hub镜像仓库中拉取mediawiki镜像

bash 复制代码
[root@jeven ~]# docker pull  mediawiki:1.32
1.32: Pulling from library/mediawiki
Digest: sha256:349aeb8014b58754ac25ea022ee0c26e399ce18d756ecada7579c3f39d52c5a1
Status: Image is up to date for mediawiki:1.32
docker.io/library/mediawiki:1.32

五、部署mediawiki应用

5.1 创建部署目录

创建部署目录/data/mediawiki

bash 复制代码
mkdir -p /data/mediawiki/{data,uploads}   && cd /data/mediawiki

目录授权

bash 复制代码
chmod -R 777 /data/mediawiki/

5.2 编辑mediawiki部署文件

本次实践部署使用docker compose方式,编辑docker-compose.yaml部署文件。

yaml 复制代码
version: "3"

services:
  # 如果你使用数据库,可以参考下面的地址,或者我文章中标记有 Docker 的历史文章
  # https://docs.docker.com/samples/library/mediawiki/
  mediawiki:
    restart: always
    image: mediawiki:1.32
    labels:
      - "traefik.enable=true"
      - "traefik.frontend.rule=Host:mediawiki.lab.io"
      - "traefik.frontend.passHostHeader=true"
      - "traefik.frontend.entryPoints=http,https"
#    networks:
#      - traefik
    expose:
      - 80
    ports:
      - 7880:80
    volumes:
      # 默认上传位置
      - ./uploads/images:/var/www/html/images
      # 默认 SQLite 储存位置
      - ./data:/var/www/data
      # 当初始化安装完毕之后,将配置文件下载并保存到下面的位置,
      # 并去掉注释,重启应用
      # - ./LocalSettings.php:/var/www/html/LocalSettings.php

5.3 创建mediawiki容器

使用docker-compose.yaml文件创建mediawiki容器

bash 复制代码
[root@jeven mediawiki]# docker compose up -d
[+] Running 2/2
 ⠿ Network mediawiki_default        Created                                                                                                     0.0s
 ⠿ Container mediawiki-mediawiki-1  Started                                                                                                     0.7s

5.4 检查mediawiki容器状态

检查mediawiki容器状态,确保mediawiki容器正常启动。

bash 复制代码
[root@jeven mediawiki]# docker compose ps
NAME                    COMMAND                  SERVICE             STATUS              PORTS
mediawiki-mediawiki-1   "docker-php-entrypoi..."   mediawiki           running             0.0.0.0:7880->80/tcp, :::7880->80/tcp

六、mediawiki初始化安装

6.1 进入mediawiki初始页

访问地址:http://192.168.3.166:6600,将IP替换为自己服务器IP地址,进入进入mediawiki初始页,自定义注册账号和密码。如果无法访问,则检查服务器防火墙是否设置,云服务器的安全组端口是否放行等。

>点击图中所示位置,开始mediawiki的初始化配置。

6.2 选择语言

选择系统语言,默认是中文语言,点击"继续",开始下一步安装。

6.3 环境检查

将简单检查当前环境是否适合安装MediaWiki,点击"继续",开始下一步。

6.4 数据库配置

MediaWiki支持多种数据库,如MariaDB、PostgreSQL和SQLite等,这里我们选择轻量级数据库SQLite,完成快速部署。

6.5 设置登录账号

自定义设置登录账号和密码,点击"继续",下一步。

6.6 开始安装

点击"继续",开始初始化安装。


完成初始化安装

6.7 复制LocalSettings.php文件

安装程序自动生成了LocalSettings.php文件,会自动在浏览器下载该文件,如果浏览器没有下载,则在该界面手动点击下载LocalSettings.php文件。我们将此文件拷贝到宿主机的部署目录中,使用docker cp命令将LocalSettings.php复制到容器的/var/www/html目录下,与index.php文件都在此目录下。

复制LocalSettings.php文件

bash 复制代码
docker cp LocalSettings.php mediawiki-mediawiki-1:/var/www/html

重启容器

bash 复制代码
docker compose restart

6.8 访问mediawiki首页

刷新页面,可以访问到mediawiki首页。

相关推荐
@hdd9 小时前
实战:在 Kubernetes 上部署微服务应用
微服务·容器·kubernetes
Elastic 中国社区官方博客15 小时前
在 Kubernetes 上的依赖管理
大数据·elasticsearch·搜索引擎·云原生·容器·kubernetes·全文检索
星星乘坐的船15 小时前
Centos7.9系统下docker安装
运维·docker·容器
Elastic 中国社区官方博客17 小时前
Agentic CI/CD:使用 Kubernetes 部署门控,结合 Elastic MCP Server
大数据·人工智能·elasticsearch·搜索引擎·ci/cd·容器·kubernetes
切糕师学AI17 小时前
Kubernetes 中的 StatefulSet
云原生·容器·kubernetes
阿乐艾官18 小时前
【K8s思维导图及单节点容器启动流程】
java·容器·kubernetes
礼拜天没时间.18 小时前
企业级Docker镜像仓库Harbor部署实战
linux·运维·docker·云原生·容器·sre
阿寻寻19 小时前
【云原生技术】Pod 列表新增时间字段:取值口径与获取方式
docker·云原生·kubernetes
DeeplyMind20 小时前
第27章 常见问题与解决方案
运维·docker·容器
!chen20 小时前
Ubuntu 上 Docker 的配置及代理
ubuntu·docker·eureka