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是一门面向对象的优秀编程语言,市场占有率极高,但是在容器化实践过程中,发现官方支持并不友好,同时与其他编程语言的基础镜像相比(具体见各语言镜像比较),确实是非常臃肿. 本篇仅作探索,希望 ...
随机推荐
- spoon(kettle)基本配置(连接Mysql和Oracle)
1.下载spoon包和驱动 可以去spoon官网下载需要的spoon版本 官网 :http://kettle.pentaho.org/ 下载的最新版本的kettle是:pdi-ce-7.1.0.0-1 ...
- sqlldr导入数据取消回显记录条数
之前在脚本中使用sqlldr导入数据时,如果表的数据量较大的话,会使日志文件变得极大,之后在网上查找了很久,才在一个偶然的机会找到这个参数 silent=all 但是最近发现这样写有个问题,就是加了这 ...
- 安装centos6.10时,安装完成重启报错error 15,file not found
今天在一台老式联想服务器上安装centos6.10操作系统,安装完成,重启时,出现报错 error 15, file not found...... 在百度上搜索到进grub编辑,可还是无法解决问题, ...
- Matplotlib 绘制定制的直方图
1.普通风格 代码 import numpy as np import matplotlib.pyplot as plt rng = np.random.RandomState(27) x = rng ...
- 逆向破解之160个CrackMe —— 031
CrackMe —— 031 160 CrackMe 是比较适合新手学习逆向破解的CrackMe的一个集合一共160个待逆向破解的程序 CrackMe:它们都是一些公开给别人尝试破解的小程序,制作 c ...
- Rxjava学习笔记
1.使用Observable.range(int start, int count)创建一个发射特定整数序列的Observable,第一个参数为起始值,第二个为发送的个数,如果为0则不发送,负数则抛异 ...
- CentOS6.10部署的Tomcat8.5启动后,浏览器访问不到的解决方法
解决过程如下: 一.关闭 selinux 和 iptables 防火墙 二.查看 tomcat 是否在运行 ps aux |grep tomcat 三.查看端口情况 lsof -i:8080 查看后都 ...
- SDN Reading Notes
网络操作编程语言:Frenetic QoS策略实施框架:PolicyCop
- Iptables不适用与socks协议吗?
需求描述 现有一个台多公网IP服务器,用作于内网网关,通过NAT访问公网使用,要求不同的内网地址访问公网时使用不同的公网IP.可以简单理解为内网与公网IP进行一对一访问外网的映射. 服务器名称 I ...
- Hibernate框架学习3
一对多|多对一 一对多 多对一 级联操作 结论: 简化操作.一定要用,save-update,不建议使用delete. 关系维护 在保存时.两方都会维护外键关系.关系维护两次,冗余了. 多余的维护关系 ...