网站LOGO
公爵书房 | 技术分享
页面加载中
10月3日
网站LOGO 公爵书房 | 技术分享
以指键之轻,承载知识之重
菜单
  • 热评
    用户的头像
    首次访问
    上次留言
    累计留言
    我的等级
    我的角色
    打赏二维码
    打赏博主
    Docker搭建MediaWiki
    点击复制本页地址
    微信扫一扫
    文章二维码
    文章图片 文章标题
    创建时间
  • 一 言
    确认删除此评论么? 确认
  • 本弹窗介绍内容来自,本网站不对其中内容负责。

    Docker搭建MediaWiki

    公爵 · 原创 ·
    笔记 · dockerMediaWiki
    共 3475 字 · 约 2 分钟 · 22

    简介

    MediaWiki 是 Wikipedia 使用的网站解决方案的开源版,以个人观点来看,Wiki 在这个时代显得不够时尚,且不支持 MarkDown 等新兴的标记语言,另外页面的组织方式采用了自己的一套管理语言,上手需要一定的学习成本。不过经典总归是经典。

    MediaWiki 也提供了官方的 Docker image,这就节省了不少安装环境的工作量,接下来就来看看私有 MediaWiki 站点是如何搭建起来的吧。

    环境说明

    操作系统:Debian 10.2 64bit

    配置:1核2G

    Docker管理器:3.9.1

    PHP:7.4.30

    本文采用docker部署一套MediaWiki

    安装docker

    请查看 官网

    安装mysql

    bash 代码:
    mkdir -p /data
    mkdir -p /data/mediawiki
    mkdir -p /data/mysql
    
    docker pull mysql:5.7
    
    docker run -itd -p 3306:3306 --name wiki-mysql -e MYSQL_ROOT_PASSWORD=123456 --restart=always --restart=on-failure:1 --oom-score-adj -1000 --privileged=true --log-opt max-size=10m --log-opt max-file=1 -v /data/mysql:/var/lib/mysql  mysql:5.7

    创建数据库以及用户,并开启远程连接权限

    bash 代码:
    # docker exec -it wiki-mysql /bin/bash
    
    root@4a6eaab770c5:/# mysql -p123456
    mysql> create database my_wiki;
    Query OK, 1 row affected (0.00 sec)
    
    mysql> create user 'wikiuser'@'%' identified by '123456';
    Query OK, 0 rows affected (0.00 sec)
    
    mysql> grant all privileges on my_wiki.* to 'wikiuser'@'%' with grant option;
    Query OK, 0 rows affected (0.01 sec)
    
    mysql> flush privileges;
    Query OK, 0 rows affected (0.00 sec)
    
    mysql> exit
    
    root@4a6eaab770c5:/# exit

    安装MediaWiki

    MediaWiki 需要依赖于 MySQL,所以要先启动 MySQL,再启动 MediaWiki,不然启动会失败。

    bash 代码:
    docker pull mediawiki:1.31.1
    docker run -itd --name mywiki -p 8080:80 --privileged=true --restart=always --link wiki-mysql:mysql mediawiki:1.31.1

    初始化配置

    打开浏览器

    bash 代码:
    http://IP+端口/mediawiki/index.php

    开始初始化配置

    开始设置.png开始设置.png

    语言设置

    语言设置.png语言设置.png

    环境检查

    环境检查.png环境检查.png

    选择mysql,注意:修改ip地址为mysql的容器IP,使用 'docker inspect [容器id或名称]' 进行查看容器IP。数据库用户:wikiuser,密码:123456

    数据库设置.png数据库设置.png

    选择数据库引擎为InnoDB,新版本可不用选择

    数据库引擎.png数据库引擎.png

    设置全局名称和添加管理员

    密码:必须8位以上,且符合复杂性要求

    设置账号密码.png设置账号密码.png

    正式安装

    正式安装.png正式安装.png

    安装完成

    安装完成.png安装完成.png

    注意:页面会自动下载一个 LocalSettings.php

    注意:先不要点击 进入您的wiki,还查一个步骤,否则会出错的。

    登录到服务器,将 LocalSettings.php 上传到服务器,比如:/tmp目录

    LocalSettings.php 复制到容器中的wiki根目录

    bash 代码:
    docker cp LocalSettings.php mywiki:/var/www/html/

    点击 上图中的 进入您的wiki

    它会调转链接

    bash 代码:
    http://IP:端口/index.php/首页

    效果如下:

    首页.png首页.png

    网页持久化配置

    目前的php代码在容器里面,一旦重启,数据就丢失了。

    复制网页目录

    bash 代码:
    docker cp mywiki:/var/www/html /data/mediawiki/

    杀掉docker,以新的方式启动。

    bash 代码:
    docker rm -f mywiki
    docker run -itd --name mywiki -p 8080:80 -v /data/mediawiki/html:/var/www/html --privileged=true --restart=always --link wiki-mysql:mysql  mediawiki:1.31.1

    再次刷新页面,效果同上!

    声明:本文由 公爵(博主)原创,依据 CC-BY-NC-SA 4.0 许可协议 授权,转载请注明出处。

    还没有人喜爱这篇文章呢

    现在已有

    1

    条评论
    发一条!
    1. 头像
      CRMsify
      • 等级:Lv.1
      • 角色:访客
      • 在线:本周

      Simply desire to say your article is as astounding. The clearness
      for your post is just excellent and i could think you are knowledgeable on this subject.
      Well together with your permission allow me to clutch
      your feed to stay up to date with impending post. Thanks a million and please continue
      the gratifying work.

      · · · 海外
    博客logo 公爵书房 | 技术分享 以指键之轻,承载知识之重 51统计 百度统计
    MOEICP 萌ICP备20226257号 ICP 赣ICP备2022001242号-1 ICP 闽公网安备35020502000606号 又拍云 本站由又拍云提供CDN加速/云存储服务

    🕛

    本站已运行 1 年 256 天 7 小时 37 分

    🌳

    自豪地使用 Typecho 建站,并搭配 MyLife 主题
    公爵书房 | 技术分享. © 2022 ~ 2023.
    网站logo

    公爵书房 | 技术分享 以指键之轻,承载知识之重
     
     
     
     
    壁纸