系统版本: CentOS Linux release 7.7.1908 (Core)


前言:

通过网上学习wiki搭建了部门知识库,综合网上资料,结合实际遇到的问题,总结分享出来以供参考。

1.下载并安装httpd

Dokuwiki 的安装需要apache服务和php环境的支持,所以要先安装httpd和php,第1、2步下载完,相关的依赖包都会一并下载

yum -y install httpd

2.下载并安装php

①查看yum源中有没有php7.x

yum search php7

警告:没有匹配 php7 的软件包

②由于linux的yum源不存在php7.x,所以我们要更改yum源:

rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

也可以选择下面的这个命令,效果一样:

yum install epel-release -y
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

③查看目前能够安装的PHP版本(最新版)

yum list php*

④移除系统自带的php-common

yum remove php-common -y

⑤yum 安装php72w和各种扩展包

这里注意cli和fpm这两个包,运行以下命令即可,其他扩展包看个人需求选择

yum -y install php72w php72w-cli php72w-fpm php72w-common php72w-devel php72w-gd

完整的扩展包安装:

yum -y install php72w php72w-cli php72w-fpm php72w-common php72w-devel php72w-embedded php72w-gd php72w-mbstring php72w-mysqlnd php72w-opcache php72w-pdo php72w-xml

⑥查看php版本

php -v

⑦查看所有扩展

php -m

3.下载并解压dokuwiki程序包

因为用yum命令找不到安装包,所以直接去官网下载稳定版

wget -c http://download.dokuwiki.org/src/dokuwiki/dokuwiki-stable.tgz
tar -zvxf dokuwiki-stable.tgz

4.将解压后的文件夹移到 apache 默认路径中

apache 默认地址是 /var/www/html ,所以把dokuwiki程序包解压到此路径下

mv dokuwiki-2018-04-22b/ /var/www/html/dokuwiki

5.修改文件夹所属用户及组

#httpd 默认启动的用户及组是 apache,所以修改文件夹所属用户及组

chown -R apache:apache /var/www/html/dokuwiki 
chmod -R 775 /var/www/html/dokuwiki

6.修改httpd配置文件

nano /etc/httpd/conf/httpd.conf

①更改根目录
DocumentRoot "/var/www/html"改为DocumentRoot “/var/www/html/dokuwiki”

②更改访问权限

原来:

#Relax access to content within /var/www.
#
<Directory "/var/www">
    AllowOverride None
    # Allow open access:
    Require all granted
</Directory>
#Further relax access to the default document root:
<Directory "/var/www/html">

更改后:

#Relax access to content within /var/www/html/dokuwiki.
#
<Directory "/var/www/html/dokuwiki">
    AllowOverride None
    # Allow open access:
    Require all granted
</Directory>
#Further relax access to the default document root:
<Directory "/var/www/html/dokuwiki">

③对URL进行过滤以保证数据安全,在 httpd.conf 添加下面代码:

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

6.启动/设置httpd

①启动httpd

service httpd start

相关命令扩展:

#重启方式
systemctl restart httpd
#停止服务 
systemctl stop httpd

②查看状态

systemctl status httpd

③开机自启httpd

chkconfig --levels 235 httpd on

7. firewall 开通80端口

检查端口80是否有开通

firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --reload
firewall-cmd --zone=public --list-ports

8.关闭SELinux防火墙:

①临时关闭(不用重启机器)
设置SELinux 成为permissive模式

setenforce 0

设置SELinux 成为enforcing模式

setenforce 1

②永久关闭(需要重启系统)
修改/etc/selinux/config 配置文件

nano /etc/selinux/config

将SELINUX=enforcing改为SELINUX=disabled
重启系统即可

9.访问 install.php 进行最后安装

web访问:http://IP/install.php

10.安装配置

  • 维基名称:随意取,比如我的是ruoyun
  • 启用ACL(推荐):即启用权限控制,这个保持默认(选中状态)
  • 超级用户:输入超级用户的用户名
  • 全名:超级用户的全名
  • E-Mail:超级用户的电子邮件地址
  • 密码:超级用户的密码
  • 请再输一次:再次输入密码
  • 初始的ACL政策:全局权限控制策略,在下拉列表中选择一个合适的,我一般选第3个,以后配访问权限可以再调整开放哪部分内容

开放的维基(任何人都有读、写、上传的权限)
公开的维基(任何人都有读的权限,只有注册用户才有写和上传的权限)
关闭的维基(只有注册用户才有读、写、上传的权限)

填写完成后按“保存”完成安装。
登陆进入http://IP/doku.php或者域名/doku.php

11.安装成功后,删除 install.php

rm -f /var/www/html/dokuwiki/install.php

FAQ:

问题一: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,就没有出现这个错误了

问题二:如果访问时显示 403 Forbidden,需要关闭SELinux
1.查看SELinux状态:
①如果SELinux status参数为enabled即为开启状态

/usr/sbin/sestatus -v

SELinux status: enabled
②也可以用getenforce命令检查

getenforce

2.关闭SELinux:
①临时关闭(不用重启机器)
设置SELinux 成为permissive模式
setenforce 0
设置SELinux 成为enforcing模式
setenforce 1

②永久关闭(需要重启机器)
修改/etc/selinux/config 配置文件

nano /etc/selinux/config

将SELINUX=enforcing改为SELINUX=disabled
重启机器即可

问题三:CentOS7升级任意版本php到php7.2

前言:
CentOS7下安装PHP默认是5.4的,但是有些框架要求PHP的版本得在5.4以上,
现在的框架大多要求php7以上的,比如typo3.8.x,必须7.0+;typo3.9.x,必须php7.2+。
这时候我们就需要把PHP升级一下了。

1.匹配yum源

yum provides php

2.开始升级php

①更新源

rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

②移除系统自带的php-common

③安装依赖关系包

yum remove php-common -y
yum install -y php72w php72w-opcache php72w-xml php72w-mcrypt php72w-gd php72w-devel php72w-mysql php72w-intl php72w-mbstring

④查看版本

php -v

未完待续…