docker搭建MediaWiki
一、简介
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的更多相关文章
- 如何使用Weave以及Docker搭建Nginx反向代理/负载均衡服务器
Hi, 今天我们将会学习如何使用 Weave 和 Docker 搭建 Nginx 的反向代理/负载均衡服务器.Weave 可以创建一个虚拟网络将 Docker 容器彼此连接在一起,支持跨主机部署及自动 ...
- 使用 Docker 搭建 Java Web 运行环境
黄勇的博客 Docker 是 2014 年最为火爆的技术之一,几乎所有的程序员都听说过它.Docker 是一种“轻量级”容器技术,它几乎动摇了传统虚拟化技术的地位,现在国内外已经有越来越多的公司开始逐 ...
- mac下通过docker搭建LEMP环境
在mac下通过docker搭建LEMP环境境 1.安装virtualbox.由于docker是在lxc环境的容器 2.安装boot2docker,用于与docker客户端通讯 > brew up ...
- 转:使用 Docker 搭建 Java Web 运行环境
原文来自于:http://www.codeceo.com/article/docker-java-web-runtime.html Docker 是 2014 年最为火爆的技术之一,几乎所有的程序员都 ...
- 【译文】用Spring Cloud和Docker搭建微服务平台
by Kenny Bastani Sunday, July 12, 2015 转自:http://www.kennybastani.com/2015/07/spring-cloud-docker-mi ...
- docker搭建zabbix
本次使用docker搭建zabbix的组合是mysql+docker+zabix-server 1 先安装数据库mysql docker run --name zabbix-mysql-server ...
- Docker 搭建 etcd 集群
阅读目录: 主机安装 集群搭建 API 操作 API 说明和 etcdctl 命令说明 etcd 是 CoreOS 团队发起的一个开源项目(Go 语言,其实很多这类项目都是 Go 语言实现的,只能说很 ...
- Centos7安装ES 和 Docker搭建ES
本文版权归博客园和作者吴双本人共同所有 转载和爬虫请注明原文地址 www.cnblogs.com/tdws 一.linux centos7.x安装ES 1.下载java sudo yum instal ...
- Docker最全教程之使用Docker搭建Java开发环境(十七)
前言 Java是一门面向对象的优秀编程语言,市场占有率极高,但是在容器化实践过程中,发现官方支持并不友好,同时与其他编程语言的基础镜像相比(具体见各语言镜像比较),确实是非常臃肿. 本篇仅作探索,希望 ...
随机推荐
- Burp Suite渗透实战操作指南-上篇
Burp必备知识 在介绍功能之前有必要让大家了解一些burp的常用功能,以便在使用中更好的发挥麒麟臂的优势. 1.1 快捷键 很多人可能都没用过burp的快捷键吧,位置如下,不说话,如果不顺手可以自 ...
- android studio学习----添加项目依赖包补充---添加github上的开源项目为库
导入maven中的库 如果开源库作者有将代码放到Maven库中,我们可以在gradle配置中直接引入,类似如下: compile 'com.github.dmytrodanylyk.android-p ...
- loadrunner 基本操作
1.录制(录制选项) 2.回放(运行时设置) 3.添加事物 4.参数化 5.内容检查 6.添加集合点 1.在脚本中添加集合点函数如下: lr_rendezvous("集合点") / ...
- leetcode 学习心得 (4)
645. Set Mismatch The set S originally contains numbers from 1 to n. But unfortunately, due to the d ...
- NBU恢复数据库数据文件报错RMAN-06091
RMAN-06091: no channel allocated for maintenance (of an appropriate type) 一.错误信息 报错信息如下 Starting res ...
- HDU 1372 Knight Moves 题解
Knight Moves Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Tota ...
- Bootstrap 提示工具(Tooltip)插件
一.提示工具(Tooltip)插件根据需求生成内容和标记,默认情况下是把提示工具(tooltip)放在它们的触发元素后面. 有以下两种方式添加提示工具(tooltip): 1.通过data属性:如需添 ...
- 后缀自动机专题(hihocoder)
传送门 #1445 : 后缀自动机二·重复旋律5 题意: 给出字符串\(s\),询问字符串\(s\)中有多少不同的子串. 思路: 考虑对\(s\)建后缀自动机,那么\(\sum (len[i]-len ...
- actuator beans不展示
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring- ...
- mobx 学习笔记
Mobx 笔记 Mobx 三板斧,observable.observer.action. observable: 通过 observable(state) 定义组件的状态,包装后的状态是一个可观察数据 ...