Apache Roller簡介

Apache Roller簡介
0.簡介
本文主要介紹了Apache Roller這一Web Blogger的下載、安裝、設置以及使用。

1.下載
在Apache的官方網站下載Roller。可以下載Roller的source來進行build或者直接獲取binary。
可以在http://roller.apache.org/download.cgi#roller40獲取最新的Roller二進制發佈包,源代碼以及相關的幫助文檔。
如果要獲取Roller的整個源代碼結構,可以通過svn來獲取:
可以使用svn客戶端獲取最新的roller源代碼:
svn co https://svn.apache.org/repos/asf/roller/trunk roller
已經發布的版本代碼標記爲:
*  roller/tag/roller_4.0.1 - final Roller 4.0 release
*  roller/tag/roller_4.0 - final Roller 4.0 release
*  ...
筆者使用的版本是4.0.1GA(General Available)版本。
筆者將整個的源代碼checkout到NetBeans的workspace中以便查看一些模塊的設計思想。例如發送郵件通知模塊等等。
如果從source進行build,那麼需要預先安裝J2SE5.0以及Apache Ant。
{
從source構建roller和很簡單,只是運行ant腳本即可。
source的結構如下:
   apps/weblogger    - Roller Weblogger source code
   apps/planet           - Roller Planet source code
   components/core  - Roller "Core" or shared code
   tools                       - Dependencies
Roller4.0.1使用ant作爲build工具,可以通過運行:
ant build            - build roller
ant tests            - unit test
運行ant build之後,二進制的程序位於$/roller_4.0.1/apps/weblogger/dist目錄下。
}

2.快速安裝
無論是從source進行build,還是直接下載二進制的發佈包,內容都是一樣的。
安裝的過程如下:
a.安裝MySQL(可以從MySQL官方網站下載Free的社區版)
筆者使用的MySQL是5.0版本。
同時需要下載connector-j的JDBC驅動程序。
b.創建初始的數據庫和用戶
打開命令行提示符,運行如下的命令:
>mysql -u root -p
Enter password: ********
Welcome to the MySQL monitor.  Commands end with ; or /g.
Your MySQL connection id is 1
Server version: 5.0.67-community-nt MySQL Community Edition (GPL)

Type 'help;' or '/h' for help. Type '/c' to clear the buffer.

mysql> create database rollerdb;
Query OK, 1 row affected (0.06 sec)

mysql> grant all on rollerdb.* to scott@'%' identified by 'tiger';
Query OK, 0 rows affected (0.13 sec)

mysql> grant all on rollerdb.* to scott@localhost identified by 'tiger';
Query OK, 0 rows affected (0.00 sec)
c.創建roller-custom.properties
在類路徑上創建roller-custom.properties文件(例如如果使用Tomcat作爲server,那麼將roller-custom.properties文件放在common/classes目錄下(tomcat5)或者lib目錄下(tomcat6)),文件的內容如下:
installation.type=auto
database.configurationType=jdbc
database.jdbc.driverClass=com.mysql.jdbc.Driver
database.jdbc.connectionURL=jdbc:mysql://localhost:3306/rollerdb
database.jdbc.username=scott
database.jdbc.password=tiger
mail.configurationType=properties
mail.hostName=smtp-server.example.com
mail.username=scott
mail.password=tiger
該文件定義了數據庫以及mail的相關配置信息。
d.檢查Servlet容器的JDBC和JavaMail的設置情況
確保JDBC驅動程序包含在類路徑上,如果Servlet容器爲Tomcat,那麼將下載的MySQL的驅動程序以及JavaMail和Activation的jar文件部署在common/lib(tomcat5)或者lib(tomcat6)目錄下。
e.部署Roller
使用Servlet容器的管理控制檯將Roller發佈。Rollor的WAR目錄爲roller安裝目錄的webapp/roller。
也可以將webapp/roller目錄拷貝到Tomcat的webapps目錄下。
f.運行Roller
打開瀏覽器,在地址欄內輸入http://localhost:8080/roller。Tomcat的默認監聽端口爲8080,筆者的8080端口已經被佔用,所以使用http://localhost:8090/roller代替。
啓動服務器的時候,可以看到Roller Weblogger的讀取custom properties文件的消息。
此時如果配置正確,應該可以運行Roller應用。
在初始運行Roller的時候,會檢測數據庫是否已經初始化完畢,如果是第一次運行,那麼會提示用戶數據庫表結構等沒有創建,用戶可以創建數據庫表結構,創建成功後,會打印日誌消息。
一旦數據庫創建成功,那麼就可以進行用戶創建、新建blog以及設置frontpage。
3.Roller安裝注意事項
Roller是一個數據庫驅動的Java web應用程序,爲了運行Roller,需要Java,Java Servlet容器和一個數據庫。
從Roller4.0開始,對Java SDK的要求爲5.0
可以使用Java應用服務器或者servlet容器就可以運行Roller,servlet容器必須支持Servlet2.4 API。Roller社區推薦的服務器爲Tomcat5.5,6.0,Sun Web Servlet 7.0以及Glassfish 2.0。
可以使用MySQL或者Apache Derby作爲關係數據庫。Roller社區推薦使用這兩種數據庫,但是對於其他的數據庫,Roller也包含了創建數據庫的腳本,例如DB2,Derby,HSQL-DB,MS SQL Server,MySQL,Oracle和PostgreSQL。
針對Tomcat,需要下載java mail和activation的相關jar文件放在類路徑上面,因爲tomcat不包含它們。另外,需要修改tomcat的$home/conf/server.xml文件,添加Unicode支持:
<Connector port="8080"
      maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
      enableLookups="false" redirectPort="8443" debug="0"
      acceptCount="100" connectionTimeout="20000"
      disableUploadTimeout="true"
      URIEncoding="UTF-8" />
並確保對於每個connector,都進行了上述的設置,例如AJP或者HTTPS。
   
對於MySQL數據庫,如果MySQL的版本爲4.1.x,那麼使用J/Connector 3.0.x JDBC驅動,而不是3.1.X。如果版本是5.x,那麼使用J/Connector 3.1.x JDBC驅動。確保MySQL支持UTF-8字符集。
對於Oracle數據庫,使用10g版本的驅動程序,即ojdbc14.jar,即使數據庫服務器是Oracle 9.

4.關於roller配置文件
可以只通過roller-custom.properties文件來配置Roller。該文件是一個java屬性文件,用於覆蓋Roller內部的roller.properties文件。也就是說,在roller.properties文件的中可以設置的內容,都可以通過在roller-custom.properties設置進行覆蓋。roller.properties內容如下:
# 手動還是自動創建數據庫
installation.type=manual

# 指定數據庫的連接方式是jndi還是jdbc
database.configurationType=jndi

# 如果設置爲jndi,那麼使用如下的jndi名稱
database.jndi.name=jdbc/rollerdb

# 對於jdbc,必須覆蓋如下的jdbc配置
database.jdbc.driverClass=
database.jdbc.connectionURL=
database.jdbc.username=
database.jdbc.password=

# 指定郵件配置類型是jndi還是屬性文件=or 'properties'
mail.configurationType=jndi

# 如果是jndi,那麼使用下面的jndi名稱
mail.jndi.name=mail/Session

# 如果是屬性文件配置,必須設置主機名
mail.hostname=

# 必須覆蓋用戶名和密碼
#mail.username=
#mail.password=

# 上傳文件的位置
uploads.dir=${user.home}/roller_data/uploads

# 可用資源文件路徑
uploads.url=/resources

# 創建檢索索引的目錄
search.index.dir=${user.home}/roller_data/search-index

# 主題包存儲目錄
themes.dir=${webapp.context}

# 啓用/禁用組博客
groupblogging.enabled=true

# 啓用/禁用博客索引以及檢索servlet
search.enabled=true

# 在檢索中是否包含評論
search.index.comments=true

# 評論和跟蹤
comment.notification.hideCommenterAddresses=false

# 評論設置,最大評論數,最大間隔等
comment.throttle.enabled=false
comment.throttle.threshold=25
comment.throttle.interval=60
comment.throttle.maxentries=250

# 可插拔評論授權
comment.authenticator.classname=/
org.apache.roller.weblogger.ui.rendering.plugins.comments.MathCommentAuthenticator

# 可插拔評論驗證
comment.validator.classnames=/
org.apache.roller.weblogger.ui.rendering.plugins.comments.BlacklistCommentValidator,/
org.apache.roller.weblogger.ui.rendering.plugins.comments.ExcessLinksCommentValidator,/
org.apache.roller.weblogger.ui.rendering.plugins.comments.ExcessSizeCommentValidator
#org.apache.roller.weblogger.ui.rendering.plugins.comments.AkismetCommentValidator

comment.validator.excessLinks.threshold=3
comment.validator.excessSize.threshold=1000
#comment.validator.akismet.key=<get one at wordpress.com>

# pluggable comment formatters
comment.formatter.classnames=/
org.apache.roller.weblogger.business.plugins.comment.LinkMarkupPlugin,/
org.apache.roller.weblogger.business.plugins.comment.AutoformatPlugin,/
org.apache.roller.weblogger.business.plugins.comment.HTMLSubsetPlugin

# 啓用評論和跟蹤黑名單
site.blacklist.enable.comments=true
site.blacklist.enable.trackbacks=true

.......
    在該文件中,包含了非常多的自定義以及可插拔的設置,都可以通過在roller-custom.properties文件中進行覆蓋。

5.使用Roller
啓動服務器並進入Roller後,如果數據庫的配置錯誤導致無法訪問數據庫,會在頁面中給出錯誤提示信息。如果一切正常的話,會提示創建數據庫表(首次運行,並且installation.type=auto)或者進入Roller系統。
如果Roller啓動後,沒有發現front-page weblog,那麼將會顯示提示用戶完成安裝過程的畫面,寶貨註冊用戶,創建weblog以及設置網站的front page。如果只是個人使用的博客系統,那麼可以設置個人的博客作爲網站的首頁。如果是用來運行一個社區,包含多個用戶的博客,那麼可能需要顯示一個集成的front-page來組合站點的所有博客。此時,創建一個博客來作爲front-page,並確保在Server Admin頁面設置了aggregated front-page選項。
安裝完成之後,要在roller-custom.properties文件中將installation.type=auto修改爲installation.type=manual。需要重啓服務器來使修改生效。(爲了避免忘記修改而重新初始化數據庫,建議直接運行roller的數據庫創建腳本,而不是在開始的時候將其設置爲auto,數據庫腳本位於$tomcat.home/webapps/roller/WEB-INF//classes/dbscripts目錄下,該目錄下包含了幾種類型的數據庫創建腳本)

6.小結
本文簡要介紹了Roller的安裝和使用,Roller作爲weblog工具,安裝和使用非常簡便。更多的設置以及功能,可以通過配置屬性文件來完成。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章