MediaWiki配置文件分享
MediaWiki的配置文件位于/path/mediawiki/LocalSettings.php
以下是https://docs.guohao.asia/ 经脱敏的配置文件内容(修改配置前请务必做好备份)
<?php
# 防止直接通过网页访问
if ( !defined( 'MEDIAWIKI' ) ) {
exit;
}
## 基本设置
$wgSitename = "null"; # 站点名称
$wgMetaNamespace = "Null"; # 站点命名空间
$wgScriptPath = ""; # 脚本路径
$wgServer = "https://docs.guohao.asia"; # 服务器地址
$wgResourceBasePath = $wgScriptPath; # 静态资源路径
$wgLogos = [
'1x' => "$wgResourceBasePath/resources/assets/logo.png", # 站点logo
'icon' => "$wgResourceBasePath/resources/assets/logo.png",
];
## 用户和邮件设置
$wgEnableEmail = true; # 启用邮件功能
$wgEnableUserEmail = true; # 用户邮件通知
$wgEmergencyContact = ""; # 紧急联系邮箱
$wgPasswordSender = "x@xx.xxx"; # 密码发送者邮箱
$wgEnotifUserTalk = false; # 用户对话通知
$wgEnotifWatchlist = false; # 观察列表通知
$wgEmailAuthentication = true; # 启用邮件认证
## 数据库设置
$wgDBtype = "mysql"; # 数据库类型
$wgDBserver = "localhost"; # 数据库服务器
$wgDBname = "xxxx"; # 数据库名称
$wgDBuser = "xxxx"; # 数据库用户名
$wgDBpassword = "xxxx"; # 数据库密码
$wgDBprefix = "xxxx"; # 数据库表前缀
$wgDBssl = false; # 是否使用SSL
$wgDBTableOptions = "ENGINE=InnoDB, DEFAULT CHARSET=binary"; # 数据库表选项
$wgSharedTables[] = "actor"; # 共享数据库表
## 缓存设置
$wgMainCacheType = CACHE_MEMCACHED; # 主缓存类型
$wgParserCacheType = CACHE_MEMCACHED; # 解析器缓存类型
$wgMessageCacheType = CACHE_MEMCACHED; # 消息缓存类型
$wgMemCachedServers = array("127.0.0.1:11211"); # Memcached服务器地址
## 文件和上传设置
$wgEnableUploads = true; # 启用文件上传
$wgUseImageMagick = true; # 使用ImageMagick处理图片
$wgImageMagickConvertCommand = "/usr/bin/convert"; # ImageMagick命令路径
$wgUseInstantCommons = false; # 是否使用即时共享图片
## 语言和时区设置
$wgLanguageCode = "zh-cn"; # 语言代码
$wgLocaltimezone = "PRC"; # 时区设置
## 安全和性能设置
$wgSecretKey = "26abb9898bb4cb347aa8cc71bcxxxxxxxxxxxxxxxx9824f6078771c5d40b0cb44765cf8bbf"; # 安全密钥
$wgAuthenticationTokenVersion = "1"; # 认证令牌版本
$wgUpgradeKey = "d0ddxxxx07b2xxxx"; # 升级密钥
## 版权和皮肤设置
$wgRightsPage = ""; # 版权页面
$wgRightsUrl = ""; # 版权链接
$wgRightsText = ""; # 版权文本
$wgRightsIcon = ""; # 版权图标
$wgDefaultSkin = "vector-2022"; # 默认皮肤
wfLoadSkin( 'MinervaNeue' ); # 加载皮肤
wfLoadSkin( 'MonoBook' );
wfLoadSkin( 'Timeless' );
wfLoadSkin( 'Vector' );
## 页脚和工具栏设置
unset($wgFooterIcons['poweredby']); # 去掉底部的Powered by
$wgDefaultUserOptions['usebetatoolbar'] = 1; # 启用测试工具栏
## 访问和内容设置
$wgShowIPinHeader = false; # 不在头部显示IP
$wgAllowHttpsExternalImages = true; # 允许外链HTTPS图片
$wgAllowCopyUploads = true; # 允许通过URL上传图片
$wgAllowExternalImages = true; # 允许外链图片
$wgFileExtensions = array('png','gif','jpg','jpeg','doc','ppt','pptx','pdf','docx','xls','xlsx','webp','svg','mp4','mp3'); # 允许的文件扩展名
$wgVerifyMimeType = false; # 不验证MIME类型
## 钩子和脚本设置
$wgHooks['BeforePageDisplay'][] = function( OutputPage &$out, Skin &$skin ) {
// 添加Mermaid.js脚本
$out->addScript( '<script src="https://cdnjs.cloudflare.com/ajax/libs/mermaid/10.9.1/mermaid.min.js" integrity="sha512-6a80OTZVmEJhqYJUmYd5z8yHUCDlYnj6q9XwB/gKOEyNQV/Q8u+XeSG59a2ZKFEHGTYzgfOQKYEBtrZV7vBr+Q==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>' );
// 添加Google AdSense脚本
$out->addScript( '<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-36xxxx78343xxxx0" crossorigin="anonymous"></script>' );
// 添加统计代码
$out->addScript( '<script type="text/javascript" src="//api.tongjiniao.com/c?_=7xxxx772xxxx819968" async></script>' );
};
## 编辑和页面创建权限设置
$wgGroupPermissions['*']['edit'] = false; # 禁止未登录用户编辑
$wgGroupPermissions['*']['createpage'] = false; # 禁止未登录用户创建页面
$wgGroupPermissions['sysop']['edit'] = true; # 允许管理员编辑
$wgGroupPermissions['sysop']['createpage'] = true; # 允许管理员创建页面
## 移动和默认皮肤设置
wfLoadSkin( 'Citizen' ); # 加载移动皮肤
$wgDefaultMobileSkin = 'citizen'; # 默认移动皮肤
## HTML和内容安全策略设置
$wgContentSecurityPolicy = "
default-src 'self';
img-src 'self' https://*;
media-src 'self' https://www.guohao.asia https://guohao.asia https://docs.guohao.asia;
script-src 'self';
style-src 'self';
";
$wgAllowIframeTag = true; # 允许iframe标签
$wgHTML5Video = true; # 启用HTML5视频
$wgRawHtml = true; # 允许解析HTML
## 管理员权限设置
$wgGroupPermissions['sysop']['deleterevision'] = true; # 允许管理员删除修订记录
$wgGroupPermissions['sysop']['deletelogentry'] = true; # 允许管理员删除日志条目
## 邮件服务器设置
$wgSMTP = [
'host' => 'smtp-relay.brevo.com', # SMTP服务器地址
'IDHost' => 'smtp-relay.brevo.com', # 通常是网站域名
'localhost' => 'smtp-relay.brevo.com', # 某些邮件服务器需要此参数
'port' => 587, # 连接到SMTP服务器的端口
'auth' => true, # 是否使用SMTP认证
'username' => 'xxxx8xxxx@smtp-brevo.com', # SMTP认证用户名
'password' => 'xxxxMxxxxsxxxxpO' # SMTP认证密码
];
## 未登录用户的缓存设置
$wgUseFileCache = true; # 启用文件缓存
$wgFileCacheDirectory = "$IP/images/cache"; # 文件缓存目录
$wgMainCacheType = CACHE_MEMCACHED; # 主缓存类型
$wgParserCacheType = CACHE_MEMCACHED; # 解析器缓存类型
$wgMessageCacheType = CACHE_MEMCACHED; # 消息缓存类型
$wgMemCachedServers = [ '127.0.0.1:11211' ]; # Memcached服务器地址
$wgSessionsInObjectCache = true; # 启用对象缓存会话
$wgSessionCacheType = CACHE_MEMCACHED; # 会话缓存类型
## 扩展设置
wfLoadExtension( 'SyntaxHighlight_GeSHi' ); # 语法高亮扩展
wfLoadExtension( 'ImageMap' ); # 图片地图扩展
wfLoadExtension( 'HeaderFooter' ); # 页眉页脚扩展
wfLoadExtension( 'EmbedVideo' ); # 视频嵌入扩展
wfLoadExtension( 'VisualEditor' ); # 可视化编辑器扩展
wfLoadExtension( 'AdminLinks' ); # 管理链接扩展
wfLoadExtension( 'Widgets' ); # 小部件扩展
wfLoadExtension( 'Cite' ); # 引用扩展
wfLoadExtension( 'ParserFunctions' ); # 解析器函数扩展
wfLoadExtension( 'PageImages' ); # 页面图片扩展
wfLoadExtension( 'Math' ); # 数学公式扩展
wfLoadExtension( 'PdfHandler' ); # PDF处理扩展
wfLoadExtension( 'ImportOfficeFiles' ); # 导入办公文件扩展
wfLoadExtension( 'MultimediaViewer' ); # 多媒体查看器扩展
wfLoadExtension( 'OATHAuth' ); # OATH认证扩展
?>