怎样安装 DokuWiki Fedora 28

维基百科 是一个用 PHP 编写的开源 wiki 程序,不需要数据库。 它将数据存储在文本文件中。 DokuWiki 源代码公开托管在 GitHub. 本指南将向您展示怎样在全新的计算机上安装 DokuWiki Fedora 28 Vultr 实例。

要求

确保您的服务器满足以下要求。

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

在你开始之前

检查操作系统版本。

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

创建一个新的非 root 用户帐户 sudo 访问并切换到它。 代替 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-FPM 服务。

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-FPM UNIX 域套接字的默认路径。

检查 Nginx 配置。

sudo nginx -t

重新加载 Nginx。

sudo systemctl reload nginx.service

第 3 步 – 安装 DokuWiki

创建文档根目录。

sudo mkdir -p /var/www/dokuwiki

更改所有权 /var/www/dokuwiki 目录到 johndoe.

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

导航到文档根目录。

cd /var/www/dokuwiki

从以下位置下载 DokuWiki 的最新稳定版本 DokuWiki 下载页面.

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

解压 DokuWiki tarball。

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 策略。 要运行安装程序,请打开 https://wiki.example.com/install.php 在浏览器中并按照说明进行操作。

配置成功后删除 install.php DokuWiki 根目录中的文件。

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

恭喜,您的 DokuWiki 已安装,您现在可以在以下位置访问和编辑功能性 wiki https://wiki.example.com/. 享受您的新 DokuWiki 安装。

注:本教程在Vultr VPS上测试通过,如需部署请前往Vultr.com

相关阅读:

Posted in: LinuxTags: , ,