# MediaWiki配置文件分享

- 连结：https://blog.guohao.asia/mediawiki%e9%85%8d%e7%bd%ae%e6%96%87%e4%bb%b6%e5%88%86%e4%ba%ab.html
- 发布时间：2024-11-19T15:48:01+08:00
- 作者：null

中文   英文   韩语   日语

## MediaWiki 配置文件分享

MediaWiki 的配置文件位于`/path/mediawiki/LocalSettings.php`

以下是[https://docs.guohao.asia/](https://blog.guohao.asia/wp-content/themes/wordpress-theme-puock-2.8.16/inc/go.php?to=aHR0cHM6Ly9kb2NzLmd1b2hhby5hc2lhLw==)
经脱敏的配置文件内容（修改配置前请务必做好备份）

    ```language-default
    <?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://blog.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 认证扩展
    ?>
    ```
