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

319

被折叠的 条评论
为什么被折叠?



