一、简介

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

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

环境说明

操作系统:centos 7.6

ip地址:192.168.31.149

配置:1核2G

本文采用单机部署一套MediaWiki

二、安装docker

具体步骤,请参考链接:

https://www.cnblogs.com/xiao987334176/p/11771657.html

三、安装mysql

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

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

# docker exec -it wiki-mysql /bin/bash

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

三、安装MediaWiki

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

docker pull mediawiki:1.31.
docker run -itd --name mywiki -p : --privileged=true --restart=always --link wiki-mysql:mysql mediawiki:1.31.

四、初始化配置

打开浏览器

http://192.168.31.149:8080/mediawiki/index.php

开始初始化配置

语言设置

环境检查

选择mysql,注意:修改ip地址为服务器ip。数据库用户:wikiuser,密码:123456

选择数据库引擎为InnoDB

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

注意:wiki名称,一般为公司名

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

正式安装

安装完成

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

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

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

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

docker cp LocalSettings.php mywiki:/var/www/html/

点击 上图中的 进入您的wiki

它会调转链接:

http://192.168.31.149:8080/index.php/首页

效果如下:

网页持久化配置

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

复制网页目录

docker cp mywiki:/var/www/html /data/mediawiki/

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

docker rm -f mywiki
docker run -itd --name mywiki -p : -v /data/mediawiki/html:/var/www/html --privileged=true --restart=always --link wiki-mysql:mysql mediawiki:1.31.

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

本文参考链接:

https://www.jianshu.com/p/8de371558ef6
https://blog.51cto.com/13767724/2173885

docker搭建MediaWiki的更多相关文章

  1. 如何使用Weave以及Docker搭建Nginx反向代理/负载均衡服务器

    Hi, 今天我们将会学习如何使用 Weave 和 Docker 搭建 Nginx 的反向代理/负载均衡服务器.Weave 可以创建一个虚拟网络将 Docker 容器彼此连接在一起,支持跨主机部署及自动 ...

  2. 使用 Docker 搭建 Java Web 运行环境

    黄勇的博客 Docker 是 2014 年最为火爆的技术之一,几乎所有的程序员都听说过它.Docker 是一种“轻量级”容器技术,它几乎动摇了传统虚拟化技术的地位,现在国内外已经有越来越多的公司开始逐 ...

  3. mac下通过docker搭建LEMP环境

    在mac下通过docker搭建LEMP环境境 1.安装virtualbox.由于docker是在lxc环境的容器 2.安装boot2docker,用于与docker客户端通讯 > brew up ...

  4. 转:使用 Docker 搭建 Java Web 运行环境

    原文来自于:http://www.codeceo.com/article/docker-java-web-runtime.html Docker 是 2014 年最为火爆的技术之一,几乎所有的程序员都 ...

  5. 【译文】用Spring Cloud和Docker搭建微服务平台

    by Kenny Bastani Sunday, July 12, 2015 转自:http://www.kennybastani.com/2015/07/spring-cloud-docker-mi ...

  6. docker搭建zabbix

    本次使用docker搭建zabbix的组合是mysql+docker+zabix-server 1 先安装数据库mysql docker run --name zabbix-mysql-server ...

  7. Docker 搭建 etcd 集群

    阅读目录: 主机安装 集群搭建 API 操作 API 说明和 etcdctl 命令说明 etcd 是 CoreOS 团队发起的一个开源项目(Go 语言,其实很多这类项目都是 Go 语言实现的,只能说很 ...

  8. Centos7安装ES 和 Docker搭建ES

    本文版权归博客园和作者吴双本人共同所有 转载和爬虫请注明原文地址 www.cnblogs.com/tdws 一.linux centos7.x安装ES 1.下载java sudo yum instal ...

  9. Docker最全教程之使用Docker搭建Java开发环境(十七)

    前言 Java是一门面向对象的优秀编程语言,市场占有率极高,但是在容器化实践过程中,发现官方支持并不友好,同时与其他编程语言的基础镜像相比(具体见各语言镜像比较),确实是非常臃肿. 本篇仅作探索,希望 ...

随机推荐

  1. Direct Access to Video Encoding and Decoding

    来源:http://asciiwwdc.com/2014/sessions/513   Direct Access to Video Encoding and Decoding  Session 5 ...

  2. angular6 导出Excel文件

    1.安装file-saver.@types/file-saver和xlsx npm install file-saver --save npm install @types/file-saver -- ...

  3. Apache源码编译安装脚本

      Apache是开源的的.最流行的Web服务器软件之一,它快速.可靠并且可通过简单的API扩充,将Perl/Python/PHP等解释器编译到服务器中.Apache的模块超多,以及具有运行稳定,强大 ...

  4. libass简明教程

    [时间:2019-05] [状态:Open] [关键词:字幕,libass,字幕渲染,ffmpeg, subtitles, video filter] 0 引言 libass库则是一个轻量级的对ASS ...

  5. JS三座大山再学习 ---- 原型和原型链

    本文已发布在西瓜君的个人博客,原文传送门 ## 前言 西瓜君之前学习了JS的基础知识与三座大山,但之后工作中没怎么用,印象不太深刻,这次打算再重学一下,打牢基础.冲鸭~~ 原型模式 JS实现继承的方式 ...

  6. 201671030129 周婷 实验十四 团队项目评审&课程学习总结

    项目 内容 这个作业属于哪个课程 软件工程 这个作业的要求在哪里 团队项目评审&课程学习总结 课程学习目标 (1)完成项目验收(2)反思总结课程学习内容 1.对<实验一 软件工程准备&g ...

  7. phpcms网站迁移无法更新内容提示Table 'led_com.lz_' doesn't exist的解决方法

    新接的一位客户说要把旧phpcms网站迁移到新的服务器并更换新域名,这对ytkah是小菜一碟,但往往事与愿违,忽略了一些细节会很惨的.进入新站后台怎么都无法生成内容,提示Table 'led_com. ...

  8. .eslintrc的配置

    { // 环境定义了预定义的全局变量. "env": { //环境定义了预定义的全局变量.更多在官网查看 "browser": true, "node ...

  9. Java的静态变量初始化的坑

    在网上看到一个很有意思的题目,题目如下 class SingleTon { private static SingleTon singleTon = new SingleTon(); public s ...

  10. 八大排序算法总结与java实现(转)

    八大排序算法总结与Java实现 原文链接: 八大排序算法总结与java实现 - iTimeTraveler 概述 直接插入排序 希尔排序 简单选择排序 堆排序 冒泡排序 快速排序 归并排序 基数排序 ...