docker搭建MediaWiki

发布时间:2020-03-12 11:00:05编辑:admin阅读(2501)

    一、简介

    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 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


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

    # 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,不然启动会失败。

    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

    四、初始化配置

    打开浏览器

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

     

    开始初始化配置

    1.png

     

    语言设置

    1.png

     

    环境检查

    1.png

     

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

    1.png

     

    选择数据库引擎为InnoDB

    1.png

     

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

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

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

    1.png

     

    正式安装

    1.png

     

    安装完成

    1.png

    注意:页面会自动下载一个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/首页

    效果如下:

    1.png

     

    网页持久化配置

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

    复制网页目录

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

     

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

    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

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

     

     

    本文参考链接:

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


关键字