如何正確配置MediaWiki以實(shí)現(xiàn)文件上傳功能?
啟用基礎(chǔ)文件上傳功能
編輯MediaWiki根目錄下的LocalSettings.php
文件,添加以下配置參數(shù)以激活核心上傳功能:
$wgEnableUploads = true;
$wgUseImageMagick = true;
$wgImageMagickConvertCommand = "/usr/bin/convert";
配置文件類(lèi)型與大小限制
在LocalSettings.php
中定義允許上傳的文件擴(kuò)展名:
$wgFileExtensions = ['png', 'gif', 'jpg', 'jpeg', 'pdf', 'doc', 'xls'];
調(diào)整PHP配置文件(php.ini
)的參數(shù)以匹配需求:
upload_max_filesize = 64M
post_max_size = 128M
設(shè)置上傳目錄權(quán)限
確保服務(wù)器對(duì)上傳目錄具有寫(xiě)入權(quán)限:
chmod -R 755 /path/to/mediawiki/images/
chown -R www-data:www-data /path/to/mediawiki/images/
安全增強(qiáng)配置
添加MIME類(lèi)型驗(yàn)證防止文件偽裝攻擊:
$wgVerifyMimeType = true;
$wgMimeTypeBlacklist = ['application/x-php', 'text/html'];
驗(yàn)證與問(wèn)題排查
- 訪(fǎng)問(wèn)Special:Upload測(cè)試上傳界面
- 檢查服務(wù)器錯(cuò)誤日志定位權(quán)限問(wèn)題
- 使用
phpinfo()
確認(rèn)PHP參數(shù)生效 - 驗(yàn)證文件哈希值檢測(cè)傳輸完整性
進(jìn)階配置建議
對(duì)于大型站點(diǎn)建議啟用分布式存儲(chǔ):
$wgLocalFileRepo = [
'class' => 'LocalRepo',
'name' => 'local',
'directory' => '/mnt/storage/wiki-images',
'url' => 'https://cdn.example.org/wiki-images'
];