Apache

升级 Linode 系统到 Debian 8

昨天晚上,我心血来潮,去了 Linode 的网站去看文档,估摸着 Debian 应该可以升级了。用关键字 debian 搜索果然有这么一篇。粗略看了一下就开始升级,升级完后,发现网站不行了,打开任何页面都显示 404 错误。我有点奇怪,一般来说应该是 Apache 无法启动或者发生 500 错误吧,这种找不到文件的情况还是第一次见到。

于是就找原因,不知道是不是升级后 /srv 下的文件权限被动了,结果找一阵子也没发现。看 access.logerror.log 也没有发现,而且奇怪的是,根本没有升级后的时间的记录。不过好在 ls -l 后发现时间最新的文件居然是 other_vhosts_access.log 文件,并在里面找到了相应的 404 记录。这下稍微有了点头绪,应该是配置文件的问题。可我根本没有搞配置文件,怎么就出问题了呢?

昨天晚上的 SSH 速度尤其的慢,输入命令的时候明显能够感受到延迟,更难过的是,时常会发作一次,直接卡住,按什么键都不起作用,这搞得我极为烦躁。想起傍晚听内核恐慌的时候,主持人讲到 PHP 是一种十分不安全的语言,WordPress 也经历过很多 0day 攻击,因此很多网站都转移到了静态博客。那时我心里想,如果我的博客也是静态话的,也许我就不用这么担心了。哪怕博客程序跑不起来,生成的页面还在,还可以继续访问。

然后静下心来,继续 Google,最后从 Linode 自己的升级说明(就是我开头时看得页面)的开头处,看到写着“如果你是 Apache 网络服务器的用户,注意 Debian 8 将 Apache 2.2 升级到了 2.4。这个版本对配置文件做了数处调整,会搞掉现存的网站。请在继续前阅读《Apache 升级说明》的内容。我当时扫了一眼,知道了 Apache 会从 2.2 升级到 2.4 就没有继续关注,因为我觉得像 Apache 这样的包,应该不会随便修改配置文件,于是就直接进行了下一步。而当我阅读这篇《升级说明》后,才知道 Apache 2.4 的配置文件里有几句配置是必须要添加的,而这篇说明里面把所有要进行的修改都说明了,我仔细一点的话,就不会出这样的问题了。

按照说明里的步骤进行调整,在重启 Apache 的时候,说不能识别 RailsBaseURI 命令,这下我马上反应过来是 Rails 或者 Passenger 的配置上有了问题。我先把配置中有关 Rails 的部分注释掉,重启 Apache 成功,之前的网页就都回来了。随后我找到了 Linode 文档里的这篇:Ruby on Rails with Apache on Debian 8,读了一遍没发现有什么特殊的,于是重新安装了一遍 Passenger,随后问题解决。

终于开始使用 MoinMoin

今天我终于把自己的 wiki 系统换成了 MoinMoin。

我对 MoinMoin 算是觊觎已久了,我的 blog 上关于 MoinMoin 最早的一篇文章是两年前的《还是建了一个 wiki》,那也是我在自己的网站上搭建 wiki 的开始。本来我用 wiki 是像用它来管理我的网页,因为这样可以在浏览器里用方便的结构化文本来生成页面,而不用我麻烦的手写 HTML,当时我试用了几个 wiki 程序都不符合我的要求。主要原因是 wiki 的内容限制有些死板,我不想把我的首页弄得像一个 wiki,我想让它像一个网页。而那些 wiki 程序都以安全为由把用户可以输入的内容限制的死死的,令我非常不爽。后来我放弃了用 wiki 来管理整个网站的想法,转而建立一个单独的 wiki,于是我在当时用的 Site5 共享空间上用 MediaWiki 搭建了一个 wiki。当时我已经想用 MoinMoin 了,可惜用共享空间来搭建 MoinMoin 太麻烦,我最后放弃了。

到了 2010 年的 10 月,我自己开始试用了 VPS,当时也尝试过安装 MoinMoin,不过失败了。虽然现在看来我觉得安装 MoinMoin 不难,但对我来说有些事情是必须要经历过一次才能理解的,在这之前我没有成功的在远程主机上安装成功过 MoinMoin。

2011 年 7 月 2 日我第一次在自己的 VPS 成功安装了 MoinMoin,用 Nginx + FastCGI 来运行,感觉不错。不过由于中文文件名等原因,我到了第二天就放弃了

今年年初我第一次给自己买了 512M 内存的 VPS,有很大的资源可以让我稍微挥霍一下,不用严格计算内存的用量了。本着学习的想法,我在这个 VPS 上装上了 Apache 服务器。在稍微熟悉了一下 Apache 的配置之后,我尝试着在上面跑 MoinMoin。MoinMoin 的文档上说用 WSGI 来运行 MoinMoin 是推荐的方法,但我就是没办法让 MoinMoin 在 Apache + mod_wsgi 模式下正常运行,于是我的尝试又一次失败了。那时我把 wiki 程序换成了 DokuWiki,用起来感觉很不错,当时我基本上都决定了之后就一直用 DokuWiki 下去了,结果命运弄人,偏偏我这时候瞎猫碰上死耗子一般的成功把 MoinMoin 在 Apache + mod_wsgi 模式下给跑起来了。