简介

MediaWiki 是 Wikipedia 使用的网站解决方案的开源版,以个人观点来看,Wiki 在这个时代显得不够时尚,且不支持 MarkDown 等新兴的标记语言,另外页面的组织方式采用了自己的一套管理语言,上手需要一定的学习成本。不过经典总归是经典。

MediaWiki 也提供了官方的 Docker image,这就节省了不少安装环境的工作量,接下来就来看看私有 MediaWiki 站点是如何搭建起来的吧。

环境说明

操作系统:Debian 10.2 64bit

配置:1核2G

Docker管理器:3.9.1

PHP:7.4.30

本文采用docker部署一套MediaWiki

安装docker

请查看 官网

安装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://IP+端口/mediawiki/index.php

开始初始化配置

开始设置.png

语言设置

语言设置.png

环境检查

环境检查.png

选择mysql,注意:修改ip地址为mysql的容器IP,使用 'docker inspect [容器id或名称]' 进行查看容器IP。数据库用户:wikiuser,密码:123456

数据库设置.png

选择数据库引擎为InnoDB,新版本可不用选择

数据库引擎.png

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

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

设置账号密码.png

正式安装

正式安装.png

安装完成

安装完成.png

注意:页面会自动下载一个 LocalSettings.php

注意:先不要点击 进入您的wiki,还查一个步骤,否则会出错的。

登录到服务器,将 LocalSettings.php 上传到服务器,比如:/tmp目录

LocalSettings.php 复制到容器中的wiki根目录

docker cp LocalSettings.php mywiki:/var/www/html/

点击 上图中的 进入您的wiki

它会调转链接

http://IP:端口/index.php/首页

效果如下:

首页.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

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

最后修改:2024 年 09 月 25 日
如果觉得我的文章对你有用,请随意赞赏