Apache Roller簡介

來源:互聯網
上載者:User

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工具,安裝和使用非常簡便。更多的設定以及功能,可以通過配置屬性檔案來完成。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.