如何在Fedora 28上安装Dokuwiki

・8 分钟阅读

使用不同的系统?

dokuWiki是用PHP编写的开放源码wiki程序,不需要数据库,它将数据存储在文本文件中,DokuWiki源代码公共托管在GitHub ,本指南会向你展示如何在新的Fedora28实例上安装Dokuwiki。

要求

确保服务器满足下列要求。

  • 支持PHP (Apache,Nginx,IIS,lighttpd,LiteSpeed )的Web服务器软件,
  • PHP版本5.6或更高版本,

开始之前

检查操作系统版本。


cat /etc/fedora-release
# Fedora release 28 (Twenty Eight)

使用sudo访问创建一个新的非root用户帐户,并且切换到它,用你的用户名替换johndoe


useradd -c"John Doe" johndoe && passwd johndoe
usermod -aG wheel johndoe
su - johndoe

确保你的系统是最新的。


sudo dnf check-upgrade || sudo dnf upgrade -y

设置时区。


timedatectl list-timezones
sudo timedatectl set-timezone 'Region/City'

安装必需的和有用的软件包。


sudo dnf install -y wget vim unzip bash-completion

为简便起见,请禁用SELinux和防火墙。


sudo setenforce 0; sudo systemctl stop firewalld; sudo systemctl disable firewalld

步骤1安装PHP和PHP扩展

安装PHP和所需的PHP扩展。


sudo dnf install -y php-cli php-fpm php-gd php-xml php-zip php-json

检查版本。


php --version

# PHP 7.2.6 (cli) (built: May 22 2018 16:22:08) ( NTS )

启动并启用php服务。


sudo systemctl start php-fpm.service
sudo systemctl enable php-fpm.service

步骤2安装和配置nginx

如果你喜欢Apache或其他流行的web服务器,你可以使用其中之一 替代Nginx。

安装Nginx 。


sudo dnf install -y nginx

检查版本。


nginx -v
# nginx version: nginx/1.12.1

启动并启用Nginx 。


sudo systemctl start nginx.service
sudo systemctl enable nginx.service

配置Nginx 。


sudo vim /etc/nginx/conf.d/dokuwiki.conf

复制/粘贴以下nginx配置并保存。


server {

 listen [::]:80;
 listen 80;

 server_name wiki.example.com; # Replace with your hostname

 root /var/www/dokuwiki; # Replace with your DokuWiki web root folder

 index doku.php;

 client_max_body_size 4M;
 client_body_buffer_size 128k;

 location / { try_files $uri $uri/ @dokuwiki; }

 location ^~ /conf/ { return 403; }
 location ^~ /data/ { return 403; }
 location ~ /.ht { deny all; }

 location @dokuwiki {
 rewrite ^/_media/(.*) /lib/exe/fetch.php?media=$1 last;
 rewrite ^/_detail/(.*) /lib/exe/detail.php?media=$1 last;
 rewrite ^/_export/([^/]+)/(.*) /doku.php?do=export_$1&id=$2 last;
 rewrite ^/(.*) /doku.php?id=$1&$args last;
 }

 location ~ .php$ {
 try_files $uri $uri/ /doku.php;
 include fastcgi_params;
 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
 fastcgi_param REDIRECT_STATUS 200;
 fastcgi_pass unix:/run/php-fpm/www.sock; # Replace with your UNIX socket path
 }

}

注意:你可以运行 netstat --unix --listening | grep php 查找php域套接字的缺省路径。

检查Nginx配置。

 
sudo nginx -t

 

重新加载Nginx 。


sudo systemctl reload nginx.service

步骤3安装DokuWiki

创建文档root目录。


sudo mkdir -p /var/www/dokuwiki

将/var/www/dokuwiki目录的所有权更改为johndoe 。


sudo chown -R johndoe:johndoe /var/www/dokuwiki

导航到文档root 。

 
cd/var/www/dokuwiki

 

从Dokuwiki下载页面 下载最新的DokuWiki稳定版本。


wget https://download.dokuwiki.org/src/dokuwiki/dokuwiki-stable.tgz

解压DokuWiki tar文件。


tar xvf dokuwiki-stable.tgz
rm dokuwiki-stable.tgz
mv dokuwiki-2018-04-22a/* . && mv dokuwiki-2018-04-22a/.* .
rmdir dokuwiki-2018-04-22a/

将/var/www/dokuwiki目录的所有权更改为nginx 。


sudo chown -R nginx:nginx /var/www/dokuwiki

运行sudo vim/etc/php-fpm.d/www.conf,并且会用户和组设置为nginx


sudo vim /etc/php-fpm.d/www.conf
# user = nginx
# group = nginx

重新启动php-fpm.service


sudo systemctl restart php-fpm.service

在最后一个步骤中,在浏览器中运行DokuWiki设置脚本install.php,并且设置DokuWiki ,脚本检查需要的PHP函数的可用性,并且检查所需的文件权限,它还创建初始管理员帐户和初始ACL策略,要运行安装程序,请打开 http://wiki.example.com/install.php 在浏览器中并按照说明操作。

成功配置后,从DokuWiki root目录中删除install.php文件。


sudo rm /var/www/dokuwiki/install.php

恭喜,你的DokuWiki已经安装,你现在可以访问和编辑http://wiki.example.com/上的wiki 功能,享受新的DokuWiki吧。

圣地学子 profile image