MediaWiki长期部署:已删除文件目录建议及存储规划咨询
MediaWiki长期部署:已删除文件目录建议及存储规划咨询
嘿,为十年的长期部署提前做规划,这思路太赞了!针对你问的「MediaWiki已删除文件该存哪儿、为啥这么存」的问题,结合长期运维MediaWiki的经验,给你唠唠实用方案:
先说说默认存储的坑
MediaWiki默认会把已删除的文件留在原文件存储目录里,只在数据库里标记为「已删除」。但放到十年的时间尺度来看,这会埋下不少隐患:
- 存储冗余爆炸:日积月累的已删除文件会占满宝贵的磁盘空间,备份的时候还要带着这些无用数据,既费钱又拖慢备份速度。
- 数据泄露风险:要是服务器配置没做好(比如文件目录被直接暴露),已删除的敏感文件可能被外人访问到,合规风险拉满。
推荐的两种存储方案
方案一:用独立的本地删除文件目录
这是最基础也最实用的方案,直接在LocalSettings.php里加一行配置:
$wgDeletedDirectory = "/var/www/mediawiki/deleted_files";
把这个目录设置成和主文件目录完全分离的路径就行。好处有这些:
- 把活跃文件和已删除文件彻底分开,管理起来清清楚楚,以后想归档、清理都方便。
- 可以给这个目录单独设更严格的权限(比如只让Web服务器用户读,其他用户碰都碰不到),大大降低泄露风险。
- 备份的时候灵活度高:要么只备份活跃文件省空间,要么把已删除文件单独做备份集,满足审计需求。
方案二:搭配对象存储(适合大流量/超长期场景)
如果你的wiki未来会产生大量文件(比如图片、文档堆得特别多),建议把已删除文件放到S3、MinIO这类对象存储服务里。可以通过MediaWiki的扩展来配置自动同步。
这种方案的长期优势更明显:
- 对象存储的成本是按实际用量算的,十年下来比本地磁盘划算多了,还不用操心磁盘扩容的事儿。
- 自带生命周期管理功能,你可以设置自动归档(比如删除超过3年的已删除文件),不用手动盯着清理。
- 天生高可用、冗余性强,不怕本地磁盘坏了导致已删除文件丢了——要是需要留着审计记录,这一点特别重要。
额外的长期运维小贴士
- 开审计日志:在
LocalSettings.php里加$wgLogDeletedFiles = true;,把所有文件删除操作都记下来,十年内要是有合规检查或者问题回溯,这日志能帮大忙。 - 定清理规则:根据你的数据保留政策(还要符合当地法规,比如GDPR要求某些数据得留够时间),每年清理一次超期的已删除文件,别让垃圾数据越堆越多。
- 升级留后手:1.39.x是LTS版本,但十年内肯定要升级MediaWiki。升级前一定要备份已删除文件目录,确保新版本的配置能兼容旧的存储路径。
- 权限锁死:给已删除文件目录设置最小必要权限,比如只允许Web服务器进程读取,其他用户一概拒绝访问,杜绝意外修改或泄露。
对了,你提到的截图应该是安装过程中的存储配置界面吧?要是在那一步看到相关选项,直接指定独立的删除文件目录就行,别选默认设置~
备注:内容来源于stack exchange,提问作者viator
相关产品推荐
相关产品推荐

