:::
顯示具有 Koha 標籤的文章。 顯示所有文章

在MySQL裡重置Koha使用者的密碼 / Reset Koha User Password in MySQL

布丁布丁吃布丁

在MySQL裡重置Koha使用者的密碼 / Reset Koha User Password in MySQL

2023-1019-033946.png

最後還是到MySQL裡面修改了。

(more...)

OpenVZ虛擬應用範本備份 / Backup OpenVZ Format Virtual Templates

OpenVZ虛擬應用範本備份 / Backup OpenVZ Format Virtual Templates

image

最近在觀看Proxmox VE改版的時候才發現Proxmox VE已經捨棄使用OpenVZ虛擬化技術,而且虛擬應用範本主要的來源Turnkey Linux亦不再提供OpenVZ的格式。為了避免以後使用OpenVZ時找不到虛擬應用範本可供安裝,我認為需要趕快將手邊有的虛擬應用範本備份到其他地方,以供未來需要的時候還能找來下載。下面我以虛擬應用範本內含的系統來分類,有些混雜了下載自Proxmox VE跟我自己做的虛擬應用範本,全部一併備份吧。

(more...)

OpenVZ虛擬應用範本:Koha / OpenVZ Virtual Application Template: Koha 3.16

OpenVZ虛擬應用範本:Koha / OpenVZ Virtual Application Template: Koha 3.16

2014-10-14_233823

我在Turnkey Linux的LAMP虛擬應用範本上安裝了圖書館自動化系統Koha 3.16,並打包成OpenVZ虛擬應用範本的格式分享給大家使用,讓大家更容易架設Koha。

I have packaged Koha 3.16 to an OpenVZ virtual application template which is based on Turnkey Linux LAMP. In this article, I share this template and show how to start it.


Koha: 圖書館自動化系統 / Koha: A Library System

Koha是一個開放原始碼的圖書館自動化系統,可供大家免費下載、架設與使用。Koha是使用Perl (CGI),運作在Apache上,資料庫使用MySQL。這些組合都是開放原始碼授權。

Koha本身具備了兩大界面,一個是供讀者查詢館藏用的OPAC,另一個是供館員管理用的Intra內部網頁。兩者會架設在同一台伺服器上,用不同的連接埠來區隔開來。

雖然Koha可以免費取得,但是作為一個複雜的圖書館自動化系統,通常需要經過訓練才能順利使用Koha。因此有許多公司提供Koha服務來收費,例如Koha使用訓練。

下載Koha虛擬應用範本 / Download

這是一個OpenVZ的虛擬應用範本檔案 (或稱之為虛擬應用樣板,請看我之前的介紹),檔案名字是「koha_3.16.04.000_20141014.tar.gz」,雖然看起來很像是tar.gz的壓縮檔案,但這檔案本身就是一個虛擬應用範本,不需要解壓縮即可使用。

安裝Koha虛擬機器 / Install

image

關於安裝的方法,請參考我之前寫的Proxmox VE 3安裝與建立OpenVZ虛擬機器,或是從架設OpenVZ虛擬機器這一串教學開始看起。

2014-10-15_105043

架設完成之後大致上長這樣子。

登入界面 / Login

初始化安裝的時候,我預設的密碼都是password,Linux使用的帳號是root、Koha使用的帳號是koha_library。

OPAC界面 / OPAC Interface

1780796_10202992796488596_3434819395203767946_n

一般讀者使用。

  • 網址:http://your-koha-server-ip:8081/
Intra 內部管理界面 / Intra Administration

1962728_10202992800288691_66897959114382669_n

  • 網址: http://your-koha-server-ip:8080/
  • 登入帳號:koha_library
  • 登入密碼:password
修改主要密碼 / Change Master Password

為了大家方便使用,除了Linux中root帳號使用的密碼會在建立OpenVZ時指定之外,Koha中預設的安裝密碼都是password。若要正式使用,請修改預設的密碼。

修改方法請參考How to change master password of Koha ?。做法如下:

  1. 以root身份登入Koha伺服器的命令列
  2. 進入MySQL管理界面,更改koha_library的密碼:
    mysql -u root -h localhost -p  
    [請輸入預設MySQL的root帳號的密碼 password]
    use mysql;
    SET PASSWORD FOR 'koha_library'@'localhost' = PASSWORD('新密碼');
    SET PASSWORD FOR 'root'@'localhost' = PASSWORD('新密碼');
    flush privileges;
    quit;
  3. 然後修改koha-conf.xml的密碼:
    nano /etc/koha/sites/library/koha-conf.xml
  4. 密碼的位置在最下面,請找到「<pass>password</pass>」,然後吧password替換成你要的新密碼即可。nano編輯器的操作方式請參考鳥哥的教學
    2014-10-15_110450 

開始使用Koha / How to Start Use Koha

我雖然把Koha架設起來了,可是老實說我也沒有仔細研究過怎麼使用。以下我整理一些Koha的使用教學,提供需要的使用者進一步閱讀。

不過在開始之前,有幾件工作需要進行:

  • 中文化:可以看一下Koha Translation Project的漢語(臺灣),研究一下如何安裝
  • 機讀格式:預設安裝時Koha提供了MARC21UNIMARC兩種格式,但沒有臺灣特製的CMARC。我安裝時使用的是MARC21。如果需要CMARC要另外想辦法。

有問題可以請教臺灣的Koha啟蒙大師:天主教輔仁大學圖書資訊學系毛慶禎教授


結語:更多的虛擬應用範本 / Conclusion: To Create More Virtual Application Template

之前有個想法,由於我覺得OpenVZ這種輕量級的虛擬化技術,運作Koha這種網頁管理系統真的是非常適合,因此讓我開始想要將許多系統打包成OpenVZ的形式來運作,所以就出現了這次的Koha虛擬應用範本。

其實這個是為了最近的圖書館領導人才菁英碩士學分班準備的內容。我想在大家面前展示一下,只要簡單的幾個操作就能夠架設一個Koha系統,這種感覺應該讓平常總是在跟幾十萬的圖書館自動化系統奮鬥的圖書館從業人員感到印象深刻吧。(雖然Koha原本的安裝方式也不能說很難就是了)

我的目的只是展示而已,所以做完後就沒有打算進一步深入研究了。有人需要就拿去用吧,有什麼感想或建議歡迎於下面留言發表。

(more...)

VirtualBox用NAT也能架伺服器:連接埠轉送機制

布丁布丁吃布丁

VirtualBox用NAT也能架伺服器:連接埠轉送機制

摘錄自透過Virtualbox下的Windows的網路印表機問題的說明:

因為客端虛擬機器(Guest OS)是以私有的內部網路透過VirtualBox與主端連接,所以客端所提供的網路服務,不管是主端或是在相同區段的其它電腦,不但看不見,而且是不能使用的。(意思是,在GuestOS的服務,其他人都不能使用)

但是VirtualBox可以透過port forwarding的port轉送機制,讓客端的網路服務也可以被外部所存取。在這情形下,VirtualBox會聆聽主機端(Host OS)的確定ports,當有資料送過來時,把資料打包,再重新轉送到內部的客端系統裡去工作。

對於主端的應用程式或是其它網路上的電腦而言,它看起來就像是主端系統所提供的網路服務一樣。(這也意味著,你不可以在主端及客端提供二個相同的服務,比如網頁伺服器服務)經由此種模式,你可以獲得在客端虛擬機器上提供網路服務的優點,比如當你的主端系統對於網路服務是較弱的,比如容易當機或是容易被入侵等,你就可以運用此種方式在主端系統上提供服務。

雖然如此,但是VirtualBox的連接埠轉送機制得靠指令碼來設定VboxManage,對於不習慣指令碼的Windows使用者來說特別不友善,所以乾脆就寫一個指令產生機,方便大家設定吧。


Virtual Box NAT連接埠轉送機制指令產生器(for Windows)
:(如何查詢網路卡?)

(如指定多個轉接埠時,得用不同名稱,以免被覆蓋)
說明
  • 連接埠轉送機制指令碼的使用方法:請把輸出的網頁存成bat檔案,存到任意地方並開啟執行即可。
  • 執行指令的時候必須先關閉虛擬機器才會生效
  • Windows TCP/IP連接埠範圍:根據微軟的說明,Windows XP和2003可供保留的連接埠範圍是從1025到MaxUserPort(預設為5000)以及49152到65535,因此設定時請使用這範圍的連接埠,以免與其他服務相衝。
  • 設定完成之後,必需要開啟Host OS的防火牆才行。如何手動開啟 Windows XP 網際網路連線防火牆中的連接埠,其他的設定就麻煩網管吧。
  • 網路卡位於[設定值] > [網路] > [介面卡] > [進階] > [介面卡類型]的選單中,請見參考此圖
    如果網路卡為PCnet-開頭,則值應該設定為「pcnet」;如果網路卡為Intel PRO/1000開頭,則應該設定為「e1000」。當你發生「configutation error: Faild to get the "MAC" value」的錯誤時,應該就是網路卡設錯了,請見此討論的說明

參考網頁:透過Virtualbox下的Windows的網路印表機問題 [論壇 - Ubuntu基本設定] - Ubuntu 正體中文站 (翻譯自VirtualBox的說明)

(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...)