当前位置: 首页 > 文档资料 > Dokuwiki 中文教程 >

DokuWiki 设置

优质
小牛编辑
131浏览
2023-12-01

为DokuWiki添加登录功能

DokuWiki的登录功能默认是关闭的,您可以通过配置local.php,users.auth.php,acl.auth.php这三个文件来设置DokuWiki的登录功能。

具体设置方法请见下面的说明:以本机调试为例。

DokuWiki的安装

  1. 首先去wiki官方网站去下载一个最新版本。
  2. 将下回来的文件解压,并传到站点根目录下的dokuwiki1)文件夹中。
  3. 在浏览器中输入类似“www.example.com/dokuwiki/index.php”格式的网址,就可以访问wiki了。

DokuWiki的配置

DokuWiki默认的首页为Python 俱乐部页,现在首页里没有任何内容,页面也是英文的。下面我们来配置几个参数,让我们的wiki更符合我们的要求。

配置local.php 全局设置

在conf目录下,找到local.php.dist,这个文件即local.php的样本,将其复制一份,重命名为:local.php。

local.php采用utf-8编码存储,使用支持utf-8编码的文本编辑器打开,内容见下(为了查看方便,去掉了一部分注释,请仔细对照):

  • 原选项前含有“//”注释符号,若想使相应选项生效,必须去掉注释符。
$conf['title'] = 'My Wiki';              //wiki页面的标题,即页面右上方的标题。
$conf['useacl'] = 1;                     //启用ACL管理。0-不启用;1-启用。见下:
  • 使用acl权限审核。acl-Access Control Lists(访问控制列表)。有两个选项:0-关闭权限审核,1-开启权限审核。
  • 如果想添加用户登录功能,必须开启权限审核。
$conf['superuser'] = 'admin';            //超级用户(管理员)登录名。
$conf['authtype'] = 'plain';             //这里使用plain(简单)验证方式。

常用的三种登录验证方式:

  * plain-使用配置文件,conf/acl.auth.php存储用户名及密码资料。
  * ldap-使用ldap主机的用户资料来做使用者验及提供用户身份。
  * mysql-使用mysql数据库资料存储用户资料。
  //require_once ("mysql.conf.php");        //如果你不使用MySQL数据库,那么就请保持这一行的注释状态,或干脆删除该行。

接下来,根据情况,添加如下内容:

$conf['lang'] = 'zh';                    //wiki的界面语言。默认为“en”,中文请改为“zh”。
$conf['youarehere'] = 1;                 //显示you are here导航。0-不显示,1-显示。
$conf['defaultgroup'] = 'user';          //默认用户组。
$conf['htmlok'] = 1;                     //是否支持html标记。0-不支持,1-支持。
$conf['phpok'] = 0;                      //是否支持php脚本。0-不支持,1-支持。
$conf['openregister'] = '0';             //是否允许用户注册。0-不允许,1允许。

至于local.php文件配置完成。

配置acl.auth.php 权限管理

acl.auth.php中存储用户组及页面权限信息。在conf目录下,找到acl.auth.php.dist,这个文件即acl.auth.php的样本,将其复制一份,重命名为:acl.auth.php。

默认的acl.auth.php文件内容如下:

# acl.auth.php
<?php exit()?>
# Don't modify the lines above
#
# Access Control Lists
#
# Editing this file by hand shouldn't be necessary. Use the ACL
# Manager interface instead.
#
# If your auth backend allows special char like spaces in groups
# or user names you need to urlencode them (only chars <128, leave
# UTF-8 multibyte chars as is)
#
# none   0
# read   1
# edit   2
# create 4
# upload 8
# delete 16
*               @ALL        8

注意,这个权限表由下往上是相互包含的,即如果你为一个用户组设置上传权限,那么上传权限以上的权限,读取,编辑,建立等是自动添加的,一定要注意。按此编辑用户组权限如下:

  *	@admin	255                   //为admin用户组分配全部权限。255这个权限值是专为admin用户组准备。
  *	@user	8                     //为user用户组分配上传以下的权限。
  *	@ALL	1                     //为所有人,即浏览者分配读取权限。
  playground:playground	@ALL	2     //为playground:playground页面分配编辑权限。

配置users.auth.php 用户配置

users.auth.php中存储用户组及页面权限信息。在conf目录下,找到users.auth.php.dist,这个文件即users.auth.php的样本,将其复制一份,重命名为:users.auth.php。

默认的users.auth.php文件内容如下:

# users.auth.php
# <?php exit()?>
# Don't modify the lines above
#
# Userfile
#
# Format:
#
# user:MD5password:Real Name:email:groups,comma,seperated

最后一行,即user:MD5password:Real Name:email:groups,comma,seperated即添加单个用户配置的标准格式。

user                     -->用户名
md5password              -->采用md5加密的密码
real name                -->真实姓名
email                    -->电邮地址
groups                   -->用户组

各个权限项之间用:分隔。举例如下,用户名:admin,密码:admin,真实姓名:tr.c,电邮地址:tr.c@huobao0911.com,用户组admin

admin:21232f297a57a5a743894a0e4a801fc3:tr.c:tr.c@huobao0911.com:admin

生成md5编码

用记事本编辑以下文本行,存储为md5.php,在服务器上调试此文件,生成相应文本的md5编码:

<form action="" method="post" name="form1">
  <input type="text" name="textfield">
  <input type="submit" name="Submit" value="create">
</form>
<?php
echo $_POST["textfield"];
echo "<br>";
echo md5( $_POST["textfield"]);
?>

至此,DokuWiki的登录设置完成。