从 0 搭建 DokuWiki

从 0 搭建 DokuWiki

DokuWiki 的官方网址是:https://www.dokuwiki.org/start?id=zh:dokuwiki。官网支持中文,但是部分页面翻译陈旧,可以切换英文查阅。

官方已经给出了详细的安装指南,本文仅结合我的安装经历简述一遍。


简单地说,要安装 DokuWiki,必须具备以下条件:

  • 有一个支持 PHP 的 web 服务器
  • 系统安装的 PHP 版本高于 5.3.3

1、服务器

Apache,IS, litespeed, lighttpd, nginx 和 Abyss 等等都是可以的,我选了 lighttpd。

2、下载安装 DokuWiki

下载 DokuWiki 以后,把解压出来的文件夹放在 /var/www 目录下。放在这里是因为 lighttpd 默认配置文件的网址首页文件夹是在这个地方。我尝试了放在其它地方,维基不能正常访问,只能放在这里。其实是我不会配置。

如果是用其它服务器,可能解压出来的文件应该放的地方就不一样了。

3、配置 lighttpd

如果是一个已经在用的 web 服务器,大概就不需要这样配置,直接稍微设置一下就可以让用户访问了。这里大概介绍一下全新安装的 lighttpd 要怎么搞。

lighttpd 的核心配置文件在 /etc/lighttpd/lighttpd.conf。第 88 行 server.port = 80,我把端口改成了81,不要问我为什么,任性。

第 93 行 server.use-ipv6 = "enable",我改成了 disable,否则在我的环境下无法访问。

第 115 行,原文是啥忘了,我改成了 server.document-root = server_root + "/dokuwiki",这是我放 dokuwiki 的地方。 server_root 在配置文件里默认定义为 /var/www

lighttpd.conf 在第 78 行 include "modules.conf",modules.conf 里设定了 ligthttpd 要加载的模块。PHP 是通过 fastcgi 模块来支持的,所以应该在 modules.conf 里启用 fastcgi 模块。

打开 modules.conf ,第 132 行#include "conf.d/fastcgi.conf",把“#”号去掉。这里我们看到 modules.conf 调用了 conf.d/fastcgi.conf,我们还需要去编辑一下这个文件。

在 fastcgi.conf 的最后面(实际可以是除了开头意外的任意地方,因为别的内容基本都被注释掉了),加入这么几行:

fastcgi.server = ( 
  ".php" => ( 
    "localhost" => (
      "socket" => "/tmp/php-fastcgi.socket", 
        "bin-path" => "/usr/bin/php-cgi"
)))

上面这段的大概意思是说,看到 php 文件,要发给什么组件去处理。具体的解释,可以看这篇文章的“fastcgi 配置”部分。

4、运行前的准备

如果没有记漏的话,到这里基本配置就好了。在 CentOS 7 下,可以用 systemctl start lighttpd 来启动 lighttp。或者,可以用

lighttpd -D -f lighttpd.conf

这样可以看到一些错误信息输出。这是你可能会遇到一些问题,所以还是有一些地方要再做一下准备。

1、安装 php-fastcgi,运行上面的命令的时候,系统提示着不动 fastcgi 动态库,所以我们需要安装这个东东。

2、赋予权限

这一部分我没有系统地做,而是东一榔头西一锤子地一点点改,最后成功运行了。所以没有可以记录的步骤。如果有人记录的详细的步骤,可以来修改这一段。官方也给出了一个设置文件权限的教程。总之目的是,让 dokuwiki 这个文件对 web server 可读写。我基本做法是把整个文件夹的读写权限赋给 lighttpd 用户(我机器上,lighttpd 以这个用户运行)。后来 selinux 报了一些错误,一一解决,但没有记录。

5、运行安装

各项准备好后,就可以访问 DokuWiki 的页面了。第一次访问会提示安装,按页面提示走就行了,没有什么好说的。接下来就是分配用户权限之类的无聊事情。

DokuWiki 好用的地方在于它的插件系统,可以极大的扩展功能。当前,我安装了如下插件:

  • discussion plugin(添加评论功能,依赖于 Pagelist Plugin)
  • Pagelist Plugin(被 discussion plugin 依赖)
  • Gallery Plugin(实现一个类似简单相册的功能,方便上传图片)
  • Tag Plugin(在编辑器里添加标签)
  • Dw2Pdf plugin(添加页面保存成 PDF 的功能)

以上插件除了 Dw2Pdf plugin,都可以通过管理面板的“扩展管理器”安装。Dw2Pdf plugin 可以通过 https://www.dokuwiki.org/plugins 搜索下载,手动安装,因为它太大了。用 Dw2Pdf,如果报错,提示没有 mbstring 什么的,还需要安装 php-mbstring。

各个插件的配置十分简单,各自的主页上(通过 https://www.dokuwiki.org/plugins)搜索都有介绍,基本都可以在管理面板的“配置设置”里集中配置,十分方便。此不赘述。

本文更新时间:2016-07-01

你可能感兴趣的:(dokuwiki,dokuwiki)