小想法 | 重建那些年基于Discuz!系统搭建的满是回忆的班级网站


2020年第一篇哈,先祝大家新年快乐,每天都有新收获喵!

哇呜!今天终于下了今年的第一场雪,贼惊喜~(然而积不起来啊嘤嘤嘤




前言

最近期末考试月忙死了,刚考完一科,难得有空来浪一下。考完一科浪两天然后作死复习的是我了emmm嘤嘤嘤。

有一次和奶冰冰聊天,回忆起之前折腾过的、搭建过的各种网站,而后就想到了N年以前搭建的班级网站。

(很明显,那时候提供网络服务的各种空间、域名什么的到现在没几个还能用的了。

2017年10月的时候,我的邮箱突然收到了一封来自Red Hat的邮件,提醒我OpenShift Online v2 End of Life了。↓

End_of_Life

那时候感觉特别惊喜,毕竟到那时已经放在那上面四五年了,我都差点忘记它的存在了。虽然域名早就炸了,但是这个免费的云平台居然还在(这个角度看来 Red Hat 还是挺可靠的233)。

那时就登上去看了一下,哇呜数据居然都还在,通过默认的域名还访问到了网站,于是好怀念啊,为了留个纪念就截了个图。

N年前先建了10班的班网论坛,(分班后)又建了个8班的班网。

img img

​ 几天之后,果不其然,Unavailable了

End_of_Life2

不过还好那时候就有备份的好习惯(不是),试了几个密码登录进了8班的班网,然后把数据库给备份下来了,不过也只备份了数据库,附件啊头像啊这些就没备份下来。10班的班网(更是由于记不得密码了)就没成功备份emmm。

于是现在就觉得有点遗憾,通过phpMyAdmin其实可以直接导出数据库的;在重建的时候知道通过修改数据库可以把创始人密码修改的。

但那时候不大清楚这些,也有可能是那时连服务器密码都不记得了(((


最近这几天就想,干脆试一下,看看能不能重建那时候的班网吧。

重建折腾记

辣鸡服务器配置出了一堆问题

之前都没有自己动手在裸机上配置WEB环境来着,Linux也没有多少经验,于是乎上手就比较痛苦。

下面是一堆废话emmm

不想看就直接跳过这节吧。

租服务器的时候图省事直接装了PHPStudy,里面集成了LNMP环境,然后网站什么的直接可以在上面配置。

之前搭了几个测试用的网站,运行都没什么问题,能正常访问。

然而这次我建了一个新的PHP环境,打开端口,访问的时候居然报403无权限,但是其他的网站都没这个问题。

看到网页上是nginx报的错,很自然怀疑就是它的问题。检查了一下配置没发现问题,于是重装了一下。这回直接报500内部服务器错误了。(我愣住了

看了一下错误log,发现很多是无权限,还有的找不到文件???

复制粘贴搜了一下,怀疑是动态链接库的问题,于是ln尝试创建链接,然而不成功。

然后不想管了,关闭nginx服务,启动apache服务,这回还是403,其他的网站就没问题,绝了。

换回nginx,将配置文件中的userwww更改为root,再试居然好了!看来果然是权限的问题,然而我之前好像并没有改过什么配置,也不清楚www用户为啥就没权限了。

root毕竟不太安全吧,于是又改了回去,403了。

登录服务器看了一下,几个网站目录下就只有新建的这个用户组是root,修改了目录权限,允许others执行,再访问,没问题了。

但很奇怪啊为啥就不行啊。

于是又重装了一次nginx,同时还卸掉了它的防火墙,这次没问题了emmm。再装回防火墙,又炸了。

WAF的问题啊。

这时候后台改参数也有报无权限的,就很懵逼。

于是干脆直接reboot好了。

(有句话说得好,重启解决绝大部分问题

进入后台,先关闭nginx,重装WAF,再开启nginx。这回终于没毛病了。(x




重建8班班网

重建其实类似于搬家,于是看了几篇关于Discuz!搬家的教程,发现距今都有一段历史了。

去官方论坛找到了最新的X3.4版本的下载链接,发现指向了gitee,刚开始还觉得有点意思,然而当我点开链接发现连接不上gitee服务器,难道炸了???换了一个网络,连上了。(吐槽一下辣鸡宽带,估计是DNS出了点问题8

啊不是!!!

别想着啥都想装最新的,得先考虑你要重建/恢复的系统是什么版本的啊!还要注意PHP的版本,以及语言编码(GBK/UTF8/BIG5/?)(就因为这个删掉又重建了好几个版本

论坛的版本可以在你备份的数据库.sql文件头部注释里看到。(这个还是后面重建10班班网时才发现的

不要像我一样装了发现用不了嘤嘤嘤。

  • upload文件夹打包传到服务器上,解压,然后访问网站。

草怎么又403了。

检查了一下文件发现是root所属,原来是之前一直以root身份操作的问题,更改用户组为www,这回能正常访问了。

  • 按照安装流程全新安装Discuz!系统。这里的数据库要自己提前建好,表前缀和你要重建的一致,一般就不用更改。

  • 安装完成,访问主页是默认的界面。(略)
  • 根据官方的搬家教程,把utility/restore.php文件上传到网站的data/目录下,再把要恢复的数据库整个目录也上传到data/下,然后通过网站域名/data/restore.php访问数据恢复页面。

然而这里我被自己的WAF给拦住了233。

开了白名单再导入,这时候过了一段时间报504了emmm。(我又懵了,难得让我见到了好多错误页面,我没事的嘤嘤嘤

重试,如旧,同时发现cpu是100%在跑的(唉性能果然不咋样。

搜了各种资料,把nginx的超时和PHP执行时间都改了,还是504…

看了一下.sql文件,干脆不用整个工具,直接导入mysql好了啦。

虽然期间还报了几个错,但还是导完了呢。

  • 访问主页,哇好惊喜啊,之前的分类、帖子什么都回来了。

  • 用原始的创始人账号登录后台,更新缓存

    这里也折腾了老半天,不是安装论坛系统时候创建的,而是重建的老用户。

    毕竟整个数据库都改回去了嘛。

    至于忘记密码,emmm后面再说。

  • 再刷新主页,这回数据基本能正常访问了,页面配置也恢复到了之前的状态。

  • (如果有的话)恢复logo、favicon、attachment、avatar、plugin、template等。

    这里由于之前只备份了logo,其他数据基本没备份(或者说我的硬盘里没备份)emmm,就么的办法了。

    恢复后的班网

看了看上面的帖子,全是黑历史啊……(黑脸.png

用户数据都恢复了,理论上能用原来的信息进行登录。

然而图片什么的都没了,之前很多外链的图片、插件都失效了,其实问题也不大吧。

不过能重建了也总比没有要好呀!嘻嘻嘻。

毕竟这个版本有很多安全漏洞了,出于安全考虑,这里就不公开了啦





重建10班班网

上面说了云平台End of Life的时候没有备份这个数据的。

但是我找遍了硬盘,终于翻出了那时候备份的部分数据

有了上面重建的经验,本以为就很轻松上手的,没想到还是遇到了一堆问题。

首先还是版本的问题。

本以为X3.2版本已经够老了,没想到这里最后一直回退到了X2版本(噗

安装过的版本

鬼懂得我重建了多少次网站emmmm

  • 期间有一次是PHP版本错了,毕竟之前的版本一般只支持5.x来着,然后我装了7.x。
  • 有一次是MySQL数据库炸了,装完之后主页都打不开,直接报的database error。然后卸掉了数据库,换了老一点的版本,发现装好了永远启动不了。最后发现是之前卸载有残留,绝了。清了一遍残留重装,再重启服务就好了。
  • 还有一次是Discuz版本装的X2.5,本来挺开心的,导完数据更新完缓存,点开帖子就报database error,说找不到某某记录吧。最后版本降到X2终于好了,估计是版本升级过程中修改了这部分数据库或操作数据库的代码吧。
  • 还有每一次都遇到了.sql导不进数据库的问题,因为这个数据库更大了,即使改了nginx和PHP的配置,在网页上导入还是永远报504,最后是一边看着CPU状态,一边从后台导入的。前端报了504,CPU还在跑,虽然SQL还报过好几种错但最后还是导入完成了。。(我太难了
  • 噢还有那个创始人密码忘了的问题。

    查了一下资料,一个方案是尝试登录UC_Center,如果成功登录的话可以在里面更新创始人的密码,再用更新后的密码登录Discuz的管理后台就行了。(这里用的就是这个方案)

    另一个方案是修改数据库里面的用户相关的表,先改成一个比较简单的密码(好像是MD5加密),登录进去再修改。这里没用试过就不说了啦。


重建完成之后访问主页。

草,原来这个是那时候更新版本前的最后一次备份emmm

(看亚子是第四代,最后更新的是第五代了,看了半天才想起来)

10班班网重建

找了一下发现部分附件和头像之类的也有备份(更古老的数据了)。于是又折腾了一会儿把能恢复的数据给恢复了。

于是乎最后重建出来的是2013年1月的备份了。

怎么说好呢,其实问题也不大吧,真·回忆啊!

这个版本的安全漏洞更多了,同样就不公开了,看看就好了啦



emmm下面这个是恢复不了的第五代版本(真就只有这张图了嘤嘤嘤)。

第五代班网






一些想法

  1. Linux权限管理还是很严格的,这回体验到了,有空再研究研究。


  2. 选对合适的版本,不要总想着用最新的。


  3. 看了Discuz!系统之前的老版本,都是把GBK编码的版本放在前面,不过现在都是推荐安装UTF-8编码版本了。

    包括其他很多地方基本上就UTF-8了,感觉也算是个趋势吧,毕竟是国际编码,通用性强嘛。


  4. Discuz!官方论坛看了看,感觉明显冷清了。包括在后台看插件应用市场,基本上就变成了商业化的交易了,就有点怀念N年前那时候社区还很活跃,有一堆免费的还互相分享来着。(不过也算是时代趋势吧233

    部分之前备份的插件


  5. 其实还找到了以前可能折腾过的各种建站系统233。

    可能折腾过的各种建站系统


  6. 然后就想到纸飞机了嘤嘤嘤。今天去看了一下,发现纸飞机还能访问i,只是论坛关闭了,个人空间和视频区还是开放的,而且版本是X3.4算是最新的大版本了。(不知道于老板是不是还维护过


  7. 写这篇blog的时候又去OpenShift看了一下,发现现在都升级到 V4.2 版本了。增加了很多现在很实用很热门的ServerlessCI/CD之类的,现在的Starter plan也是免费的,不过感觉加了不少限制吧(毕竟减少滥用节约资源嘛)。感兴趣的还可以看看下面的链接。

版本介绍:https://blog.openshift.com/introducing-red-hat-openshift-4-2-developers-get-an-expanded-and-improved-toolbox/

产品介绍:https://www.openshift.com/products/online/


  1. 备份是个好习惯,CTRL+S也是。


  2. 看了看之前的帖子,发现全都是黑历史……

    然后惊喜地发现,之前的外链难得有几个还能访问,进去一看发现是以前的教育博客,居然一直运营到了现在,而且以前的文章都在。全是回忆啊。。

    等我有空再把上面以前发的文章爬下来备份一份23333.


  3. 有问题欢迎来交流哈哈哈。

溜了溜了喵


文章作者: MiaoTony
版权声明: 本博客所有文章除特別声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 MiaoTony !
评论
  目录