dokuwiki 整合 minecraft 驗證系統

dokuwiki 是一套我很喜歡的迷你 wiki 系統,他的特色包括輕巧又有足夠的功能、檔案以純文字撰寫等。

因為目前所架設的 Minecraft 伺服器有採用 AuthMe 驗證系統,因為要在遊戲裡面註冊帳號實在是很麻煩,因此很早以前就寫了個網站方便更改資料、註冊帳號。但是 wiki 也需要帳號,考量到使用者編輯的需要,每次都要使用者一直註冊帳號實在是很不方便,因此就嘗試結合 dokuwiki 的認證機制,讓使用者可以使用同一組帳號密碼登入遊戲與網站。

dokuwiki 支援各種登入驗證方式,預設是採用 plaintext,也就是密碼 hash 之後存在純文字檔案中。由於 AuthMe 是採用 MySQL 作為後台,因此我們就以 mysql_class.php 這個 MySQL 範例檔案來修改。

新建一個 local.protected.php 於 conf 資料夾中,這樣設定檔才不會被自動設定蓋掉。同時從 /conf/mysql.conf.php.example 可以看到各種應該寫的 MySQL query,我建議直接改名成 mysql.conf.php 然後直接 require 到  local.protected.php 中,這樣升級時就不會被覆蓋。同時,這邊也要搭配 AuthMe 的架構,如果你有更改過資料庫欄位的命名,也要配合調整 query。

由於要自己撰寫 authentication backend,所以將 /inc/auth/mysql.class.php 複製一份,更名為  minecraft.class.php。可以將 minecraft 更改為自己喜歡的名稱,但注意於之後都要使用同樣的 class 名稱。

class auth_minecraft extends auth_basic {
//auth_mysql 改成 auth_minecraft
...
    function checkPass($user,$pass){
    //主要驗證的程式
    ...
    return $rc;
    }
}

剩下要改寫的部份其實不多,照著官網提供的資料結構與 AuthMe 給的密碼加密方式 (sha256) 就可以了。這樣就完成最基本的驗證登入,剩下的部份也都照著改寫,應該就沒有問題了。

Reference:
https://www.dokuwiki.org/auth:mysql 
https://www.dokuwiki.org/devel:authentication_backends

UPDATED 20130329:

沒想到才過沒多久,Dokuwiki 就改變驗證後台的撰寫方式了 Orz

現在是採用 Authentication Plugin 的方式撰寫,其實跟之前的方法差不多,主要就是要寫一個外掛放在後台這樣子。

詳細資源請參考 https://www.dokuwiki.org/devel:auth_plugins 

dokuwiki 整合 minecraft 驗證系統

FreeBSD 9.0 Release

延伸閱讀:FreeBSD 8.0 升級
https://blog.snowtec.org/2010/02/freebsd-80-release/

FreeBSD.org 於 1/12 釋出了 9.0 的發行版本,寒假閒著沒事幹的我當然試著升級囉!

延伸閱讀
FreeBSD 9.0 Release Notes:http://www.freebsd.org/releases/9.0R/relnotes.html
FreeBSD 9.0 支援的新功能:http://ben6.blogspot.com/2011/08/freebsd-90.html

不過由於我的測試主機是虛擬機,效能不太好,因此上文提到的編譯全世界的方法就很花時間(當然我也很懶),因此這次就來嘗試之前沒有試過的 “freebsd-update” 工具程式。

根據 FreeBSD handbook 所述,這個工具程式可以直接下載編譯過後的 binary 執行檔,不用再重新編譯世界,速度上可以說是快了不少。所以就來更新吧!

首先,需要…. 嗯,根據說明這個工具超級自動化,事前準備幾乎都不需要了。當然,檔案與設定檔的備份都還是要做,畢竟這可是升級,各種恐怖的事情都有可能發生。

接下來就開始更新吧!

# freebsd-update -d /usr/freebsd-update -r 9.0-RELEASE upgrade

指定 -d 的參數是因為我 /var/db 下面的空間不夠,而 freebsd-update 預設會將檔案下載到這邊。如果硬碟空間不夠的話要另外指定資料夾才行。

接下來 freebsd-update 會開始下載更新所需要的 binary 檔案,執行完了之後進行下一步。

# freebsd-update -d /usr/freebsd-update install

過程中會詢問你需要合併之設定檔,然後重開機一次,若有需要的話(建議)更新所以系統上已安裝的 ports ,再執行一次:

# freebsd-update -d /usr/freebsd-update install

再重開機一次即可完成安裝。

FreeBSD 9.0 Release

Verico TM02 隨身碟測試報告

其實隨身碟的需求一直都在,但不幸的是之前主力的 Patriot XT 8GB 那隻假高速碟被我搞丟了 (還是只是放在某個角落…) 之後我就沒有隨身碟可以用了…

所以 一氣之下 一時興起 就上 PChome 購物訂了一隻標榜讀取寫入超高速的隨身碟,然後不知道在發什麼神經還選了 32GB 的版本。=_=

Verico TM02 長這個樣子

Verico TM02

然後就開始測試啦~

繼續閱讀 “Verico TM02 隨身碟測試報告”

Verico TM02 隨身碟測試報告

USBDLM 磁碟區代號管理

情境是這樣的:

我有一個 3.5″ USB 外接式硬碟,我主要是用他來養動物,然後我有為我的農場設定不同的分割區,所以分割區代號亂跳的話會非常麻煩…
這代表每次我都要重新設定下載資料夾,然後可能下載完的檔案還要重新 hash 一次。所以如果有方案是可以固定外接裝置的代號的話會非常方便。

之前我一直使用一套軟體, USB Safely Remove  ,來做這件事情。這個軟體會在 USB 硬碟根目錄裏面放一些 ini 檔案,這樣就可以分配到適當的代號了,不過該套軟體要付費,而我之前是透過 Givaway of the Day 下載,所以重灌之後之後就沒辦法用了。

然後我就透過 Google 找到 USBDLM 這個軟體。

繼續閱讀 “USBDLM 磁碟區代號管理”

USBDLM 磁碟區代號管理

Pidgin噴omega驗證失敗訊息

*更新 Pidgin 已經釋出 2.7.6 版本,解決了這個問題,請大家上網下載。
http://pidgin.im/

終極解法:

http://developer.pidgin.im/wiki/MSNCertIssue

原因是微軟換了新的中繼驗證 (intermediate certificates),這個是拿來驗證微軟很多台msn server(omega.contacts…)的認證是否正確的憑證 (…)

網路上有人教說手動下載憑證檔案再到Pidgin匯入,這是治標不治本,日後在連到不同server時會自動下載憑證,到時候一樣噴掉。

所以更換新的中繼憑證檔案才是正途。

瀏覽上面那個維基頁面,下載兩個憑證檔案,丟到:

C:\Program Files\Pidgin\ca-certs

或是

/usr/share/purple/ca-certs
/usr/local/share/purple/ca-certs

重開就可以解決了。

Pidgin噴omega驗證失敗訊息