如何在Ubuntu 16.04上安装DokuWiki

・7 分钟阅读

使用不同的系统?

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

要求

  • 支持PHP (Apache,Nginx,IIS,lighttpd,LiteSpeed )的Web服务器软件
  • PHP版本5.6或更高版本,强烈推荐使用最新版本,(本指南将使用PHP 7.0 )

开始之前

检查Ubuntu版本。


lsb_release -ds
# Ubuntu 16.04.4 LTS

使用sudo访问创建一个新的non-root用户帐户,并且切换到它。


adduser johndoe --gecos"John Doe"
usermod -aG sudo johndoe
su - johndoe

注:会johndoe替换为你的用户名。

设置时区。


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

确保你的系统是最新的。


sudo apt update && sudo apt upgrade -y

步骤1安装PHP和PHP扩展

Install PHP 7.0和所需的PHP扩展。


sudo apt install -y php7.0 php7.0-cli php7.0-fpm php7.0-gd php7.0-xml php7.0-zip

检查PHP版本。


php --version

# PHP 7.0.28-0ubuntu0.16.04.1 (cli) ( NTS )
# Copyright (c) 1997-2017 The PHP Group
# Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
# with Zend OPcache v7.0.28-0ubuntu0.16.04.1, Copyright (c) 1999-2017, by Zend Technologies

步骤2安装和配置nginx

DokuWiki会在任何支持PHP的web服务器上运行,在本教程中,我们将使用Nginx ,如果你喜欢Apache或其他web服务器,你可以使用它 。

安装Nginx 。


sudo apt install -y nginx

检查Nginx版本。


sudo nginx -v
# nginx version: nginx/1.10.3 (Ubuntu)

配置Nginx 。


sudo vim /etc/nginx/sites-available/dokuwiki.conf

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


server {
 listen [::]:80;
 listen 80;

 server_name wiki.example.com; # Replace with your hostname
 root /var/www/dokuwiki;
 index index.html index.htm index.php doku.php;

 client_max_body_size 15M;
 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 last;
 }
 location ~ .php$ {
 try_files $uri =404;
 fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
 fastcgi_index index.php;
 include fastcgi_params;
 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
 }
}

通过将文件链接到sites-enabled目录来激活新的dokuwiki.conf配置。


sudo ln -s /etc/nginx/sites-available/dokuwiki.conf /etc/nginx/sites-enabled/

检查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-2017-02-19e/* . && mv dokuwiki-2017-02-19e/.* .
rmdir dokuwiki-2017-02-19e/

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


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

重新启动php7.0-fpm.service


sudo systemctl restart php7.0-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功能 。

Tianye profile image