非Docker方法在威联通上安装Mediawiki
这两天把用了两年的wiki程序从瓦工服务器迁到了NAS上,简单做个记录,以备日后参考。
Mediawiki是基于php语言开发的知识协作和共享软系统,维基百科wikipedia用的就是它,自诞生已有20余年历史,至今仍在积极更新迭代,因此也被无数人用作知识/信息管理工具。之前部署在瓦工上的版本只升到1.38,这次除了要升级到最新的1.4,还要整体迁移到威联通的机器上。
刚到手不久的TS-464C已经升级到5.1最新版系统,一开始考虑的是docker安装,也找到了一个活跃维护的版本bitnami/mediawiki,然而看完大几十页的安装文档直接劝退。威联通的QTS系统就是基于PHP的,何不直接手动安装呢?简单搜了下,应该没有人这样干过,但不代表就不行
首先用SSH登录NAS,检查下已安装的php版本以及模块
内置PHP并不完整你会发现,连intl扩展都没有。接下来,去App Center安装PHP Extensions套件,再次运行,关键扩展又回来了就凭这点给老威点个赞顺手把MariaDB 10和phpMyAdmin套件也装上,以及第三方的Entware-std (1.03a),后面有用。装MariaDB的时候完成初始化,记下域套接字的值。
记下红框中的值从浏览器打开phpMyAdmin,新增用户账户。这里借鉴了网友安装NextCloud的经验,没有直接新建数据库,操作下来也没出现问题。副作用就是用户名和库名是一样的了,其他方法也可尝试。
注意红框中的设定另外,需要安装两个缺失的程序包“diff3”和“git”。默认安装位置不在QTS环境变量里,因此软链接到/usr/bin。目前不清楚这种方式在系统重启后会不会被还原,或者利用启动脚本将/opt/bin加入到$PATH也是可以的。
然后去网页控制台开启web服务器,端口默认80就好。 在Web文件夹新建php文件夹和info.php文件,用于执行命令。因为想要公网域名访问,在反代中新建一条规则,指向localhost的80端口。然后浏览器测试,一方面确认apache正常工作,另一方面再次检查扩展是否安装成功。
之后可以下载mediawiki程序了。我这里只增加了两个扩展:PageForms和Cargo,注意下载和主程序对应的版本。需要注意的是,wiki程序的文件夹名不要用"wiki"(别问为什么,官方文档里写着)。
浏览器打开mediawiki地址(上图的php替换为w)开始安装。如果之前操作没问题的话,你会看到以下信息
安装引导的第二页SQLite的警告可以忽略,我们不用它做数据库。比较纠结的是APCu缺失,应该是相应的php模块没有被编译进去。只能说威联通版的LAMP阉割的有点狠官方论坛有人鼓捣出了手动装扩展的方法,然而过程不是一般的复杂,无奈放弃。并且缓存主要针对高并发的场景,个人用的话问题应该不大。下一步的数据库配置,注意主机名要包含socket值。
注意主机名之后的设定基本从旧wiki照搬过来,有点区别的地方是没有启用缓存。下载到LocalSettings.php文件后不急着上传,先去旧服务器上备份+打包数据。需要备份的主要有3个东西:数据库、LocalSettings.php文件、images文件夹,依然是SSH命令行操作
回到NAS控制台,下载并解压备份文件后,第一步先恢复数据库。连接数据库依然要用到socket值,如果报错就先删库再导入。
第二步:移植LocalSettings.php,建议基于新生成的配置文件对照老的字段值逐一修改,简单粗暴地上传旧文件极有可能出问题。这里主要关注$wgScriptPath、$wgServer、$wgLogos、wgGroupPermissions系列字段以及扩展启用情况,确认没问题之后上传到w目录。
最后一步:还原images文件夹,直接copy过去覆盖就好。这里还有一个坑,弄好之后你会发现通过连接无法访问这里面的图片,浏览器报500错误。经过一番排查,问题出在images目录下的.htaccess文件,1.4版mediawiki对应的配置改为
主要是防嗅探以及远程执行php的漏洞。然而改完之后还是报错,进apache的日志看到“htaccess: Header not allowed here”,推测是security相关的php模块缺失我的选择是删掉.htaccess,然后安慰自己,不开放注册就好
Finally,可以打开浏览器测试最终效果了!任何页面几乎都是秒开,体验度相比之前瓦工版本有巨大提升最后一点收尾工作,在Common.js里修改mw.loader.load函数的路径,让自定义js/css脚本能够工作。
接下来计划装个elasticsearch,之前1c1g跑这个实在有点勉为其难,而且新版mediawiki已经支持ver. 7了,内存占用显著降低。
PS:大妈的新版编辑器简直巨坑啊,点了个预览之后几千字的草稿丢了一大半咬咬牙还是重写了一遍
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~
丁小虎的损爹
校验提示文案
猪蹄真好吃
校验提示文案
丁小虎的损爹
校验提示文案
猪蹄真好吃
校验提示文案