docker搭建MediaWiki
一、简介
MediaWiki 是 Wikipedia 使用的网站解决方案的开源版,以个人观点来看,Wiki 在这个时代显得不够时尚,且不支持 MarkDown 等新兴的标记语言,另外页面的组织方式采用了自己的一套管理语言,上手需要一定的学习成本。不过经典总归是经典。
MediaWiki 也提供了官方的 Docker image,这就节省了不少安装环境的工作量,接下来就来看看私有 MediaWiki 站点是如何搭建起来的吧。
环境说明
操作系统:centos 7.6
ip地址:192.168.0.221
配置:1核2G
本文采用单机部署一套MediaWiki
二、安装mysql
[root@server02 ~]# mkdir -p /data [root@server02 ~]# mkdir -p /data/mediawiki [root@server02 ~]# mkdir -p /data/mysql [root@server02 ~]# docker pull mysql:5.7 [root@server02 ~]# 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
创建数据库以及用户,并开启远程连接权限。
[root@server02 ~]# docker exec -it wiki-mysql /bin/bash root@13605f484ae0:/# 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.00 sec) mysql> flush privileges; Query OK, 0 rows affected (0.01 sec) mysql> exit Bye root@13605f484ae0:/# exit exit
安装安装MediaWiki
MediaWiki 需要依赖于 MySQL,所以要先启动 MySQL,再启动 MediaWiki,不然启动会失败。
[root@server02 ~]# docker pull mediawiki:1.31.1 [root@server02 ~]# docker run -itd --name mywiki -p 8080:80 --privileged=true --restart=always --link wiki-mysql:mysql mediawiki:1.31.1
三、初始化配置
打开浏览器192.168.0.221:8080
环境检查
选择mysql,注意:修改ip地址为服务器ip。数据库用户:wikiuser,密码:123456
选择数据库引擎为InnoDB
设置全局名称和添加管理员
注意:wiki名称,一般为公司名
密码:必须8位以上,且符合复杂性要求
正式安装
注意:页面会自动下载一个LocalSettings.php
注意:先不要点击 进入您的wiki,还查一个步骤,否则会出错的。
登录到服务器,将 LocalSettings.php 上传到服务器,比如:/tmp目录
将 LocalSettings.php 复制到容器中的wiki根目录
[root@server02 ~]# docker cp LocalSettings.php mywiki:/var/www/html/
点击 上图中的 进入您的wiki
它会调转链接:
网页持久化配置
目前的php代码在容器里面,一旦重启,数据就丢失了。
复制网页目录
[root@server02 ~]# docker cp mywiki:/var/www/html /data/mediawiki/
杀掉docker,以新的方式启动。
[root@server02 ~]# docker rm -f mywiki mywiki [root@server02 ~]# 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 a9da8d1941c809787e9f41a4f5907a06ecbb6d00e9c0c5f4132d4b95845d4475
再次刷新页面,效果同上!
本文参考链接:
https://www.jianshu.com/p/8de371558ef6
https://blog.51cto.com/13767724/2173885