如何在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吧。