DokuWiki安装教程

DokuWiki教程

按照项目需求,需要一款Wiki软件用来记录项目实施过程中的各类事件、技术文档、接口说明等。本篇教程详述DokuWiki的安装及使用。

第一部分:CentOS 7下DokuWiki的安装及权限配置 第二部分:DokuWiki的基本使用

第一部分:CentOS 7下DokuWiki的安装

DokuWiki的安装参考教程https://www.dokuwiki.org/install,整个安装过程分为以下几步:

下载DokuWiki

在网址https://download.dokuwiki.org/下载最新版本的DokuWiki。

如下图所示,在下载时进行3个选项信息的确认:Version、Languages和Popular Plugins

下载Dokuwiki

此处我们的选择依次是:版本(Stable)、语言(en+zh)、插件(无,即不选择任何插件),然后下载安装包(本文中下载的安装包名称为:dokuwiki-a1b9b25f129b085a00920bd821719ccd.tgz)。

安装前准备

DokuWiki在安装前需要依赖如下三个组件。(具体见:DokuWiki System Requirements

  • Webserver supporting PHP: DokuWiki能够运行在任意支持PHP的Webserver上,本文中使用Apache的Httpd服务
  • PHP(版本大于或者等于5.6),DokuWiki要运行在PHP的安全模式(Safe Mode)下
  • 浏览器

安装Apache Httpd

首先进行Apache Httpd的安装,在联网环境下,可以直接通过如下yum命令进行Apache Httpd的安装:

[root@izwz934uda0vhwlzenknpcz Desktop]# yum install httpd -y

启动httpd服务:

[root@izwz934uda0vhwlzenknpcz Desktop]# systemctl start httpd.service

打开页面,看httpd服务是否已经启动,如下所示即为httpd服务成功启动。
测试apache httpd是否安装成功

安装PHP

本文中安装php70,需要导入php源,然后再使用yum命令进行安装。

导入php源
[root@izwz934uda0vhwlzenknpcz Desktop]# yum install -y epel-release 
[root@izwz934uda0vhwlzenknpcz Desktop]# rpm -Uvh https://centos7.iuscommunity.org/ius-release.rpm
安装php70

通过以下命令安装php70:

[root@izwz934uda0vhwlzenknpcz Desktop]# yum install -y php70u-*

安装完毕后,通过以下指令查看php70是否安装成功。

[root@izwz934uda0vhwlzenknpcz Desktop]# php -v
PHP 7.0.30 (cli) (built: Apr 26 2018 13:30:35) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
    with the ionCube PHP Loader (enabled) + Intrusion Protection from ioncube24.com (unconfigured) v10.2.0, Copyright (c) 2002-2018, by ionCube Ltd.
    with Zend OPcache v7.0.30, Copyright (c) 1999-2017, by Zend Technologies
    with Xdebug v2.6.0, Copyright (c) 2002-2018, by Derick Rethans

测试安装的php70能否在Apache httpd下运行

[root@izwz934uda0vhwlzenknpcz Desktop]# echo "<?php phpinfo(); ?>" > /var/www/html/index.php

打开页面IP/index.php,出现如下图的结果就证明Apache Httpd和php均安装成功。
监测apache httpd和php是否安装成功

安装DokuWiki

安装DokuWiki的过程分为以下几个步骤:解压安装包、

解压安装包

解压在之前下载好的安装包,如下所示:

[root@izwz934uda0vhwlzenknpcz Desktop]# tar -zxvf dokuwiki-a1b9b25f129b085a00920bd821719ccd.tgz
[root@izwz934uda0vhwlzenknpcz Desktop]# ls dokuwiki
bin  conf  COPYING  data  doku.php  feed.php  inc  index.php  install.php  lib  README  vendor  VERSION

放置解压包

将解压之后的dokuwiki目录放置在/var/www/html目录下

注意:通过这种放置方法,只能通过IP/dokuwiki/index.php来访问。如果想通过IP/index.php方式来访问,则需要自己配置httpd服务。

[root@izwz934uda0vhwlzenknpcz Desktop]# mv dokuwiki /var/www/html/
[root@izwz934uda0vhwlzenknpcz Desktop] cd /var/www/html/dokuwiki
[root@izwz934uda0vhwlzenknpcz dokuwiki]# ll
总用量 100
drwxr-xr-x  2 root root  4096 7月   5 22:14 bin
drwxr-xr-x  2 root root  4096 7月   5 22:14 conf
-rw-r--r--  1 2012 2012 18092 5月   3 14:36 COPYING
drwxr-xr-x 12 root root  4096 7月   5 22:14 data
-rw-r--r--  1 2012 2012  3547 5月   3 14:36 doku.php
-rw-r--r--  1 2012 2012 19141 5月   3 14:36 feed.php
drwxr-xr-x  8 root root  4096 7月   5 22:14 inc
-rw-r--r--  1 2012 2012  2097 5月   3 14:36 index.php
-rw-r--r--  1 2012 2012 19233 5月   3 14:36 install.php
drwxr-xr-x  8 root root  4096 7月   5 22:14 lib
-rw-r--r--  1 2012 2012   306 5月   3 14:36 README
drwxr-xr-x 11 root root  4096 7月   5 22:14 vendor
-rw-r--r--  1 2012 2012    21 5月   3 14:36 VERSION

配置dokuwiki内的目录权限、执行wiki安装

权限说明

dokuwiki以文件的形式存储配置文件和页面数据,为了wiki的安全,需要确保以下目录不能通过web被公众用户访问。

  • data
  • conf
  • bin
  • inc (isn't dangerous when accessible, though)

可以通过_cat /ect/group_和_cat /etc/passwd_命令分别查看组信息和用户信息。

cat /etc/group结果参数说明

组名:口令:组标识号:组内用户列表
root:x:0:
apache:x:48:
php-fpm:x:991:

cat /etc/passwd结果参数说明

用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell
root:x:0:0:root:/root:/bin/bash
apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin
php-fpm:x:995:991:php-fpm:/var/lib/php/fpm:/sbin/nologin
权限配置及wiki安装

由于本人是在root账户下执行,因此

1)首先将dokuwiki的目录所有者改为Web Server所在的用户和用户组(用户名为apache,组ID为48)

[root@izwz934uda0vhwlzenknpcz html]# chown -R apache:48 dokuwiki

2)打开网址http://IP/dokuwiki/install.php,进行dokuwiki的配置,如下图所示。

Dokuwiki初始化安装

上述配置完成后,会在dokuwiki/conf目录下生成三个文件:local.php、users.auth.php和acl.auth.php。

3)步骤2完成后,删除掉install.php文件

[root@izwz934uda0vhwlzenknpcz dokuwiki]# rm -rf install.php

4)配置目录访问权限,保证wiki的数据安全
配置apache的httpd.conf(apache/conf/httpd.conf)文件,进行安全配置,

[root@izwz934uda0vhwlzenknpcz html]# vi /etc/httpd/conf/httpd.conf
添加如下几行:

<LocationMatch "dokuwiki/(data|conf|bin|inc)/">
    order allow,deny
    deny from all
    satisfy all
</LocationMatch>

添加完毕后,执行以下命令重启Apache Web Server

在外网访问如下地址,如果出现以下结果,证明目录权限访问配置成功。

测试访问控制

至此,wiki的基本安装已经全部结束,完成上述步骤后,可以看到如下的跳转页面。

第二部分:DokuWiki的配置

Dokuwiki的基本配置

为了优化Dokuwiki的中文使用,进行以下配置:

(解决中文乱码权威教程

解决中文文件名乱码问题
[root@izwz934uda0vhwlzenknpcz dokuwiki]# vi conf/local.php
在文件末尾添加如下一行:
$conf['fnencode']= 'utf-8';
[root@izwz934uda0vhwlzenknpcz dokuwiki]# vi inc/pageutils.php
1)将函数
function utf8_encodeFN($file,$safe=true){
    global $conf;
    if($conf['fnencode'] == 'utf-8') return $file;

    if($safe && preg_match('#^[a-zA-Z0-9/_\-\.%]+$#',$file)){
        return $file;
    }

    if($conf['fnencode'] == 'safe'){
        return SafeFN::encode($file);
    }

    $file = urlencode($file);
    $file = str_replace('%2F','/',$file);
    return $file;
}
修改为:
function utf8_encodeFN($file,$safe=true){
    global $conf;
    if($conf['fnencode'] == 'utf-8') return $file;

    if($safe && preg_match('#^[a-zA-Z0-9/_\-\.%]+$#',$file)){
        return $file;
    }

    if($conf['fnencode'] == 'safe'){
        return SafeFN::encode($file);
    }

    // 添加这个if判定语句,以支持中文
    if ($conf['fnencode']=='gbk'){
        return mb_convert_encoding($file,'gbk','UTF-8');
    }

    $file = urlencode($file);
    $file = str_replace('%2F','/',$file);
    return $file;
}

2)将函数
function utf8_decodeFN($file){
    global $conf;
    if($conf['fnencode'] == 'utf-8') return $file;

    if($conf['fnencode'] == 'safe'){
        return SafeFN::decode($file);
    }

    return urldecode($file);
}
修改为:
function utf8_decodeFN($file){
    global $conf;
    if($conf['fnencode'] == 'utf-8') return $file;

    if($conf['fnencode'] == 'safe'){
        return SafeFN::decode($file);
    }

    // 添加这个if判定语句,以支持中文
    if ($conf['fnencode']=='gbk'){
         return mb_convert_encoding($file,'utf-8','gbk');
    }

    return urldecode($file);
}

Dokuwiki使用教程

Dokuwiki升级:参考官网文档
Dokuwiki引入新模板,进行样式修改:参考博客
Dokuwiki访问控制(ACL)设置,详见教程

中文乱码问题解决参考教程

转载于:https://my.oschina.net/xhhuang/blog/1844035

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值