龙空技术网

非Docker方法在威联通上安装Mediawiki

什么值得买 187

前言:

此刻大家对“php关闭网页连接清除缓存”可能比较讲究,大家都想要剖析一些“php关闭网页连接清除缓存”的相关文章。那么小编同时在网摘上汇集了一些关于“php关闭网页连接清除缓存””的相关资讯,希望看官们能喜欢,小伙伴们快快来学习一下吧!

本内容来源于@什么值得买APP,观点仅代表作者本人 |作者:蜘蛛抱蛋

这两天把用了两年的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:大妈的新版编辑器简直巨坑啊,点了个预览之后几千字的草稿丢了一大半

咬咬牙还是重写了一遍

作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

标签: #php关闭网页连接清除缓存 #引导页源码html #apacheheader大小写 #php反代网站