DokuWiki 是一个使用,用途多样的开源 Wiki 软件,并且不需要数据库。部署Dokuwiki需要一个支持PHP的Webserver。通过nginx+php可以简单部署使用。
Nginx (“engine x”) 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。
本文环境:windows10 64位
+nginx1.11.7
+php-5.6.29-Win32-VC11-x64
下载解压软件
用到的软件均是绿色版,不用安装解压即可使用:
- php-5.6.29-Win32-VC11-x64.zip 解压到
E:\OneDrive\www\php
- nginx-1.11.7.zip 解压到
E:\OneDrive\www\nginx-1.11.7
- DokuWiki 解压到
E:\OneDrive\www\dokuwiki
- RunHiddenConsole(此程序用于隐藏nginx运行的窗口) 解压到
E:\OneDrive\www\RunHiddenConsole.exe
修改PHP配置
将php.ini-dist或php.ini-development配置文件重命名为php.ini(该文件中分号开始行为注释内容),然后做如下设置:
extension_dir = “C:/php5/ext”
取消下列设置的注释:
extension=php_curl.dll
extension=php_gd2.dll
extension=php_mbstring.dll
extension=php_mysql.dll
extension=php_pdo_mysql.dll
extension=php_pdo_odbc.dll
extension=php_xmlrpc.dll
配置Session功能:
在使用session功能时,必须配置session文件在服务器上的保存目录,否则无法使用session,在Windows 7上新建一个可读写的目录文件夹,此目录最好独立于WEB主程序目录之外,在D盘根目录上建立了phpsessiontmp目录,然后在php.ini配置文件中找到 ;session.save_path = “/tmp” 改成 session.save_path = “D:/phpsessiontmp”
配置PHP的文件上传功能
同session一样,在使用PHP文件上传功能时,我们必须要指定一个临时文件夹以完成文件上传功能,否则文件上传功能会失败,我们仍然需要在Windows 7上建立一个可读写的目录文件夹,此处我在D盘根目录上建立了phpfileuploadtmp目录,然后在php.ini配置文件中找到 ;upload_tmp_dir = 改成 upload_tmp_dir = “D:/phpfileuploadtmp”
修改date.timezone
;date.timezone = 改成 date.timezone = Asia/Shanghai
修改Nginx配置
DokuWiki with nginx on Windows 有关于nginx的配置内容。
修改 E:\OneDrive\www\nginx-1.11.1\conf\nginx.conf
文件:1
#E:\OneDrive\www\nginx-1.11.1\conf\nginx.conf
#user nobody;
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
#access_log logs/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;
server {
location ~ ^/dokuwiki/.*\.php {
root E:/OneDrive/www;
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME E:/OneDrive/www$fastcgi_script_name;
fastcgi_param QUERY_STRING $query_string;
include fastcgi_params;
}
# serve static files
location ~ ^/dokuwiki/lib/ {
root E:/OneDrive/www;
expires 30d;
}
location ~ ^/dokuwiki/conf/ { deny all; }
location ~ ^/dokuwiki/data/ { deny all; }
location ~ /\.ht { deny all; }
}
}
编写启动批处理
这里有关于NGINX 跟 PHP 在 Windows 平台通过 FastCGI 对接的例子,此页面也有 RunHiddenConsole 的下载
1 | REM E:\OneDrive\www\php.bat |
运行
双击 E:\OneDrive\www\php.bat
会看到命令行一闪而过。
打开浏览器,访问