标签归档:dokuwiki

相对靠谱的Dokuwiki升级方法

说明:Dokuwiki Install Path:~/public_html/wiki
1、先确认目前所使用的版本号:

$cd ~/public_html/wiki
$cat VERSION
2009-02-14b

2、官网下载最新版本版本进行差异对比:
点击查看:这里

$mkdir src
$cd src
$wget http://www.splitbrain.org/_media/projects/dokuwiki/dokuwiki-2009-02-14b.tgz
$wget http://www.splitbrain.org/_media/projects/dokuwiki/dokuwiki-2009-12-25c.tgz
$tar zxvf dokuwiki-2009-02-14b.tgz
$tar zxvf dokuwiki-2009-12-25c.tgz
$diff -Naur dokuwiki-2009-02-14 dokuwiki-2009-12-25 > wiki.diff

3、二次确保安全,先做好原数据的备份工作:

$cd ~/public_html
$tar -zcvf src/wiki.tar.gz wiki/

4、最后靠谱过渡升级:

$cd ~/pubilic_html/wiki
$patch -p1 < ~/public_html/src/wiki.diff --dry-run	//测试升级
$patch -p1 < ~/public_html/src/wiki.diff		//正式升级

5、确认无误后即可清除废墟:

$rm -rf ~/public_html/src

参考资料:官方指南
Ps:在本地测试想转移至WebServer基于Nginx遇到URL_Rewrite一直失败。。。囧 测试官方说明貌似也不行 杯具

Dokuwiki重写URL配置

默认情况下,DokuWiki不做任何的URL重写,它的原始URL是这样的:
1. http://wiki.qingxianyan.cn/doku.php?id=page
这样默认的URL不利于有些搜索引擎不收录,而且也不易于记忆
通过设置DokuWiki的配置设置里面的高级设置的userwrite配置选项它可以支持两种URL重写方法:
      一个是利用服务器的mod_rewrite,
      另一个是在DokuWiki内部自己处理URL重写。
下面是userewrite选项值的列表及其对应的URL格式:
      1、默认值没有URL重写 http://wiki.qingxianyan.cn/doku.php?id=wiki:syntax
      2、htaccess服务器处理 http://wiki.qingxianyan.cn/wiki:syntax
      3、DokuWiki处理 http://wiki.qingxianyan.cn/doku.php/wiki:syntax
使用服务器处理
  先在/wiki/conf/dokuwiki.php中设置:
           $conf['userewrite'] = 1;
Apache服务器开启Rewrite功能
  apache的URL重写是使用mod_rewrite模块。在apache的配置文件中添加如下这行:

LoadModule rewrite_module modules/mod_rewrite.so

  然后使用mod_rewrte的指令来配置URL重写规则。这些规则可以放在apache的全局配置文件内,也可以放在DokuWiki的根目录下的.htaccess文件内,事实上DokuWiki已经为了写好了这些规则放在.htaccess.dist中,修改删除部分“#”注释即可 内容如下:

      RewriteEngine on
      RewriteBase /dokuwiki
      RewriteRule ^_media/(.*)              lib/exe/fetch.php?media=$1  [QSA,L]
      RewriteRule ^_detail/(.*)             lib/exe/detail.php?media=$1  [QSA,L]
      RewriteRule ^_export/([^/]+)/(.*)     doku.php?do=export_$1&id=$2  [QSA,L]
      RewriteRule ^$                        doku.php  [L]
      RewriteCond %{REQUEST_FILENAME}       !-f
      RewriteCond %{REQUEST_FILENAME}       !-d
      RewriteRule (.*)                      doku.php?id=$1  [QSA,L]

  在RewriteBase /dokuwiki这一行,你需要根据实际情况做修改成指向你的DokuWiki目录的路径,Dokuwik就在站点根目录或者已经使用子域名解析到相应目录时,需将.htaccess 文件中的 RewriteBase /dokuwiki 行使用首字符“#”将其注释