介绍
Mediawiki是非常著名的开源wiki程序,比起之前的Dokuwiki功能要更完善,也更专业,使用PHP+SQL开发,适合用于构建百科、知识库、在线文档、个人笔记之类的应用。它的优点如下
- 美观的界面和可视化编辑器
- 拥有丰富的官方插件支持
- 官方文档非常完善,对中文支持也很友好
部署
我依旧是使用docker部署的,手动部署环境本次不介绍~~(不会)~~
Docker操作
首先进行docker pull 拉取镜像:
docker pull mediawiki
直接运行(数据持久化将在后面进行)
docker run --name mediawiki -p 8080:80 -d mediawiki
打开http://ip:8080就可以打开初始界面,开始对账户、数据库、权限、站点链接等等设置完毕后,会自动下载LocalSettings.php,注意!这个时候不要直接进入wiki站点,将它上传至容器或云服务内,路径为/var/www/html/LocalSettings.php
使用docker cp命令将整个html持久化保存
docker cp mediawiki:/var/www/html /path_to_save_html
删除容器后,以新的方式启动容器并挂载html目录
docker rm -f mediawiki
docker run --name mediawiki -p 8080:80 -v /path_to_save_html:/var/www/html -d mediawiki
刷新后即可
常用设置
站点名和url等
#LocalSettings.php
#站点名
$wgSitename = "站点名";
#站点url
$wgServer = "http://站点url";
#左上角logo
$wgLogos = [ '1x' => "$wgResourceBasePath/resources/assets/wiki.png" ];
url去index.php
#LocalSettings.php
$wgScriptPath = "";
$wgArticlePath = "/wiki/$1";
$wgUsePathInfo = true;
原本是只有$wgScriptPath = "";,刷新后链接从http://your_wiki.com/index.php变成http://your_wiki.com/wiki
添加插件
插件的设置也是在LocalSettings.php,插件文件储存位置在/html/extensions/
注意!有的插件需要额外设置,请查看该插件的官方文档进行安装
大多数的安装:
wfLoadExtension( '插件名' );
即可
例如安装Ehco,一个提供通知系统的插件
首先下载Echo包,放入/html/extensions/文件夹,在LocalSettings.php中添加wfLoadExtension( 'Echo' );
注意!Echo默认版本需要Mediawiki core 1.36+版本,不满足版本条件需要下载其他Echo安装包
Echo还需要运行更新脚本:$ php update.php
最后前往特殊页面:版本页面可以看到是否安装成功
设置STMP邮箱
$wgEnableEmail = true;
$wgEnableUserEmail = true;
$wgEmergencyContact = "123456@qq.com";
$wgPasswordSender = "123456@qq.com";
$wgSMTP = array(
'host' => "ssl://smtp.qq.com", // qq 企业邮箱要求加密连接
'IDHost' => "exmail.qq.com",
'port' => 465,
'auth' => true, // 需要登录
'username' => "123456@qq.com", // 提供 SMTP 服务的邮箱账号
'password' => "password" // SMTP 认证的密码.
);
Nginx之类的设置就不赘述