post | sidebar | footer
Showing posts with label Roller. Show all posts
Showing posts with label Roller. Show all posts

September 29, 2005

Roller 的架設

0 迴響
Roller 是一個以 JSP 當前端語言,java 當後端的 Blog 出版工具。整個程式以 hibernate(2.0) + struts(1.1) + velocity(1.4) 為架構所建構而成。資料庫部分,主要支援 HSQL、MySQL 及 PostgreSQL,但依然可以透過 JDBC 與其他資料庫做溝通。

環境

01. 系統:RedHat Enterprise Linux v3

02. WEB Server:Tomcat 5.5.7 (patch 5.5.9)

03. JAVA:J2SDK 1.4.2_09

04. Database:Oracle 9i


套件

01. Roller

檔案:roller-src-1.2.tar.gz

下載路徑:
https://roller.dev.java.net/files/documents/190/16701/
roller-src-1.2.tar.gz


檔案:roller-tools-1.2.tar.gz

下載路徑:
https://roller.dev.java.net/files/documents/190/16699/
roller-tools-1.2.tar.gz


步驟

因為 oracle 資料庫的關係,我們下載原始檔下來,重新 complier。

01. mv *.tar.gz /home

把 roller-src-1.2.tar.gz、roller-tools-1.2.tar.gz,移到 /home 中。

02. tar zxvf roller-src-1.2.tar.gz

解開 roller-src-1.2.tar.gz,會新增一個 roller-src-1.2 的資料夾。

03. tar zxvf roller-tools-1.2.tar.gz

解開 roller-tools-1.2.tar.gz,會新增 tools 的資料夾。

04. mv -rf tool /home/roller-src-1.2

將 tools 資料夾,移到 /home/roller-src-1.2 裡。

05. rm *.tar.gz

刪除 roller-src-1.2.tar.gz、roller-tools-1.2.tar.gz。

06. 將 roller complier 一次。


資料庫

由於 Roller 沒有直接支援 Oracle 所以我們要對他提供的 createdb.sql 做些修改。其中要注意 comment 這個 table,因為 comment 是 oracle 的保留字,所以要改名字(commentt),並在roller/WEB-INF/classes/org/
roller/pojos/CommentData.hbm.xml 裡在 class 標籤裡的 table 改成 commentt。另外有幾個欄位的 datatype 為 bit、text 及 timestamp 也要改成 number(1)、clob 及 date,有幾個欄位 Roller 預設 index 名稱超過 30 個字的也要修改一下。

01. 在 Oracle 9i 新增一個 DB,命名為 Roller。

02. 依照這一個 script 檔新增表格。


TOMCAT 設定

下載這一個設定檔,放在 roller/conf/Catalina/localhost/ 裡,並修改 roller webapp 的絕對路徑、oracle 資料庫的 IP、port、帳號及密碼。


Roller 的設定

由於 Roller 是用 Hibernate 跟資料庫做溝通,我們要在 Hibernate 中做好與 oracle 的溝通設定。

請下載這一個設定檔,放到 roller/webapp/WEB-INF/classes/,並修改 oracle 資料庫的 IP、port、帳號及密碼。


處理 clob 格式欄位

因為 Oracle 不支援 text,我們將格式轉為 clob,所以我們要處理將資料塞進 clob 的問題。

01. 請將 這一支程式放到 roller/webapp/WEB-INF/classes/org/roller/util 中。

02. 把 CommentData.hbm.xmlEntryAttributeData.hbm.xml


PageData.hbm.xmlPlanetEntryData.hbm.xml


PlanetGroupData.hbm.xmlRefererData.hbm.xml


RollerConfigData.hbm.xmlRollerPropertyData.hbm.xml


WeblogEntryData.hbm.xmlWebsiteData.hbm.xml,放到 roller/webapp/WEB-INF/classes/org/roller/pojos 內,蓋過原本的檔案。



啟動

重新啟動兩次,第一次會將設定檔裡的資料寫進資料庫,第二次啟動便會抓的到資料庫裡的資料了。


設定檔

01. webapp/WEB-INF/classes/rollerRuntimeConfigDefs.xml

整個站的站名、敘述、絕對位址、管理者的 E-MAIL、文章編輯器種類等等,第一次啟動便是將這邊的資料存進資料庫。

02. webapp/WEB-INF/classes/hibernate.cfg.xml

關於 hibernate 的設定,與 oracle 的溝通、相關檔案的連結路徑等等。

03. webapp/WEB-INF/struts-config.xml

struts 的相關路徑設定。

04. webapp/WEB-INF/roller-config.xml

關於 roller 使用者的預設設定。


常會發生的問題

01. tomcat 與 oracle 之間的溝通,請注意 tomcat、oracle 及 java 間的版本配合問題。

02. hibernat 裡關於 oracle 的設定方式。

03. oracle 可以連到,tomcat 也沒問題了,但是出現以下的狀況,就是資料庫欄位格式的關係。

  a. 一連進 roller 即出現 error message。

  b. 無法登入 roller ,出現 帳號與密碼不符的訊息。

  c. 不能更換 template,會出現 error message。


其餘 java 環境及系統方面的問題,請自行注意。