CentOS 7 下搭建 Dokuwiki

wudi 2017-12-16

# Dokuwiki 是php的,所以要先搭建php环境,下载 apache和php,第1、2步下载完,相关的依赖都会下载
## 1、下载 httpd
yum -y install httpd

## 2、下载 php
yum -y install php

# 因为用yum命令找不到安装包,所以直接去官网下载稳定版
## 3、下载并解压dokuwiki程序包
wget -c http://download.dokuwiki.org/src/dokuwiki/dokuwiki-stable.tgz
tar -zvxf dokuwiki-stable.tgz

# apache 默认地址是 /var/www/html ,所以把dokuwiki程序包解压后放到此地址
## 4、将解压后的文件夹移到 apache 默认路径中
mv dokuwiki-2017-02-19e/ /var/www/html/wiki

# httpd 默认启动的用户及组是 apache,所以修改文件夹所属用户及组
## 5、修改文件夹所属用户及组
chown -R apache:apache /var/www/html/wiki

## 6、启动 httpd
service httpd start

# 检查端口80是否有开通
## firewall 开通80端口
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --reload

## 7、访问 install.php 进行最后安装
http://IP或者域名/wiki

## 8、安装配置
维基名称:你wiki的名字,比如我的是Lainme's Blog
启用ACL(推荐):即启用权限控制,这个保持默认(选中状态)
超级用户:输入超级用户的用户名
全名:超级用户的全名,和上一个一样就行
E-Mail:超级用户的电子邮件地址
密码:超级用户的密码
请再输一次:再次输入密码
初始的ACL政策:全局权限控制策略,在下拉列表中选择一个合适的
开放的维基(任何人都有读、写、上传的权限)
公开的维基(任何人都有读的权限,只有注册用户才有写和上传的权限)
关闭的维基(只有注册用户才有读、写、上传的权限)

填写完成后按“保存”完成安装。现在再次进入http://IP或者域名/wiki,可以在右下角看到有个“登录”按钮,同时标题栏也变成了你设定的网站名称。

## 9、安装成功后
1、删除 install.php
rm -f /var/www/html/wiki/install.php
2、对URL进行过滤以保证数据安全
vim /etc/httpd/conf/httpd.conf
在 httpd.conf 添加下面代码
<LocationMatch "/wiki/(data|conf|bin|inc)/">
  Order allow,deny
  Deny from all
  Satisfy all
 </LocationMatch>
3、开机自启 apache
chkconfig --levels 235 httpd on

# 遇到的问题1:Dokuwiki Setup Error
DokuWiki Setup Error

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?

解决方法:用yum命令先安装 httpd,再安装 php。开始的时候直接用 yum 安装 php,通过依赖会自动安装其他环境,包括 httpd,但是一直报 Dokuwiki Setup Error,网上都没有找到解决方法,后来重新搭一个环境,先装 httpd,再装 php,就没有出现这个错误了

# 遇到的问题2:如果访问时显示 403 Forbidden,需要关闭SELinux
查看SELinux状态:
1、/usr/sbin/sestatus -v ##如果SELinux status参数为enabled即为开启状态
SELinux status: enabled
2、getenforce ##也可以用这个命令检查

关闭SELinux:
1、临时关闭(不用重启机器):
setenforce 0 ##设置SELinux 成为permissive模式
##setenforce 1 设置SELinux 成为enforcing模式
2、修改配置文件需要重启机器:
修改/etc/selinux/config 文件
将SELINUX=enforcing改为SELINUX=disabled
重启机器即可