一、Dokuwiki简介

DokuWiki是一个开源wiki引擎程序,运行于PHP环境下,简单易用且高度通用,不需要数据库,它因自身简单易读的语法受到用户的喜爱。

dokuwiki可以用作企业知识库、私人笔记本、软件手册、项目工作区、cms内联网等。

dokuwiki优点:易于安装和使用,系统要求低,内置访问控制列表,扩展功能多,支持超过50多种语言,独立于设备,开源等。

二、Dokuwiki在Linux上的搭建

官网安装指南:zh:install [DokuWiki]https://www.dokuwiki.org/zh:install

1、环境要求

PHP版本版本需要最低5.6、apache、内存充足

2、PHP安装 

安装依赖包:

[root@localhost ~]# yum install -y gcc gcc-c++ make zlib zlib-devel pcre pcre-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers

到php官网找到php7.3.8包下载并上传至服务器

[root@localhost ]# tar -xvf php-7.3.8.tar

[root@localhost ]# cd php-7.3.8

配置:

[root@localhost php-7.3.8]# ./configure \

--prefix=/usr/local/php \

--exec-prefix=/usr/local/php \

--bindir=/usr/local/php/bin \

--sbindir=/usr/local/php/sbin \

--includedir=/usr/local/php/include \

--libdir=/usr/local/php/lib/php \

--mandir=/usr/local/php/php/man \

--with-config-file-path=/usr/local/php/etc \

--with-curl \

--with-zlib \

--with-openssl \

--enable-mbstring \

--enable-fpm \

--enable-bcmath \

--enable-ftp \

--enable-gd2 \

--enable-sockets \

--enable-pcntl \

--enable-mysqlnd \

--with-pdo-mysql=mysqlnd

编译安装:

[root@localhost php-7.3.8]# make && make install

生成 php.ini 配置文件:

[root@localhost php-7.3.8]# cp php.ini-production /usr/local/php/etc/php.ini

生成 php-fpm 文件:

[root@localhost php-7.3.8]# cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm

[root@localhost php-7.3.8]# chmod +x /etc/init.d/php-fpm

生成 php-fpm 配置文件:

[root@localhost php-7.3.8]# cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf

将系统的时区修改为中国时区:

[root@localhost php-7.3.8]# vim /usr/local/php/etc/php.ini

date.timezone = PRC

添加环境变量:

[root@localhost php-7.3.8]# vim /etc/profile.d/php.sh

export PATH=$PATH:/usr/local/php/bin/:/usr/local/php/sbin/

使环境变量生效:

[root@localhost php-7.3.8]# source /etc/profile.d/php.sh

启动php-fpm:

[root@localhost php-7.3.8]# service php-fpm start

设置php开机启动:

[root@localhost php-7.3.8]# chmod +x /etc/init.d/php-fpm

[root@localhost php-7.3.8]# chkconfig --add php-fpm

[root@localhost php-7.3.8]# chkconfig php-fpm on

查看是否安装成功:

[root@localhost ~]# php -v

PHP 7.3.8 (cli) (built: Jan 28 2023 19:25:42) ( NTS )

Copyright (c) 1997-2018 The PHP Group

Zend Engine v3.3.8, Copyright (c) 1998-2018 Zend Technologies

 遇到的问题:安装完php之后,发现浏览器访问时Apache不解析php文件,显示页面为php源码,搜索找到的解决方法链接:apache2+phpfpm配置_paul_god的博客-CSDN博客_apache php-fpm

3、Apache安装

yum install -y httpd

systemctl start httpd

systemctl enable httpd

[root@localhost ~]# ps -ef | grep httpd

root 917 1 0 2月02 ? 00:00:01 /usr/sbin/httpd -DFOREGROUND

apache 1009 917 0 2月02 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND

apache 1010 917 0 2月02 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND

apache 1011 917 0 2月02 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND

apache 1012 917 0 2月02 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND

apache 1013 917 0 2月02 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND

apache 1190 917 0 2月02 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND

apache 1197 917 0 2月02 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND

apache 1198 917 0 2月02 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND

apache 1199 917 0 2月02 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND

apache 1323 917 0 02:39 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND

root 1375 1300 0 03:40 pts/0 00:00:00 grep --color=auto httpd

4、dokuwiki安装 

Download DokuWiki 从以上链接下载dokuwiki安装包并上传至服务器,将dokuwiki解压到apache http服务器的位置上:/var/www/html/,

设置权限:

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

将“/var/www/html/”的用户和用户组设置为apache,通过Apache服务器访问的用户为Apache,为了保证服务器可以修改该目录下的数据

chmod -R 755 /var/www/html/

设置用户修改权限

进入 /var/www/html/目录

chmod -R 777 data/

chmod -R 777 lib/

chmod -R 777 conf/

编辑httpd.conf

vim /etc/httpd/conf/httpd.conf

.....后插入代码

order deny,allow

allow from all

order allow,deny

deny from all

satisfy all

开通端口(也可以直接将防火墙关闭)

firewall-cmd --permanent --zone=public --add-service=http

firewall-cmd --reload

关闭SELinux防火墙(如果资源无法访问)

临时关闭:setenforce 0 临时开启:setenforce 1

永久关闭:修改/etc/selinux/configvim /etc/selinux/config 将SELINUX=enforcing 改为 SELINUX=disable 重启电脑

启动dokuwiki

systemctl enable httpd.service

Systemctl start httpd

访问wiki

http://IP/dokuwiki/install.php

三、dokuwiki部署

1、页面注册

dokuwiki安装配置完之后进入以上页面,然后根据页面框提示输入有效内容,然后通过自己所注册的超级用户登录,并为自己创建一个开始页面。

2、logo更改

(1)简单版:点击左上角的媒体管理器,选择wiki命名空间,选择上传---选择文件(事先将要上传的logo图片命名为logo.png,)---点击上传,上传成功后刷新页面左上角logo即变为新的logo。

(2)更深的:Linux上/var/www/html/lib/tpl/dokuwikilu/tpl_header.php文件,第21行和第23行:

// get logo either out of the template images folder or data/media folder

[...]

$logo = tpl_getMediaFile(array(':wiki:logo.png', 'images/logo.png'), false, $logoSize);

tpl_getMediaFile()函数将在名为wiki的媒体名称空间中查找文件logo.png命名的图片文件当做logo图片, 所以还是在dokuwiki文件管理器的wiki名称空间上传了我的logo.png文件,之后刷新页面便得到了新的logo图片。 

3、模板

模板也就是主题,选择自己想要的风格,下载后解压到服务器后台/lib/tpl目录下,然后在管理--配置设置中选择即可。

4、插件安装

通过插件的安装实现更多dokuwiki扩展功能,使用户使用起来更加得心应手。

安装插件的方法有 2 种:一种是在线安装;一种是先下载插件包,然后在本地安装。

在线安装:以管理员身份登录,然后点左上角的管理--扩展管理器--搜索安装,输入插件的名字或者关键字,点击搜索,如果有匹配的,就会显示出来,点击你要的进行安装。需要注意的是,搜索的时候要按英文名搜索。

本地安装:如果搜索安装无法搜索出来或者提示报错信息,可以选择手动安装,找到需要安装的插件的下载地址,下载安装包到本地,然后直接解压服务器后台 dokuwiki\lib\plugins 目录下,或者通过页面按钮--上传扩展--选择文件--点击安装。

以下是一些常用插件下载链接及介绍使用:

(1)Add New Page :

下载及详细介绍用法地址:http://www.dokuwiki.org/plugin:addnewpage

安装了这个插件后,用户可以通过浏览器页面创建命名空间(即目录)和页面。

设置方法:点击 welcome 界面,再点击 sidebar

 这时候会显示“该主题尚不存在”,点击右侧的“创建该页面”,输入 {{NEWPAGE}},再保存,就可以创建了。

如何创建方法:

dokuwiki学习(一)——增加页面命名空间_狂热森林的博客-CSDN博客_dokuwiki 命名空间

dokuwiki学习(二)——新增页面(文章)_狂热森林的博客-CSDN博客_如何在dokuwiki中添加一个页面在其中词条

(2) indexmenu:

下载及详细介绍用法地址: https://www.dokuwiki.org/plugin:indexmenu

此插件允许插入一个完全可自定义的索引或从指定命名空间开始的页面列表,也就是可以在左边栏增加一个导航列表,可按日期、标题和自定义元数据信息进行排序。设置方法:安装完之后,在 sidebar 页面的尾部添加{{indexmenu>:}}。

实现效果:

注意问题:如何给侧边栏排序

tsort 撤消:notsort按标题对(仅)页面进行排序。启用标题时很有用。默认情况下,命名空间不排序,您需要 nsort 选项。dsort 撤消:nodsort按日期创建(首先是最早的)对页面进行排序(仅)。默认情况下,命名空间不排序,您需要 nsort 选项。msort[#meta] 撤消:nomsort按自定义元数据信息对(仅)页面进行排序。如果没有参数,即 ,它会查找使用语法指定的自定义排序编号(请参阅下面的元数据标记语法)。 使用参数可以引用元数据结构(数组值通过“:”分隔符进行管理,例如:)。#metamsort{{indexmenu_n>N}}#metamsort#date:modified默认情况下,没有元数据标记的页面按页面名称排序(默认的 DokuWiki 方式),但您也可以在索引菜单语法中添加 tsort 或 dsort 选项来覆盖此行为。默认情况下,命名空间不排序,您需要 nsort 选项。hsort 撤消:nohsort将配置设置起始页定义的头页排序到顶部msort 否决 hsortrsort 撤消:norsort反转页面排序(在升序和降序之间切换)。默认情况下,命名空间不排序,您需要 nsort 选项。nsort 撤消:nonsort还可以根据页面排序选项对命名空间进行排序,但要单独分组。除了上述排序选项之外使用。tsort、dsort、msort、hsort 仅在使用头页时适用于命名空间。rsort 始终与 nsort 一起适用。nons 撤消:ns从索引中排除命名空间节点。它仅显示页面。如果没有 js,关闭 n 命名空间选项会阻止显示低于 n 命名空间级别的节点。nopg 撤消:pg从索引中排除页面节点。它仅显示命名空间。所有命名空间节点都将链接到起始页(由起始页设置定义)

(3)move

下载及详细介绍用法地址:plugin:move [DokuWiki]

这个插件允许移动包含媒体文件的页面和名称空间,并自动调整指向这些页面的所有链接和媒体引用。 此插件不更新 ACL 规则。例如,如果您有一个 ACL 规则,该规则对某个 wiki 页面进行读保护,那么在移动该页面之后,该规则将不再有任何效果。除了重命名一个页面外,该插件需要管理员特权才能使用。

使用方法:以管理员身份登录,点击右上角的“管理”

 注意问题:移动过程中注意一个命名空间下移动页面的命名冲突问题

参考文章

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: