一,dowkuwiki的安装
1.1下载dokuwiki
在网址https://download.dokuwiki.org/下载最新版本的DokuWiki。
如下图所示,在下载时进行3个选项信息的确认:Version、Languages和Popular Plugins
此处我们的选择依次是:版本(Stable)、语言(en+zh)、插件(无,即不选择任何插件),然后下载安装包(本文中下载的安装包名称为:dokuwiki-a1b9b25f129b085a00920bd821719ccd.tgz
1.2依赖组件安装
DokuWiki在安装前需要依赖如下三个组件。(具体见:DokuWiki System Requirements)
-
Webserver supporting PHP: DokuWiki能够运行在任意支持PHP的Webserver上,本文中使用Apache的Httpd服务
-
PHP(版本大于或者等于5.6),DokuWiki要运行在PHP的安全模式(Safe Mode)下
-
浏览器
-
1.2.1安装Apache Httpd
首先进行Apache Httpd的安装,在联网环境下,可以直接通过如下yum命令进行Apache Httpd的安装:
[root@izwz934uda0vhwlzenknpcz Desktop]# yum install httpd -y
启动httpd服务:
[root@izwz934uda0vhwlzenknpcz Desktop]# systemctl start httpd.service
打开页面,看httpd服务是否已经启动,如下所示即为httpd服务成功启动。
1.2.2安装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均安装成功。
1.3安装dkuwiki
1.3.1解压安装包
解压在之前下载好的安装包,如下所示:
[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
1.3.2放置解压包
将解压之后的dokuwiki目录放置在/var/www/html目录下
注意:通过这种放置方法,只能通过IP/dokuwiki/index.php来访问。如果想通过IP/index.php方式来访问,则需要自己配置httpd服务。
[root@izwz934uda0vhwlzenknpcz Desktop]# mv dokuwiki /var/www/html/
1.3.3配置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
1.3.4权限配置及wiki安装
若在root账户下执行,若直接访问会出现如下页面:
The datadir (‘pages’) at ./data/pages is not found, isn’t accessible or writable. You should check your config and permission settings. Or maybe you want to run the installer?
-
1)首先将dokuwiki的目录所有者改为Web Server所在的用户和用户组(用户名为apache,组ID为48)
#运行下列三行有效解决权限问题导致的无法显示页面 chown -R apache:root /var/www/html/dokuwiki chmod -R 664 /var/www/html/dokuwiki/ find /var/www/html/dokuwiki/ -type d -exec chmod 775 {} \;
上述配置完成后,会在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
在外网访问如下地址,如果出现以下结果,证明目录权限访问配置成功。
附:常见问题解决方案
按这个教程安装现在未出现bug或棘手问题,如果你遇到了问题不能解决,欢迎留言,待我补充~
参考:https://www.dokuwiki.org/install