:::

DSpace 1.5.1安裝法

3月 17, 2009 , 7 Comments Edit Copy Download

image
DSpace在1.4.2之後安裝方法有些改變,也為了補完之前那篇技術文件說明實在不是很清楚,所以我打算重新整理一下DSpace 1.5.1的安裝方法

作業系統:CentOS

本次安裝使用的是CentOS 5.2,可從義守大學的FTP下載:
感謝義守大學,每次要找這種超大型的開放原始碼作業系統,都有你們的陪伴。
至於CentOS的安裝方法,雖然說也夠簡單的了,請參考SmallKen's Blog的CentOS 5 Linux 系統安裝教學,圖文並茂十分易懂。
image
安裝時,有幾點要注意的:
  1. 我是選用圖形介面,也比較好操作。
  2. 磁碟分割方法請見下一節的說明。
  3. 選擇安裝其他套件時,記得要額外勾選安裝PostgreSQL跟Apache、PHP(方便之後安裝phpPgAdmin)喔!
  4. 開放8080連接埠
  5. 建立一個名為「dspace」帳號,或是在安裝完成之後利用useradd指令新增帳號。

CentOS磁碟分割

為了之後便於針對磁碟分割進行映像檔備份,建議把以下特別會使用到的目錄掛載點給予單獨的磁碟分割,並說明建議的分割大小:
  • /dspace:預設DSpace執行程式的安裝位置,裡面也有預設的bitstream數位檔案保存路徑(/dspace/assetstore/),會隨著保存越多檔案而越來越龐大!考慮空間的時候,除了/dspace基本安裝約需要100MB之外,還要把之後典藏的檔案也一併考慮進去,
  • /opt:DSpace的原始檔跟其他環境所需的套件都會擺在這邊,大約最少需要1GB來擺放比較穩定。
當然,如果可以的話,還是給上述的資料夾更多位置比較好。磁碟分割的意義,可以參考鳥哥的Linux私房菜當中的Linux 磁碟與檔案系統管理Linux 硬體偵測與維護(談LVM的部份)

CentOS遠端連線

安裝完CentOS之後,並設定好網路連線,你就可以用遠端操控SSH來連線到CentOS,而不需要待在本機端才能工作囉。
因為以下操作我們都是用指令列進行,並且輔以檔案的上傳,所以我在此介紹兩個好用的管理工具:
  • Pietty:可以以SSHTelnet遠端連線的方便工具,自由軟體、不需要安裝可直接執行。而且在Windows當中把檔案拖曳到連線中的Pietty視窗還可以執行上傳動作!(這好像很多人都不知道)
  • FileZilla Portable:SSH支援類似FTPSFTP檔案傳輸功能,而FileZilla則是專門負責檔案上傳、下載的傳輸工具。自由軟體,Portable版本則免安裝即可執行。

JAVA環境:Java SE Development Kit(JDK)

請以root登入,此時位置在「/root/」當中。將上面的檔案下載到CentOS主機當中,可利用wget指令下載:
[root@dspace ~]# wget http://
或是使用SFTP、Pietty的SCP功能(直接把檔案拖曳到連線中的Pietty視窗)上傳到/root目錄。
這是一個bin壓縮檔,需要執行以解壓縮。首先要利用chmod指令修改權限,再執行該檔案以解壓縮:

[root@dspace ~]# chmod 755 jdk-6u12-linux-i586-rpm.bin
[root@dspace ~]# ./jdk-6u12-linux-i586-rpm.bin

image (執行解壓縮)
image (解壓縮進行中)
image (解壓縮完畢)
解壓縮過程當中會詢問是否要解壓縮,請回答「yes」確定,解壓縮檔案之後的jdk-6u12-linux-i586.rpm會位於該帳號的家目錄中,以root帳號來說就是「/root」。
接下來執行rpm安裝
[root@dspace ~]# rpm -ivh jdk-6u12-linux-i586.rpm

image
如果安裝完成之後,可以檢查看有沒有「/usr/java/jdk1.6.0_12/」目錄,如果有此目錄表示安裝成功。可以利用cd指令來移動目錄看看:
[root@dspace ~]# cd /usr/java/jdk1.6.0_12/

DSpace安裝所需套件1:Maven (Mvn)

接下來的步驟是建立/opt目錄、改變/opt權限為755,切換到/opt目錄,在本機端下載Maven後上傳到/opt目錄,然後利用tar解壓縮Maven。
[root@dspace ~]# mkdir /opt
[root@dspace ~]# chmod 755 /opt
[root@dspace ~]# cd /opt
[root@dspace opt]# tar -zxvf apache-maven-2.0.9-bin.tar.gz

以上步驟完成之後會建立「/opt/apache-maven-2.0.9-bin/」目錄。最後還要修改/etc/profile才算安裝完成,這部份作法留到最後後面的部份再來說明。

DSpace安裝所需套件2:Ant

接下來的步驟類似上一節Maven的作法,一樣是把檔案下載之後上傳到/opt,然後解壓縮。
[root@dspace opt]# cd /opt
[root@dspace opt]# tar -zxvf apache-ant-1.7.1-bin.tar.gz
以上步驟完成之後會建立「/opt/apache-ant-1.7.1-bin/」目錄。一樣的還要修改/etc/profile才算完成。

DSpace伺服器環境:Tomcat

作法同上:
[root@dspace opt]# cd /opt
[root@dspace opt]# tar -zxvf apache-tomcat-6.0.13.tar.gz
然後修改連線編碼為「UTF-8」。
[root@get ~]# vim /opt/apache-tomcat-6.0.13/conf/server.xml

找到下面設定:
<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />

改為以下設定,利用vim編輯器加入紅字的「URIEncoding="UTF-8」:
<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443"
               URIEncoding="UTF-8" />

設定環境變數:/etc/profile

接下來是修改/etc/profile的環境變數,為了體貼不會使用文字編輯器vim的使用者,這節以下一步一步地說明,請照著作吧,但之後的vim編輯器就不寫這麼詳細囉:
  1. 利用vim開啟/etc/profile。如果沒有vim,那也可以用vi。
    [root@dspace opt]# vim /etc/profile
  2. 移動游標,找到「export PATH……」開頭的內文,如下:
    export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE INPUTRC
  3. 在該行上方按「a」按鍵,此時進入編輯模式,可以自由編輯該檔案。
  4. 插入以下紅色部份的程式碼,包括在2所指的「export PATH……」後面加入其他環境變數。
    if [ -z "$INPUTRC" -a ! -f "$HOME/.inputrc" ]; then
        INPUTRC=/etc/inputrc
    fi
    
    JAVA_OPTS="-Xmx2048M -Xms2048M -Dfile.encoding=UTF-8"
    ANT_HOME=/opt/apache-ant-1.7.1
    JAVA_HOME=/usr/java/jdk1.6.0_12
    CATALINA_HOME=/opt/apache-tomcat-6.0.13
    CLASSPATH=$CATALINA_HOME/common/lib/servlet-api.jar
    PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$ANT_HOME/bin:$PATH:/opt/apache-maven-2.0.9/bin
    export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE INPUTRC ANT_HOME JAVA_HOME CATALINA_HOME CLASSPATH
    
    for i in /etc/profile.d/*.sh ; do
    image
  5. 按「Esc」鍵,結束編輯模式。
  6. 輸入「:」,跳到命令模式。
  7. 輸入「wq」然後按下「enter」鍵,表示儲存並且離開vim編輯器。
  8. 然後利用source指令重新載入/etc/profile。
    [root@dspace opt]# source /etc/profile
這樣就把JAVA環境變數、MAVEN、ANT跟Tomcat一起安裝完了。

PostgreSQL資料庫

如果照著上面CentOS安裝步驟中所說的來作,您現在的CentOS當中應該安裝了PostgreSQL。接下來的步驟則是設定PostgreSQL,以提供DSpace的順利安裝。
  1. 設定PostgreSQL的連線設定,請修改「/var/lib/pgsql/data/pg_hba.conf」
    [root@dspace opt]# vim /var/lib/pgsql/data/pg_hba.conf
    找到檔案「# Put your actual configuration here」以下的設定,把所有「ident sameuser」改成「trust」。原始的設定如下:(注意一下換行的問題)
    # TYPE  DATABASE    USER        CIDR-ADDRESS          METHOD
    
    # "local" is for Unix domain socket connections only
    local   all         all                               ident sameuser
    # IPv4 local connections:
    host    all         all         127.0.0.1/32          ident sameuser
    # IPv6 local connections:
    host    all         all         ::1/128               ident sameuser
    把method(連線方式)中的「ident sameuser」改成「trust」,修改後如紅字的部份:
    # TYPE  DATABASE    USER        CIDR-ADDRESS          METHOD
    
    # "local" is for Unix domain socket connections only
    local   all         all                               trust #ident sameuser
    # IPv4 local connections:
    host    all         all         127.0.0.1/32          trust #ident sameuser
    # IPv6 local connections:
    host    all         all         ::1/128               trust #ident sameuser
    然後在檔案最後插入dspace資料庫的連線設定:
    #DSpace
    host    dspace  dspace  127.0.0.1       255.255.255.255 trust
    
    image 
  2. 啟動PostgreSQL
    [root@dspace opt]# /etc/init.d/postgresql start
  3. 在PostgreSQL資料庫中新增「dspace」帳號,系統會提示你輸入dspace帳號的密碼,先假設為「dspacepassword」好了。接著建立資料庫「dspace」:
    [root@dspace opt]# createuser -U postgres -d -A -P dspace
    [root@dspace opt]# createdb -U dspace -E UNICODE dspace
  4. 利用su指令切換到postgres帳號(指CentOS的實體帳號),在PostgreSQL資料庫中新增「dspace」帳號,系統會提示你輸入dspace帳號的密碼,先假設為「dspacepassword」好了。然後輸入「exit」指令脫離su,回到root帳號底下。
    [root@dspace opt]# su postgres
    bash-3.2$ createuser -U postgres -d -A -P dspace
    bash-3.2$ exit
    image
  5. 再用su指令切換到dspace帳號,建立名為「dspace」的資料庫(你也可以改用其他資料庫名稱)。然後再用exit指令脫離su。
    [root@dspace opt]# su dspace
    [dspace@dspace opt]# createdb -U dspace -E UNICODE dspace
    
    [dspace@dspace opt]# exit
    image 
  6. 設定PostgreSQL可連線的位置,請修改「/var/lib/pgsql/data/postgresql.conf」,把「#listen_addresses = "localhost"」的註解「#」拿掉。
    [root@dspace opt]# vim /var/lib/pgsql/data/postgresql.conf
    找到以下文字
    #listen_addresses = "localhost"
    刪除開頭的注解符號「#」,改成以下文字
    listen_addresses = "localhost"

DSpace安裝前設定調整

下載後上傳到/opt目錄,然後解壓縮。
[root@dspace opt]# cd /opt
[root@dspace opt]# tar -zxvf dspace-1.5.1-src-release.tar.gz

vim開啟DSpace的設定檔「/opt/dspace-1.5.1-src-release/dspace/config/dspace.cfg」。
[root@get ~]# vim /opt/dspace-1.5.1-src-release/dspace/config/dspace.cfg

設定項目繁多,但以下幾項是必需要調整的,前面黑色的字是項目名稱(有些被註解符號「#」註解掉了,請取消註解吧),紅色的字是可以調整的值,請跟著一起設定吧
  1. 設定DSpace程式安裝位置為「/dspace」目錄
    dspace.dir = /dspace
  2. DSpace的網址,如果你的hostname是「dspace.lias.nccu.edu.tw」的話,那麼就這樣寫:
    dspace.url = http://dspace.lias.nccu.edu.tw:8080/jspui
    dspace.hostname = dspace.lias.nccu.edu.tw
  3. 設定資料庫連線位置、連接埠跟資料庫名稱:
    db.url = jdbc:postgresql://localhost:5432/dspace
  4. 設定資料庫連線的帳號與密碼,剛剛設定的帳號為「dspace」,密碼假設為「dspacepassword」好了:
    db.username = dspace
    db.password = dspacepassword
  5. 設定mail server(郵件伺服器)的位置,不然沒辦法送出註冊信:
    mail.server=localhost
  6. 設定handle前置代號為你自己單位的代號,這會影響到DSpace每一頁的網址,預設是「123456789」,你可以改成任何你自己想要的英文或數字代號,例如「dspace」的話就是:
    # CNRI Handle prefix
    handle.prefix = dspace
  7. 設定語言選項為「zh_TW」(繁體中文):
    default.locale = zh_TW
    webui.supported.locales = zh_TW, en  #這行要自己加上去
    default.language = zh_TW
最後建立DSpace程式安裝位置「/dspace」目錄,然後設定擁有者為「dspace」。
[root@dspace opt]# mkdir /dspace
[root@dspace opt]# chown dspace:dspace /dspace

DSpace安裝步驟

Step 1. 利用maven建立檔案:移動到DSpace原始程式目錄底下的「dspace」目錄,執行「mvn package」編譯DSpace原始程式。第一次執行「mvn package」指令的時候,會從網路上下載很多需要的元件,大約需要30分鐘才能完成編譯。
[root@dspace ~]# cd /opt/dspace-1.5.1-src-release/dspace/

[root@dspace dspace]# mvn package
image (第一次執行時需要下載很多檔案)

Step 2. 用ant來部屬:接著移動到DSpace原始程式目錄底下的dspace當中的target當中的dspace-1.5.1-build.dir目錄,並執行「ant fresh_install」。這個步驟會把編譯好的檔案移到安裝目錄「/dspace」底下。
[root@dspace ~]# cd /opt/dspace-1.5.1-src-release/dspace/target/dspace-1.5.1-build.dir/
[root@dspace dspace-1.5.1-build.dir]# ant fresh_install

Step 3. 移動JSP網頁檔:複製DSpace安裝目錄裡面的「webapps/jspui」到Tomcat裡面:
[root@dspace ~]# \cp -rf /dspace/webapps/jspui /opt/apache-tomcat-6.0.13/webapps/

Step 4. 建立DSpace管理者帳號:執行DSpace中的「create-administrator」功能,建立登入DSpace系統的帳號,DSpace會要求你輸入e-mail、first name、last name跟password 。
[root@dspace ~]#  /dspace/bin/create-administrator

Step 5. 啟動Tomcat服務
[root@get ~]# /opt/apache-tomcat-6.0.13/bin/startup.sh

以上工作做完之後,就可以用瀏覽器連到DSpace啦,網址是如之前設定的「http://dspace.lias.nccu.edu.tw:8080/jspui」或是「http://localhost:8080/jspui」(如果你是在本機端,那就可以如此查看),如果順利地顯示了DSpace的畫面,那麼就是安裝成功囉。(如下圖)
image

其他功能排程執行

DSpace有些功能是需要定期去執行,才能夠順利運作的。包括搜尋引擎的索引、上傳圖片的縮圖、站內寄信、計算資料總量、清理資料庫等等工作。
在CentOS裡面,請以root或dspace帳號(如果你的dspace帳號能夠執行/dspace裡面的資料的話)執行排程指令
crontab -e

然後插入以下敘述,我附上翻譯的說明:
#時間與指令說明
#分 時 月 日 周 要執行的指令
# 每天早上01:00送出訂閱的e-mail
0 1 * * * /dspace/bin/sub-daily
# 每天早上02:00執行縮圖程式(media filter)
0 2 * * * /dspace/bin/filter-media
# 每天早上03:00確認資料總量
0 3 * * * /dspace/bin/checker -lp
# 每天早上04:00把結果寄給系統管理者
0 4 * * * /dspace/bin/dsrun org.dspace.checker.DailyReportEmailer -c

# 每天早上04:20清理資料庫(這是PostgreSQL的指令)
20 4 * * * vacuumdb --analyze dspace > /dev/null 2>&1

# 每天早上01:00執行統計運算,每天早上02:00產生統計報表
0 1 * * * /dspace/bin/stat-general
0 1 * * * /dspace/bin/stat-monthly
0 2 * * * /dspace/bin/stat-report-general
0 2 * * * /dspace/bin/stat-report-monthly
image 


但是光是安裝完成、可以運作,其實還是不夠的,你還要定期排程執行備份工作,並且有要有還原的機制。
上面的步驟我也自己做了一遍,應該都沒錯了。這篇已經寫得夠長了,有空的話我們再來慢慢聊吧。

總共7 則留言 ( 我要發問 , 隱藏留言 顯示留言 )

  1. 推一下,
    CentOS有netinstall的版本,只要6~7MB就可以安裝,不需下載DVD版本喔~
    而且文字安裝,是比用圖形介面安裝會快一些~
    但還是要推一下這篇~

    回覆刪除
  2. 啊啊,是的
    netinstall的情況下也是用指令操作,在這篇來說大部分操作也都可以適用。

    我是因為自己懶,有些東西懶得用指令看,都直接用圖形介面orz

    回覆刪除
  3. 我推薦用NetInstall主要還是因為不想浪費太多光碟片.呵呵,用隨便一個隨身碟加unetbootin就好囉~,另外就是最小安裝,有需要的東西再用YUM來做install的動作就好囉.不然安裝一直等%數也是很繁瑣的~

    回覆刪除
  4. 在windows習慣看GUI,但反倒在Linux上,無論是Fedora或Ubuntu,就很不習慣GUI介面,還是直接下command會感覺好很多,而且速度也比較快,大概我不太習慣Gnome、KDE或是XFCE吧..

    回覆刪除
  5. 這倒是,最人性化的Ubuntu我用起來還是不順手,特別是有些程式的設定還要回頭動用command指令的時候,就有種不想回頭用GUI介面了orz

    回覆刪除
  6. 所以我大部份都是最小安裝再用ssh連進去,省得桌面系統浪費空間..呵

    回覆刪除
  7. 有人來請教DSpace 1.5.1 中文語系檔安裝的問題。

    這是我手邊有的1.5.0的中文語系檔檔案:http://cid-7113c88187767b01.office.live.com/self.aspx/public/2010/12/Messages%5E_zh%5E_TW.zip

    至於如何安裝,DSpace的說明手冊已經寫得很清楚了,請參考他一步一步地來做吧:
    http://www.dspacedev2.org/1_5_1Documentation/ch09.html#N131F8 (這是1.5.1的說明喔)

    回覆刪除