公司需要一个可以用于对外展示的简易的web页面,并且支持编辑修改。DokuWiki程序小巧而功能强大、灵活,适合中小团队和个人网站知识库的管理。
搭建步骤:
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/install.PHP
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
10、登录公司防火墙,进行ip地址映射到外网
搭建完成后,发现没办法通过web来新建文件,需要登录服务器来创新新文件。创建访问如下:
cd /var/www/html/wiki/data/pages/ #进入目录
touch kaolafm.txt #创建文件
chown apache:apache kaolafm.txt #修改权限
11、定义网站的主页面
默认情况下,输入ip地址(或域名)直接访问网站,网站首页显示的并非是wiki的主页。所以需要在httpd.conf中定义主页面。我们定义/wiki/doku.PHP为主页面。
<IfModule dir_module>
DirectoryIndex /wiki/doku.PHP index.html
</IfModule>
# 遇到的问题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重启机器即可