docker 部署 mediawiki

docker 部署 mediawiki

Wiki 是在万维网上开放,且可供多人协同创作的超文本系统。mediawiki 属于比较经典的 wiki 程序,官方还有 docker 镜像,安装部署十分方便。
实验环境:
centos7.6
docker 18.09.6
ip 192.168.116.1
docker 安装
docker 镜像加速

  • 1 mediawiki 需要使用数据库来存储文档,起一个 mariadb 的 docker 容器
docker run -d --name db_mediawiki \
       -v /opt/mediawiki:/var/lib/mysql \
       -p 3309:3306 \
       -e MYSQL_ROOT_PASSWORD=media \
       -e MYSQL_DATABASE=media \
       -e MYSQL_USER=media \
       -e MYSQL_PASSWORD=media \
       mariadb
  • 2 使用官方的 doecker 镜像部署 mediawiki
docker run --name mymediawiki \
           -p 9000:80  \
           --link db_mediawiki:db_media  \
           -d  mediawik
  • 3 本机访问 127.0.0.1:9000 端口,如果是其它机器,访问 192.168.116.1,并且开启相应的端口或关闭防火墙
firewall-cmd --permanent --add-port 9000/tcp
firewall-cmd --reload
  • 4 浏览网页进行初始化 mediawiki
    本机登录 127.0.0.1:9000
    在这里插入图片描述
    语言可以选择简体中文
    在这里插入图片描述
    设置数据库连接,根据创建的 mariadb docker container 来填写
docker run -d --name db_mediawiki \
       -v /opt/mediawiki:/var/lib/mysql \
       -p 3309:3306 \
       -e MYSQL_ROOT_PASSWORD=media \
       -e MYSQL_DATABASE=media \
       -e MYSQL_USER=media \
       -e MYSQL_PASSWORD=media \
       mariadb

在这里插入图片描述
选择数据库存储引擎
在这里插入图片描述
创建管理员用户
在这里插入图片描述
配置用户权限,可以选择完全开放,也可以选择控制帐号的创建
在这里插入图片描述
下载 LocalSettings.php
在这里插入图片描述

  • 5 copy LocalSettings.php 到 docker 容器中
docker cp LocalSettings.php mymediawiki:/var/www/html/
  • 6 刷新页面,登录后可以对页面进行编辑(下图做过一些配置修改,可能不一样)
    在这里插入图片描述

至此,搭建部分已经完成。总的来说,感觉 wiki 编排还是不大习惯,毕竟没有经历过那个时代的网络。关于 mediawiki 的一些使用方法,可以参考 [https://blog.csdn.net/wangnan537/article/details/37743497]
(https://blog.csdn.net/wangnan537/article/details/37743497)

接下来讲讲 mediawiki 的一些常用配置

1 允许上传文件,需要在设置里面开启
编辑 LocalSettings.php,设置

$wgEnableUploads = true; # 启用上传

2 设置允许上传文件的类型

$wgFileExtensions = array( 'png', 'gif', 'jpg', 'jpeg', 'doc',
    'xls', 'mpp', 'pdf', 'ppt', 'tiff', 'bmp', 'docx', 'xlsx',
    'pptx', 'ps', 'odt', 'ods', 'odp', 'odg','txt','zip'
);

具体参考文章 https://www.mediawiki.org/wiki/Manual:Configuring_file_uploads/zh
3 修改最大上传文件限制
LocalSetting.php 添加这两行

$wgUploadSizeWarning = 1073741824;
$wgMaxUploadSize = 1073741824;

更改php.ini文件
在容器中输入 php --ini命令,去查找php.ini在哪

[root@mapleaves ~]# docker exec -it mymediawiki sh
# php --ini
Configuration File (php.ini) Path: /usr/local/etc/php
Loaded Configuration File:         (none)
Scan for additional .ini files in: /usr/local/etc/php/conf.d
Additional .ini files parsed:      /usr/local/etc/php/conf.d/docker-php-ext-apcu.ini,
/usr/local/etc/php/conf.d/docker-php-ext-intl.ini,
/usr/local/etc/php/conf.d/docker-php-ext-mysqli.ini,
/usr/local/etc/php/conf.d/docker-php-ext-opcache.ini,
/usr/local/etc/php/conf.d/docker-php-ext-sodium.ini,
/usr/local/etc/php/conf.d/opcache-recommended.ini

找不到 php.ini 文件,但是我们可以在/usr/local/etc/php/文件夹下找到这些东西

# ls /usr/local/etc/php
conf.d  php.ini-development  php.ini-production

copy php.ini-production 为 php.ini

cp php.ini-production php.ini

修改 php.ini,修改下面两行

post_max_size = 1024M
upload_max_filesize = 1024M

然后LocalSetting.php添加这两行

$wgUploadSizeWarning = 1073741824;
$wgMaxUploadSize = 1073741824;

最后在容器中冲重启 apache,此时容器会挂掉退出,重启容器就好了

service apache2 restart 

具体参考文章 https://www.cnblogs.com/yongy1030/p/11872063.html
4 备份数据
文档数据存储在 mariadb,mediawiki 备份 LocalSetting.php 和 php.ini 配置文件(个人目前只考虑的到了这么多)
mariadb 备份 /opt/mediawiki ,重新运行 mariadb docker 容器即可。

docker run -d --name db_mediawiki \
       -v /opt/mediawiki:/var/lib/mysql \
       -p 3309:3306 \
       -e MYSQL_ROOT_PASSWORD=media \
       -e MYSQL_DATABASE=media \
       -e MYSQL_USER=media \
       -e MYSQL_PASSWORD=media \
       mariadb

mediawiki 备份 LocalSetting.php 和 php.ini 配置文件,重新运行 mediawiki 时挂载配置文件即可。

docker run --name mymediawiki \
           -p 9000:80  \
           -v /root/LocalSettings.php:/var/www/html/LocalSettings.php \
           -v /root/php.ini:/usr/local/etc/php/php.ini \
           --link db_mediawiki:db_media  \
           -d  mediawiki
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值