:::

資源取用的理想

布丁布丁吃布丁

資源取用的理想

前幾天聽說師大的同學們也要研究Second Life,還找到我這篇介紹Second Life的Blog,打了電話過來問我概況。雖然很多事情無法電話中表達,而且我對於實際的操作還是不太熟悉,故能講的事情不多,請同學們好好加油。

電話講完,我忽然想到毛老師的理想。印象中以前上課的時候毛老師有提到過,資源本身是什麼不重要,只要擺在網路上,總有一天會有人來取用。此外之前洪教授演講知識的創造力時也提到這個概念,不管想法是什麼,儘管攤開來給大家看,總是會有人再把你的想法加強、深化,最後成就會變成創意。

這篇Second Life只是我在課堂上報告而介紹,然而卻也能夠幫助到同學們,這不也是這種理想的一種體現嗎?

附帶一提,我祈求當我不小心因為分享資訊而觸犯到別人的智慧財產權時,請來信告知我要移除就好,請不要罰我這窮圖資學生的錢啊(汗)。

(more...)

以VirtualBox架設Koha的緣由、過程與感想

以VirtualBox架設Koha的緣由、過程與感想

架設圖書館自動化系統Koha的方法,一般是從安裝作業系統、安裝並確認模組、設定資料庫、再來安裝Koha,整個安裝過程十分複雜且容易失敗(至少我灌了好幾台Linux都還沒成功過)。

儘管我國在毛慶偵教授、long_sam.tw 龍山與Thomas 育欽等人的努力之下,在網路上釋出了Koha 中文 WIKI 文件區 (技術文件)、Koha臺灣Google網上論壇KOHA 中文開發網站等資源,安裝檔過程也有自動設定的程式,然而我研究了好久卻還是裝不起來。

在這時候,Koha臺灣Google網上論壇裡面找到了一篇用虛擬機器VirtualBox架設的點子,Thomas也釋出了一個 VDI檔案(VirtualBox給虛擬機器使用的硬碟檔),讓正在使用VirtualBox架設Linux的我相當地感興趣。當然,VirtualBox是免費且跨平台的應用程式。

然而,之前也有看過用虛擬機器VMware Server或VMware Player架設Koha的介紹,這兩種的VMware也是免費軟體,但VMware Server需要免費註冊取得授權帳號。然而實際架起VMware之後,卻因為網路設定過於複雜,苦於不知該如何將虛擬機器(Guest)的網路與實體機器(Host)的網路連接而放棄。

話說回來,下載了Thomas的VDI檔之後,儘管是可以用VirtualBox成功開啟,然而卻遇到了網路卡找不到、需要修改koha-http.conf的設定等問題,再經過幾回跟Thomas通信請教與自己研究之下,終於一一克服。

在取得Thomas同意之下,我將修改過後的VDI檔再釋放出來供人下載,並撰寫修改過程與在Windows上的安裝方法,將從網路所學所得、回饋給網路社會。


好,在把Koha虛擬機器的架設方法說明完畢之後,我才打算要發佈這一篇。我本來是想說,應該要先把連結加上去再發佈,但其實先發佈也無所謂,有需要的人應該是一下子就能找到了,也不會特地來看這一篇感想。

Koha,從在輔大圖資的時候就常常聽得到這個名詞,跟毛慶禎老師上過課,也跟龍山學長見過面,Koha是個很常聽見、卻又不太熟悉的名詞。這次由於政大圖檔所授課編目教學,想效法毛老師用Koha來上資訊組織;另一方面是所上圖書室內的書目資料庫僅有儲存、查詢的功能,與現行圖書館所使用的自動化系統相距甚遠,因此希望改以Open Source的Koha圖書館自動化系統取代之;再加上其實之前就有同學跟學長有需要圖書館自動化系統,這些就是我這次研究Koha架設的原因。

剛開始,我需要一台伺服器安裝Linux,然而光這點就讓我為了調配電腦而煩惱半天。後來改用VirtualBox架設,安裝了不下數十次的Linux,每每卡在Perl模組遺失,至今這個問題還在Koha臺灣論壇等著解決。接著改嘗試以VMware架設,卻苦於網路設定搞不定而放棄。此時看到Thosmas釋出的VirtualBox VDI,解決了系統自身的網路問題之後,就順利運作了!此時才是我正式碰觸Koha的開始,雖然我目前還是不能成功安裝Koha。

接著熟悉系統操作,發現有許多不太習慣的設定,我從資料庫、從Perl程式一一地去修改,最後再把這些調整整理之後釋出。前前後後,我用了一個多月的時間才搞定。

我想說的有兩件事情。第一件事情是架設Koha這件事情,很難嗎?老實說,一再重灌Linux、安裝Koha,這過程很讓人絕望。有好幾天我都是過著一邊等安裝、一邊Google找解答、一邊整理問題狀況去問Koha臺灣的前輩們這種不斷重複的生活。架設Koha的過程,並不是努力做同一件事情就能夠成功,我用同種方法灌100次Linux,應該都架不起Koha。因此得要不斷地去找其他方法、詢問別人、再嘗試新的方法來解決。所以我也期許共同努力的同學、朋友們,不要懼怕這種連架都不知道能不能夠架起來的任務,其實我多少也抱著架不起來也沒關係的心態在做,即使架不起來,我還是學到了很多東西,在碰Koha之前,我連Perl都還沒寫過呢。

另一件事情,Koha我目前只有碰觸讀者、編目、系統設定這些部份,但我真的覺得,這是一個很不錯的系統。特別是編目的機讀格式功能,我感到與以往自己寫資料庫結構或是DSpace用的Dublin Core有著很大的差別。機讀格式這種複雜到讓人難過的Metadata,真的不能用普通的資料庫就草草了事。機讀格式的指標、分欄、資料代碼等處理,光是一個欄位就得花上好多功夫,這也只有Koha這種圖書館自動化系統才有量身打造。然而,Koha不能用預設值(允許値的選單又太過限制)、不能用自由填寫搭配選單、說明欄位太過簡短等缺點也是需要繼續改進的地方,期許毛老師與學長們繼續努力。即使如此,我希望我這次研究的結果能幫助其他人能夠更順利地架設Koha,推廣Koha的應用。

話說回來,研究Koha這件事情,我是把它當作所上事務在看,而不是個人研究。老闆也在跟我說,希望我能把所上事務脫手,儘可能回到自己研究。其實不只如此,這段時間沉溺於Koha,又好久沒讀paper了,不振作不行啊......

(more...)

以VirtualBox架設Koha

以VirtualBox架設Koha

Koha,自動化圖書館系統,以Opne Source的形式讓人使用。以目前穩定的2.2.9版本來說,架設方式是從1. 作業系統安裝、2. 安裝運作環境、3. Koha系統安裝、4. Koha系統設定,最後才能開始使用。繁雜的安裝步驟容易失敗,此時可以藉由虛擬機器VirtualBox的技術,將前三個步驟建立成可以立即使用的虛擬機Koha系統。

使用虛擬機器架設Koha能夠解決以下問題:

  • 省略從作業系統到Koha安裝等步驟,節省掉大量的時間。
  • 運行環境皆已經設定妥善,幾乎可以立即使用。
  • 虛擬機器VirtualBox可架設在現有的作業系統上,包括Windows、Linux,而不需要再佔用另一臺電腦。
  • 軟體部分皆是Open Source或免費使用,不需要花費額外的經費。

然而這方法並不是完美的,缺點如下:

  • 虛擬機器必須依附主作業系統(以下皆稱為Host OS)一起運行
  • Host OS必須切割自己的記憶體(RAM)給虛擬機器使用,建議最少能給虛擬機器512MB。虛擬機器需要的硬體等級,可以參考koha 2.2.9 繁體中文版安裝手冊(ubuntu 6.10)硬體一節。
  • 虛擬機器需要常駐在Host OS當中,跟一般個人使用的電腦一起運作時,硬體等即不足會讓操作速度延緩。例如開著虛擬機器、一邊玩遊戲等。

本篇教學主要著重在以VirtualBox架設起Koha系統,以Windows XP SP2 (Windows 2003 Server也一樣)為操作環境,介紹VirtualBox取得、安裝、架設虛擬機器、網路設定到開機自動啟動虛擬機器等步驟。

本篇核心虛擬機器的硬碟請點選下面下載,該硬碟的來源請參考Thomas的VDI修改記事

koha-vdi-20080408 (分流1)

koha-vdi-20080411(分流2)

koha-vdi-20080411(分流3) SkyDrive下載:下載1下載2下載3下載4下載5下載6下載7下載8下載9下載10下載11下載12下載13下載14下載15。推薦用7-Zip Portable解壓縮。


VirtualBox取得

VirtualBox是SUN開發的跨平台虛擬機器,以Open Source的方式發佈,在Windows、Linux皆能安裝運行。

本次教學使用的是VirtualBox 1.5.6版本,此版本已經具有繁體中文版(雖然有些翻譯還是有點怪),圖形化介面的操作環境讓人容易上手,也可以命令列執行(伺服器管理人員的最愛)。


VirtualBox安裝

執行檔安裝步驟很容易,一直按下一步就可以安裝完成,不太需要額外說明。


VirtualBox架設虛擬機器

安裝好的介面如下,接下來我們一步一步來新增虛擬機器。

選取「新增」。

下一步。

輸入名稱,選取作業系統為Linux 2.6。

記憶體,在此示範當中僅給虛擬機器128MB,建議是給他512MB。

使用現有的虛擬硬碟。

加入現有的虛擬硬碟。

選取已經配置好的虛擬機器硬碟,網頁上方可以下載

加入完成,選取。

下一步。

完成。

可以看到新增的虛擬機器,選取該機器並按下開始就可以啟動。但是在這之前,還得要調整完網路。


設定VirtualBox的網路

為了讓外面電腦能夠連線到虛擬機器,必須要給予虛擬機器一個IP。詳細的作法請參考VirtualBox用網路橋接器設定虛擬機器的固定IP。(至於用撥接連線搭配動態DN的方法我倒還沒研究,其實我比較想要本機端就能用NAT連線到虛擬機器orz)

網路設定完成之後,就可以用遠端登入SSH或是用網頁來開啟Koha系統了。

SSH遠端登入:可以用Pietty開啟,帳號為root,密碼為ilovekoha。

網頁OPAC:直接用http://虛擬機器的網址/開啟Koha的OPAC。

內部網頁:用http://虛擬機器的網址:8080/開啟Koha內部網路。預設的帳號密碼是kohaadmin、ilovekoha。

也可以用http://虛擬機器的網址/phpmyadmin開啟phpymymin了。一樣附帶一提,預設的帳號密碼是root、ilovekoha。


自動啟動虛擬機器

作為伺服器服務,就應該要能夠自動啟動。關於這部分的方法可以參考另一篇Windows開機自動開啟VirtualBox虛擬機器──用延後啟動。


網站資源

(more...)

Thomas的VDI修改記事

Thomas的VDI修改記事

前言

繼以VirtualBox架設Koha的緣由,這一篇記錄從Thomas取得的VDI檔案之後修改的過程。原本該討論主題主張以trac + svn聯合多人共同開發koha軟體,但是我其實只求能架設、使用Koha即可,並沒有準備要到參與開發的程度。

在修改Thomas原始的VDI檔時,恐怕有破壞原有計畫的疑慮,因此才打算撰寫本篇以茲說明。另一方面也是為自己摸索Linux (Thomas是使用Debian發行版)的過程留下記錄。

最後修改過的VDI檔案在下方。使用的時候,除了網路設定(/etc/network/interfaces)保留以DHCP開啟之外,其他的修改都不需要再修改。之後我會以此檔案再寫一篇以VirtualBox架設Koha的方法作為詳細說明。

koha-vdi-20080408 (分流1)

koha-vdi-20080411(分流2)

※註:內有VirtualBox 5.6.1與虛擬機器設定檔

關於虛擬機器VirtualBox與VDI動態擴充映像檔

VDI是VirtualBox架設虛擬機器時的硬碟檔案,透過以VDI架設起的VirtualBox虛擬機器,你可以快速地在任何作業系統上重現一台已經架設完成的伺服器,而不需要再從無到有第一步一步安裝設定。

然而這只是理論,實際上我也只嘗試在WindowsXP跟Windows 2003上成功架設過,尚未測試各種的情況,不能給予完美的保證。至於詳細的架設過程,請參考另一篇虛擬機器VirtualBox架設Koha。

關於Thomas的VDI硬碟檔案

Thomas架設的環境如下:

  • Linux debian 2.6.18
  • Koha 2.2.9 (已經預設是zh_TW中文環境)
  • 硬碟虛擬空間4.88GB
  • 硬碟檔案實際大小2.09GB:VDI動態擴充映像檔會隨著映像檔內安裝的實際檔案大小來改變,而不會強求一定要虛擬空間這麼大。
  • Linux登入
    帳號:koha (也可用root登入)
    密碼:ilovekoha

也許有人會對於硬碟不到3GB的剩餘空間感到憂心,但我想對於中小型圖書館來說應該已經是綽綽有餘,因此這個問題先不在研究範圍內。

以Thomas的VDI架設起的Koha,我遇到了以下問題:

  1. 鍵盤配置錯誤:執行dpkg-reconfigure console-data修正
  2. 抓不到網路卡:停止udev自動新增網路卡
  3. 語系錯誤:修改語系為zh_TW.UTF-8
  4. Koha的OPAC非預設的80 port:重新設定/etc/Koha-http.conf
  5. 修改Koha OPAC與Intranet的一些程式

以下將各問題與處理方式一一詳述。

操作方法及使用軟體

以下操作剛開始是以root身分登入本機電腦。網路可以連線之後,則改用SSH遠端登入、FileZillar上傳檔案。


鍵盤配置錯誤

一開始以root登入Linux的時候,是完全以命令列來操作,必須要依靠鍵盤輸入指令。如果你發現你打的字跟你的鍵盤不吻合,那麼得先調整鍵盤配置。

  1. 輸入「dpkg-reconfigure console-data」,開啟藍底設定畫面
  2. 按「tab」跳到「ok」,「enter」進到下一頁
  3. 選擇最後一項「Select keymap from full list」,按「enter」
  4. 選擇「pc / qwerty / US american / Standard / US Internation (ISO 8859-1)」,按「enter」

如果您連怎麼輸入「dpkg-reconfigure console-data」都做不到,那請試著按「↑」回溯一下之前的指令找找看吧。

我安裝在第二台電腦的時候才發生了這個問題,即使現在設定過配置,之後可能設定還會跑掉,這時就得照著這個步驟重做一次。


解決抓不到網路卡的問題

開機的過程中,預設的eth0並沒有被抓到,這是由於網路卡的MAC碼並不相同的緣故。

接下來修改設定我是使用vim,這個文字編輯器對於初學者來說可能不太友善,詳細的操作方式請參考基本 VIM 操作指令

debian:~#vim /etc/udev/rules.d/z25_persistent-net.rules

在udev的管理之下,從這邊會記錄著該台虛擬機器曾經安裝過的網路卡,而你目前安裝的網路卡應該會被排到最後一個去,可能被當成eth1或eth2。預設/etc/network/interface僅有自動啟動eth0,故其他的eth1或eth2自然是無法啟動了。

因此,我打算把udev自動增加網路卡的功能取消掉,方法如下。

debian:~#vim /etc/udev/rules.d/z45_persistent-net-generator.rules

將以下兩行註解掉(在該行前面加上「#」(井字號),這樣程式就不會去執行這行指令)。

#ACTION!="add", GOTO="persistent_net_generator_end"

#KERNEL=="eth*|ath*|wlan*|ra*|sta*", DRIVERS=="?*",\

接著清空vim /etc/udev/rules.d/z25_persistent-net.rules網路卡的資料。清空之後只會剩下以下五行註解文字:

# This file was automatically generated by the /lib/udev/write_net_rules
# program, probably run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single line.
# MAC addresses must be written in lowercase.

以上方法可以解決udev自動增加網路卡的問題。

接著是設定網路,預設是將eth0以DHCP(動態主機設定協定)啟動,這是只有在VitualBox網路設定為NAT的情況下才需要用的。如果要作為伺服器,最好給予網路卡一個靜態的IP,關於VirtualBox的網路設定請參考另一篇「 VirtualBox用網路橋接器設定虛擬機器的固定IP」,以下則是示範在Linux debian裡面設定網路的步驟。

先用VIM開啟/etc/network/interfaces/

debian:~# vim /etc/network/interfaces

將原本的DHCP註解掉,然後取消靜態網路的註解(刪掉行前的#),設定如下:

#iface eth0 inet dhcp

iface eth0 inet static
address 172.20.0.15
netmask 255.255.255.0
gateway 172.20.0.1

以上的adress、netmask、gateway請改成您網路環境所使用的設定。關於network interface的詳細解說,可以參考「/etc/network/interfaces 集網路設定之大成」。

修改完成之後,請執行以下指令或重開機以重新啟動網路:

debian:~# /etc/init.d/networking restart


改用PieTTY遠端操控虛擬機器

網路設定完成之後,您應該可以用PieTTY之類的軟體來連線到虛擬機器了。由於PieTTY操作起來比起在虛擬機器VirtualBox上操作更為順手,所以接下來我們的操作都改在PieTTY上進行(我是使用PieTTY 0.3.27版本)。當然,這並非必要步驟,你也可以繼續在虛擬機器上操作Linux。

在開始之前,要記得修改字元編碼為UTF,步驟在上方工具列「選項 / 字元編碼 / Unicode UTF-8」。


修改語系

有些Koha的設定檔(如/etc/koha-http.conf)寫入了中文字,然而這在預設的狀態下會變成亂碼,因此得修改語系以正確顯示才行。

請輸入以下指令:

debian:~# export LC_ALL=zh_TW.UTF-8

接著再開啟/etc/koha-http.conf的時候,就能夠顯示正確的編碼了。

但是在虛擬機器上看起來還都是亂碼,這個我就沒有繼續研究了。


用80 port開啟Opac

預設的設定中,開啟虛擬機器的網址,只會跑出一個「It works!」的字樣。根據/etc/koha-http.conf的說明,還需要修改很多部份才能順利開啟,因此我想改成直接以80 port(如此一來,網址就不需要加上:80連接埠),並能夠保持phpmyadmin的功能。

用vim開啟/etc/koha-http.conf

debian:~# vim /etc/koha-httpd.conf

全部檔案內容設定如下,紅字的部份是我修改過的,e-mail記得要改成自己的喔:

# Koha 2.2 阿帕契(Apache)虛擬主機設定檔
#
# 在你的阿帕契(Apache)設定,包含這個檔案。
# 最好的方法依據你的網站設定。
# 有一些像是一個 Include 加到 /etc/apache/httpd.conf
# 且有一些寧願一個 symlink 從一些目錄到這個檔案。
# 請參考你的系統手冊。

# 針對 Koha 監聽埠號
# 無法評論這些,假如它們已經不在主要 httpd.conf
#
Listen 8080
#Listen 8081

# NameVirtualHost 被用在其中一個設定檔,詳細如下:
# 還沒註解以前,請確認這行是否正確。
# 參考 http://httpd.apache.org/docs/vhosts/ 一些手冊。

#NameVirtualHost 11.22.33.44
NameVirtualHost *:80
NameVirtualHost *:8080


# KOHA's OPAC 設定

ServerAdmin administrator@email DocumentRoot /usr/local/koha/opac/htdocs
ServerName *:80
ScriptAlias /cgi-bin/koha/ /usr/local/koha/opac/cgi-bin/
Redirect permanent index.html http://*/cgi-bin/koha/opac-main.pl
ErrorLog /usr/local/koha/log/opac-error_log
TransferLog /usr/local/koha/log/opac-access_log
SetEnv PERL5LIB "/usr/local/koha/intranet/modules"
SetEnv KOHA_CONF "/etc/koha.conf"
Alias /phpmyadmin /usr/share/phpmyadmin/

Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all



# KOHA's INTRANET 設定

ServerAdmin administrator@email
DocumentRoot /usr/local/koha/intranet/htdocs
ServerName *:8080
ScriptAlias /cgi-bin/koha/ "/usr/local/koha/intranet/cgi-bin/"
Redirect permanent index.html http://*:8080/cgi-bin/koha/mainpage.pl
ErrorLog /usr/local/koha/log/koha-error_log
TransferLog /usr/local/koha/log/koha-access_log
SetEnv PERL5LIB "/usr/local/koha/intranet/modules"
SetEnv KOHA_CONF "/etc/koha.conf"


# 假如你想要使用虛擬主機(Virtual Hosting):
# 1. 移除兩個監聽行(Listen lines)
# 2. 取代 *:80 成為你的 opac 領域名稱(domainname)埠號
# 3. 取代主機名稱(ServerName) * 你的 opac 領域名稱(domainname)
# 4. 取代 *:8080 你的 intranet 領域名稱(domainname)埠號
# 5. 取代主機名稱 * 你的 intranet 領域名稱(domainname)
#
# 假如你想要使用 NameVirtualHost'ing (一個 ip 使用兩個名稱):
# 1. 依照以上 1-5 的步驟
# 2. 沒有註解 NameVirtualHost 行並解設定正確 ip 位址

修改完成之後,重新啟動Apache 2才會生效,請輸入以下指令:

debian:~# /etc/init.d/apache2 reload

如果沒有出現錯誤訊息的話,那麼就成功了。

可以直接用http://虛擬機器的網址/開啟Koha的OPAC。

用http://虛擬機器的網址:8080/開啟Koha內部網路。附帶一提,預設的帳號密碼是kohaadmin、ilovekoha。

也可以用http://虛擬機器的網址/phpmyadmin開啟phpymymin了。一樣附帶一提,預設的帳號密碼是root、ilovekoha。


修改Koha的機讀格式

這版本的Koha似乎是使用中國機讀格式CMARC3,隱藏了許多欄位,最後僅剩24段。我做了以下修改:

  • 有顯示名稱的欄名,皆加上國家圖書館CMARC3的說明連結,作為編目人員的快速參考。
    例如:
    700
    人名-主要著者

    其中惟有856電子資源位址及取得方法並非CMARC3擁有的欄位,故改以CMARC民國90年修訂版的說明連結。
  • 700$a標目主體使用了權威記錄PER,在尚未釐清權威記錄的用法之前,我先將之拿掉,變成可以自由輸入的欄位。
  • 606 主體標題欄位改成可重複,610非控制主題詞彙分欄$a標目主體改成可重複。
  • 995$o改以允許値,因為只有流通與不流通兩種
  • 修正欄位名稱200$h 編次(Number of a part)

修改OPAC顯示

檔案是/home/koha/svn/trunk/opac-html/opac-tmpl/npl/zh_TW/opac-detail.tmpl跟/home/koha/svn/trunk/opac-html/opac-tmpl/npl/zh_TW/images/ BOOK.gif,詳細內容我就省略了。

修改外掛程式

  • 欄位100:日期修正、設定預設值
    /home/koha/svn/trunk/intranet-cgi/value_builder/unimarc_field_100.pl
    /home/koha/svn/trunk/intranet-html/intranet-tmpl/npl/zh_TW/value_builder/unimarc_field_100.tmpl
  • 欄位105:修正錯字
    /home/koha/svn/trunk/intranet-html/intranet-tmpl/npl/zh_TW/value_builder/unimarc_field_105.tmpl

修正z39.50無法使用的問題

因為沒有Perl模組的Text::Trim,我在Koha臺灣論壇裡面有提問過,已經獲得解決,請在Linux命令列輸入以下指令安裝缺失的模組:

perl -MCPAN -e 'install "Text::Trim"'

修改無法查詢沒有前後切截的問題

關鍵在於koha/intranet/modules/C4/SearchMarc.pm的create_request函式,裡面查詢MySQL的語法是使用like,規則是「低於4個字元長度以下,則把%去掉」(%是切截功能的萬用字元),但是這規則並沒有自動加上%的功能,因此我加了「高於4個字元長度,則在前後加上%」,以方便查詢的進行。再把這個4的參數改成Koha的系統設定變數「truncation」,以方便管理者控制。需要精確查詢的時候,建議改用新增機讀格式(MARC)欄位查詢吧。

此外,加上了查詢結果顯示查詢字的功能,因此要修改的有三個檔案。

/home/koha/svn/trunk/modules/C4/SearchMarc.pm
/home/koha/svn/trunk/intranet-cgi/search.marc/search.pl
/home/koha/svn/trunk/intranet-html/intranet-tmpl/npl/zh_TW/search.marc/result.tmpl


Thomas VDI內Koha系統的SVN版本控制系統

檔案位置看起來不太像是Koha的安裝位置(/usr/local/koha/),這是由於Thomas的VDI裡面的系統是用SVN版本控制系統,但是我對這方面沒有研究,故沒有參與,僅僅只有說明。


小結與感言

從取得VDI檔案、摸索Koha系統、到操作,甚至是修改程式碼,這些過程真的是花了不少功夫, 也讓這一篇修修改改地拖了好久才寫完。跟上次玩DSpace一樣,這次玩Koha也個老師沒教的摸索過程,不同的是,這次有個可以問的前輩們,再次感謝Koha Taiwan的毛老師、龍山與Thomas等人的努力與幫助!

(more...)

Live-CD Koha-UNLP versión 2006 - 1.0架設

布丁布丁吃布丁

Live-CD Koha-UNLP versión 2006 - 1.0架設

關於Koha Live-CD的記錄,雖然似乎很久以前Koha開發Wiki製作過,但是放置Koha檔案的SourceForge.net找不到ISO檔案。找來找去的,最後是在KOHA UNLP(美國)找到了Live-CD

2009年2月6日增加內容:為了避免Koha Live檔案被移除,所以我把我這邊的備份上傳:

OPAC

Intranet

Koha-UNLP的Koha介面非常漂亮,可惜並非英文,因此在使用上也有些障礙。

網頁中的2007年版本是使用VMware Server(免費,但要註冊取得序號),但是VMware Server在網路設定上頗為複雜,因此我改用VirtualBox來體驗看看這個Live-CD。安裝好之後,直接掛載下載好的ISO映像檔即可開機。

登入Linux

帳號:root
密碼:demo

修改網路設定

輸入以下指令 (紅字部分請改用可以使用的IP,詳情請問網路管理人員)
ifconfig eth0 192.168.0.10
同樣的,你的HOST OS也要設定網路橋接器才能讓它使用,詳細設定方法請參考VirtualBox用網路橋機器設定虛擬機器的固定IP

開啟Koha系統介面

請使用網頁瀏覽器開啟,如Firefox或IE。(注意IP要改成你自己的)
OPAC:http://192.168.0.10/
內部管理:http://192.168.0.10:8080/
帳號:kohaadmin
密碼:demo
(more...)

Windows開機自動開啟VirtualBox虛擬機器──用延後啟動

布丁布丁吃布丁

Windows開機自動開啟VirtualBox虛擬機器──用延後啟動

伺服器要能夠自動地運作,那麼開機時順便把虛擬機器一起開起來,這也是必要的條件。

如果你的虛擬機器VirtualBox架在Linux(特別是ubuntu)上,你可以參考ubuntu正體中文站的「用 VirtualBox 讓 Windows Server 偷偷(背景執行)跑在 Linux Server 上」,但是如果你跟我一樣把VirtualBox架在Windows上,那麼就沒有這麼簡單了。


在Windows裡面要啟動虛擬機器的命令列跟Linux一樣,用VBoxSDL.exe會開啟一個簡單的視窗(像上圖),內容如下,

"C:\Program Files\innotek VirtualBox\VBoxSDL.exe" vm Koha

或著用以下VBoxManage.exe開啟跟普通VirtualBox相同的視窗:

"C:\Program Files\innotek VirtualBox\VBoxManage.exe" startvm Koha

紅色的字是VirtualBox的安裝位置,藍色的字則是虛擬機器的名稱。你可以把它寫成bat批次執行檔以便快速執行,參考這個檔案當作範例,自己修改。


無法直接開啟虛擬機器

我先說失敗的經驗,在Windows 2003 Server或Windows XP裡面都沒有辦法順利地直接啟動。

一開始找尋的方法是將應用程式(Application)改成以系統服務(NT Service)的方式運行,「以服務形式啟動 Windows 內的 PPPoE 撥號網路」這一篇教學很完整,啟動服務所需要用到的instsrv.exe及srvany.exe也可以從Windows的網站上免費下載。或著是使用其他軟體來將應用程式轉成系統服務,然而除了DynaSvr-服務控制程序(NT Service Controller)大陸簡體程式是免費之外,大部分都是要收費付費軟體。

我嘗試以前者的方式,用instsrv.exe及srvany.exe將VBoxSDL.exe轉成系統服務執行。雖然可以成功轉換並執行,但是網路卻怎樣也沒辦法連上。最後我的結論是,在Windows理面,以服務執行虛擬機器,是不可行的。(或著是沒這麼單純,還要啟動其他相對應的程式)

接著我以自動登入搭配啟動應用程式的方式進行。Windows只要在開始 / 程式集 / 啟動 裡面的程式,只要登入之後就會自動執行。首先先將上面的命令列指令作成批次執行檔,擺到啟動裡面,或是用開機管理軟體starter(PChome Toget的介紹)來設定。再設定開機時自動登入指定帳號,或著是用簡化的系統自動登入工具

然而,還是失敗了。Windows 2003 Server像是不接受用自動登入開啟程式虛擬機器一樣,不管是設定在,「啟動 - 目前的使用者」、「啟動 - 所有的使用者」、「登錄檔 - 使用者 啟動列表」、「登錄檔 - 機器 啟動列表」、「登錄檔 - 機器 啟動服務」、「登錄檔 - 預設使用者啟動列表」,都無法用自動登入的方式啟動虛擬機器。

正確來說,在剛開啟的Windows狀態下啟動VirtualBox會發生錯誤,用VBoxSDL.exe開啟時,會發生錯誤「SQL Error: no available video device"」,而導致無法開啟。


用延後開啟的方式虛擬機器(Startup Delayer)

後來發現,改用VBoxManager.exe的方式,雖然無法在第一時間啟動虛擬機器,但是卻可以在開機直到所有程式都載入之後,就可以順利執行。

因此這時候Startup Delayer或是系統看門狗WinPatrol的Delayed Start就可以派上用場。

接下來,以Startup Delayer的設定來說明:

開啟主程式之後,先切換到你設定的帳號(非必要過程)。

按左上角綠色十字的Add功能。

選擇要延遲啟動的程式,此處選擇C:\Program Files\innotek VirtualBox\VBoxManage.exe。

在Parameters填入「startvm Koha」,Koha可改成您虛擬機器的名稱。在Delay填入要延後的時間,三格欄位個別是小時、分鐘、秒鐘,我們在分鐘填入1,表示要延後一分鐘。

看到剛剛新增的VBoxManage。

可以在該項目上面按右鍵,選擇「Start now」測試啟動狀態。

如果可以順利啟動,那麼重新開機之後應該會看到視窗上方Startup Delayer的倒數計時。等待數到0之後,VirtualBox的虛擬機器就能順利啟動了!


光是為了這個功能,這一篇花了我一整天的時間。想說終於可以回去了,但是卻發現外面網路連不到實驗室的伺服器,這讓我又萌生了不想離開這邊的念頭。今晚要繼續待在這邊研究Koha呢?還是要回去宿舍然後卻什麼都不能作好呢?

總之,先休息一下吧......

(more...)

百年樓夜留記事

布丁布丁吃布丁

百年樓夜留記事

「所以說......要讓虛擬機器在開機時跟著啟動的方式有幾種.......」

我一邊等著蓮蓬頭的冷水變熱,一邊檢討晚上的研究進度。

「最好的方式是像AppServ一樣,用NT Service的方式啟動。如此可以省去登入或是登出時會把應用程式關掉的問題。」

「這些工具大多要收費,唯有DynaSvr是免費的,但卻是簡體字。」

「剛剛用Instsrv.exe與Srvany.exe將程式轉為服務也開不起來,是不是要繼續研究好呢?」

「後來改用自動登入,再設定登入時開啟虛擬機器,但是卻一直失敗,必須得要手動登入才會啟動,這是Windows 2003的問題嗎?」

「不過自動登入的方法比較簡單的感覺,要寫說明的話,也是比較容易的吧......」

不知不覺地,蓮蓬頭流出來的水已經冒出了霧氣。伸手觸碰,嗯,夠熱了。

「好,洗澡完再努力吧。」


半夜一點半的百年樓,三樓跟二樓偶爾會夜留的老師們也回家了。

讓人感到溫暖的街燈,詭異綠光的逃生燈,發出不明聲響的飲水機殺菌,剩下的就是自己穿著拖鞋走路的拖地聲。

「嗶。」打開實驗室的門,我又回到了這個空間。

放好盥洗用品,忽然有感而發,來寫寫Blog吧。


這樣子地,晚上留在實驗室裡面洗澡、過夜,不知道已經多少次了。

一開始還會害怕半夜那個玻璃門會不會飄過不明白色物體,然而就連白天活動的人都沒幾個會來開的門,到了晚上也不會有人會想打開他的。

自從買了氣墊床取代巧拼之後,睡在這邊的次數大為提高。友人阿誠甚至開玩笑地說,其實宿舍只是倉庫吧。後來帶了睡袋過來鋪著,連學姐也說看起來很舒服的感覺。

這樣子辛苦嗎?別人總是會這樣說我。我也不知道辛不辛苦,我只知道每天晚上都會想洗澡,累了就想睡覺,所以就準備了這些東西,以方便我待在實驗室繼續研究我的東西。

聽說很多理工科系的學生都是這樣過來的,所以我這樣應該很正常。只是我在一個文學院裡面,在一個院方說七點之後學生回家讀書就好,所以整棟大樓下班時間只能出去不能進來的文學院裡面。


今晚研究的課題是「如何讓虛擬機器跟著電腦開機時一起啟動」。

本來以為應該很簡單就可以找到答案,結果意外地找了許久,嘗試了許多方法,到目前為止還沒有成功。

有人說,奇怪,你幹麻不要回宿舍用遠端連線?我想,除了怕像上次一樣設定網路時不小心按成「停用」網路之外,那就是懶吧。我只想把這個問題解決,其他作什麼事情都很懶、不想做。

這個問題重要嗎?其實好像還好,大不了最後妥協用手動的方式啟動虛擬機器。

但是,不管是什麼東西,只要是自己有興趣的,就能夠投注一切地去研究、實作。我認為,這就是讀研究所、做研究,最有趣也是最有魅力的特色了。


好啦,累了,先睡一下,明天再繼續。

(more...)