DokuWiki

网站完成调整

从前天开始进行测试,到今天上午完成了配置,我的网站完成了后台调整,从过去的 LNMP 切换到了 Docker 服务,也把 URL 的配置格式从目录切换到了子域名。

上个月我写了《或许我应该切换到子域名》这篇文章,讲了一些关于网站部署的想法。这次是把这篇文章中的想法进行了实践,并且也使用了 Docker。起因是我偶然间读到了这篇文章,里面对使用 Docker 来部署一个 WordPress 讲的非常清晰,特别是里面使用了 Nginx Proxy Manager (NPM) 这个工具,之前我从来没听说过它,让 Nginx 配置的一切都图形化了,而且支持自动申请 Let’s Encrypt SSL 证书,解决了我过去尝试中遇到的难题。我通读了下来,心想这并不复杂呀,于是也萌生了尝试的念头。

因为我之前还有 credit 没用完,所以我在 Linode 上面下单了一个最小的 VPS 实例,并把一个二级域名解析到上面。一开始我安装 Docker 这一步就遇到点问题,我开始的时候为了通用性,尽量避免兼容问题,选择了 Ubuntu 24.04 操作系统,结果遇到些挺奇怪的错误。软件仓库里有好几个版本的 Docker,我是新手也完全不确定该用哪一个。后来我按照网上的说明选了一个安装上去,在执行 docker compose 命令的时候也发生了 Python 的异常,在新的服务器上不大应该。于是我第二次选择了 Debian 12,也是我目前在用的 OS。这次我直接看 Docker 的官方网站上的说明,添加了 Docker 官方源,安装的里面的 stable 版本,之后比较正常了。

这次我遇到了一些问题,到最后基本都解决了。很多问题是我自己粗心导致的,比如在 NPM 中配置代理后访问时的 500 错误。现在看来是当时自己粗心,之前每怎么用过 Docker,看到一个内部 IP 就凭直觉往里填 127.0.0.1,后来才知道应该填 172.17.0.1。还有就是博客的 URL,怎么让他不带端口号,也不要自己跳转到无法访问的形式也让我想了半天。后来我发现应该配置好了代理和SSL之后,再访问 WordPress 完成安装,在后台设置中一切就正确了。我在测试服务器上把 WordPress 当前的配置都迁移过去,包括 Markdown 解析、主题字体设置,而且我发现现在 WordPress 导入支持把原本的媒体文件也导入进当前的服务器,文章里面的链接 URL 也被升级过了,省了很大的功夫。之后我还在申请通配符 SSL 证书那里遇到了麻烦,DNS 验证通不过,之后我发现我提交的是 DNSPod 后台的腾讯云 API,改成 token 之后问题也解决了。

考虑切换维基程序

曾经我把个人维基的应用程序从 MoinMoin 切换到了 MediaWiki,现在我几次考虑要更换回来。

最大的问题还是出于保密需要。我之前感觉我需要保密的东西,就是在一些不大适宜让大家知道我知道的记录,比如一些成人的内容,但现在随着年龄的增长,事情正在起变化。现在我由一个大学生变成了一个中年男,有了媳妇当了父亲,一些事情,在当今社会对男人来说,已经不再是负担,反而是一些无关紧要的事情了。但是,当我近期开始维护起维基的时候,我想起了里面还是记录了一些个人隐私方面的内容。是真正的隐私,涉及感情的文字(比如曾经的情书之类的)。

上次也说了,我的一些逗比同事发现了我写博客的事,也知道了我的网站,甚至一度找到了我的维基,看到了上面保存的那些成人内容。我一开始不甚在意,但当我意识到,我里面还有情感方面的东西时,我就有点坐不住了。

现在考虑切换到可以做单页隐藏的维基。一个想法是回到 MoinMoin,我之前的页面备份还有,我想把它存回去,应该就可以恢复很多一部分内容。但负面考虑是安装麻烦,毕竟要用 Python,而且再加上 WSGI,我现在感觉不一定有把握可以顺利安装。还有一个原因来自 MoinMoin 本身,曾经的 2.0 版本,似乎一直没有推出,那么它还有没有未来,我还不清楚。另一个想法是 Doku Wiki,是一个比较方便安装的选项。但是它的语法跟 MediaWiki 正好相反,要迁移起来可能比较难。另外还有一个方法,就是把那几篇不适宜分享的内容删掉,保存在本地。可一来不甚安全,容易丢失,而来也违背了我维基永远不删除垃圾信息的原则,总之还没有一个定论。

当然,如果那帮逗比同事可以一棒子敲脑袋上就把这事忘记就好了。

终于开始使用 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 模式下给跑起来了。

换了一个 wiki 引擎

今天我把我一直用着的 MediaWiki 换成了 DokuWiki。

其实想换 wiki 引擎的想法由来已久,过去综合考虑之后,我选择了 MediaWiki,其实它对我的要求还有一些无法满足的地方。而且 MediaWiki 是为了 Wikipedia 设计的,对于我这种个人用户来说,在某一方面有些过于强大了,反而在另一些我需要的方面没有达到要求,而且并不是目前没有达到要求,而是人家的设计思想就拒绝了我的要求。这方面的例子有页面隐私这一项。对于个人 wiki 来说,有些页面我不想让别人看到,这是再正常不过的事情了。但 MediaWiki 的设计思想就是开放,因此这一项功能开发者永远也不回实现,并且明确的在它们的页面上说了,如果你想用这种功能,你应该换一个 CMS 系统。

不过,MediaWiki 总体来说还是一个非常不错的 wiki 引擎,我用了两年的时间里,它比较好的服务了我。虽然中间有一些比如 spam、access key 之类的麻烦的设置,但我也算是忍下来了。当然说忍是有点过分了,不过我在期间有好几次想要把它换掉。除了上面说的页面隐私问题外,还有原因就是它有些太厚重了。我在期间也尝试了一下 UseMod wiki 之类的“老前辈”,它们与 MediaWiki 在体积上比简直是蚂蚁和大象的区别。虽然说一直没有更换成功,但我脑子里隐隐有种想法,就是 MediaWiki 可能并不适合我。

我想更换的首要目标就是 MoinMoin。最吸引我的 MoinMoin 网站就要属啄木鸟社区了。我主要是特别喜欢那个站点的页面风格,尤其是 Zoom.Quiet 搞的那一套。虽然说页面看上去很混乱,但仔细读起来却能发现信息都被比较好的组织起来了。当然因为啄木鸟社区运行了数年,里面信息实在是太多的缘故,所以看上去还是乱,这时就要用搜索了。总之 ,对于 wiki 这种东西,这种大杂烩的页面风格一直很吸引我。

不过 MoinMoin 的规模也不小,啄木鸟社区的文档也不是一个个人 wiki 可以比的。因此如果用 MoinMoin 来搭建一个个人 wiki 来说,其实还是有些过大了。我自己的 wiki 文档还没有积攒到啄木鸟社区的那种程度,因此注定了我无法把自己的 wiki 弄成啄木鸟社区的那种风格。更重要的是,我这次更换 VPS 之后配置 Apache + MoinMoin 失败了 ;)。过去我用过 Nginx 来跑 MoinMoin 成功了,但这次因为对 Apache 不熟悉,因此到最后也没有运行起来。可气的是,因为 VPS 的资源限制,现在越来越多的人都放弃了 Apache 转用 Nginx 和 Lighttpd 等轻量的 web server 了,结果让我很难搜到在 Apache 上配置 MoinMoin 的中文资料,反而有不少 Nginx 上的。拜托,我就是为了用 Apache 才换 512M 内存的 VPS 的啊……