DokuWiki是一个开源wiki引擎程序,运行于PHP环境下,简单易用且高度通用,不需要数据库,它因自身简单易读的语法受到用户的喜爱。
dokuwiki可以用作企业知识库、私人笔记本、软件手册、项目工作区、cms内联网等。
dokuwiki优点:易于安装和使用,系统要求低,内置访问控制列表,扩展功能多,支持超过50多种语言,独立于设备,开源等。
官网安装指南:zh:install [DokuWiki]https://www.dokuwiki.org/zh:install
PHP版本版本需要最低5.6、apache、内存充足
安装依赖包:
[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
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
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/config
vim /etc/selinux/config
将SELINUX=enforcing 改为 SELINUX=disable
重启电脑启动dokuwiki
systemctl enable httpd.service Systemctl start httpd
访问wiki
http://IP/dokuwiki/install.php
dokuwiki安装配置完之后进入以上页面,然后根据页面框提示输入有效内容,然后通过自己所注册的超级用户登录,并为自己创建一个开始页面。
(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图片。
模板也就是主题,选择自己想要的风格,下载后解压到服务器后台/lib/tpl目录下,然后在管理--配置设置中选择即可。
通过插件的安装实现更多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 |
按自定义元数据信息对(仅)页面进行排序。如果没有参数,即 ,它会查找使用语法指定的自定义排序编号(请参阅下面的元数据标记语法)。 使用参数可以引用元数据结构(数组值通过“:”分隔符进行管理,例如:)。 #meta msort {{indexmenu_n>N}} #meta msort#date:modified |
默认情况下,没有元数据标记的页面按页面名称排序(默认的 DokuWiki 方式),但您也可以在索引菜单语法中添加 tsort 或 dsort 选项来覆盖此行为。默认情况下,命名空间不排序,您需要 nsort 选项。 |
hsort 撤消: nohsort |
将配置设置起始页定义的头页排序到顶部 | msort 否决 hsort |
rsort 撤消: 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 页面进行读保护,那么在移动该页面之后,该规则将不再有任何效果。除了重命名一个页面外,该插件需要管理员特权才能使用。
使用方法:以管理员身份登录,点击右上角的“管理”
注意问题:移动过程中注意一个命名空间下移动页面的命名冲突问题