贊助商連結

Dekiwiki 筆記

放一些關於 Dekiwiki 的筆記。

官方指南

還原 Dekiwiki

除了還原資料庫的資料外,因為 Dekiwiki 還使用到 MySQL 的 Stored Procedures,所以還原的時候還要還原 Stored Procedures,Dekiwiki 的 Stored Procedures 是在資料夾 maintenance/archives 內的 sprocs-.sql 跟 funcs-.sql,同時 MySQL 的 Stored Procedures 需要使用 root 的身份來建立,所以在 SQL 檔內會有一些 PHP 的變數,例如「$wgDBadminuser」,因此要還原可以建立一小小的 Shell Script 來處理。

1
2
3
4
5
6
7
8
9
10
11
12
13
#!/bin/bash
# edit the db_ variable assignments before executing them
db_wiki_user=wikiuser
db_server=localhost
db_name=wikidb
db_admin_user=root
db_admin_password=password
MYSQL=`which mysql`
# create stored procs
cat archives/sprocs-*.sql | sed -e "s/{\$wgDBuser}/${db_wiki_user}/" -e "s/{\$wgDBserver}/${db_server}/" -e "s/{\$wgDBname}/${db_name}/" -e "s/{\$wgDBadminuser}/${db_admin_user}/" -e "s/{\$wgDBadminpassword}/${db_admin_password}/" | ${MYSQL} -u ${db_admin_user} -p${db_admin_password} -h ${db_server} ${db_name}
# create mysql FUNCTIONS
cat archives/funcs-*.sql | sed -e "s/{\$wgDBuser}/${db_wiki_user}/" -e "s/{\$wgDBserver}/${db_server}/" -e "s/{\$wgDBname}/${db_name}/" -e "s/{\$wgDBadminuser}/${db_admin_user}/" -e "s/{\$wgDBadminpassword}/${db_admin_password}/" | ${MYSQL} -u ${db_admin_user} -p${db_admin_password} -h ${db_server} ${db_name}

將需要的資訊填好建立完 Shell Script 後設定權限為可執行,再執行 Script 就可以將 Stored Procedures 還原。

Dekiwiki 的 sitemap.xml

Dekiwiki 有內建輸出 sitemap.xml 功能,可以餵給搜尋引擎,預設的位置在根目錄下 。

http://yoursite/sitemap.xml

Dekiwiki 資料庫權限設定

基本上會為 Dekiwiki 開一個使用者,同時這個使用者只能使用 Dekiwiki 資料庫,但是因為 Dekiwiki 有使用到 Stored Procedures,所以最好讓這個使用者有 SELECT MySQL 內 mysql 資料庫的權限才不會有問題,同時也只有給 SELECT 的權限,所以會比較安全。

http://forums.developer.mindtouch.com/showthread.php?t=3280

加上搜尋引擎的驗證標記

如果有用 Google 網站管理員工具或是其他的搜尋引擎工具的話,需要填上一個認證標記,來確定這個網站是你的,要在 Dekiwiki 加上驗證標記要修改樣板的檔案,預設的樣板檔案在 dekiwiki/skins 內,有分成一些風格,現在本站用的風格是 fiesta,所以就要修改 dekiwiki/skins/fiesta/fiesta.php 加上搜尋引擎產生的驗證標記。