這幾天發(fā)現REDMINE這個(gè)項目管理軟件,從網(wǎng)上找了很多,但就是這個(gè)文章好點(diǎn),講的最細,但是美中不足的是,沒(méi)有講怎么在PHPNOW中安裝配置REDMIN!
作者:周敏龍
本文所用的軟件有:
● Redmine 0.8.2: http://rubyforge.org/projects/redmine/
● InstantRails-2.0-win: http://rubyforge.org/projects/instantrails/
本文介紹了如何在局域網(wǎng)的服務(wù)器上安裝Redmine,文中一部分是是網(wǎng)上下載的,一部分是自己的原創(chuàng )。由于本人要在公司的內部服務(wù)器上安裝一個(gè)Redmine,然而在網(wǎng)上找到的介紹Redmine的安裝的文章都大同小異,實(shí)踐過(guò)程中遇到了不少問(wèn)題。經(jīng)過(guò)幾天的奮戰,終于把Redmine完全安裝好了,現在把我自己的心得總結一下,以便大家在遇到同樣的問(wèn)題時(shí)少走一些彎路。
首先總結一下本文解決了哪些別人沒(méi)有解決的問(wèn)題:(1)將Redmine集成到了已有的PHPNow系統中;(2)總結了安裝InstantRails后應該修改哪些配置文件;(3)在非上網(wǎng)機上將RedMine安裝為Windows服務(wù),使其能開(kāi)機自動(dòng)運行。
1 Redmine介紹
是一個(gè)基于web的項目管理軟件,用Ruby開(kāi)發(fā)的。(可以想象成用php寫(xiě)的n個(gè)文件,可以在網(wǎng)頁(yè)上瀏覽,就像wordpress。)
Redmine:這是基于ROR(Ruby on Rails)框架開(kāi)發(fā)的一套跨平臺項目管理系統,是項目管理系統的后起之秀,據說(shuō)是源于Basecamp的ror版而來(lái),支持多種數據庫,除了和DotProject的功能大致相當外,還有不少自己獨特的功能,例如提供wiki、新聞臺、時(shí)間跟蹤、feed聚合、導出pdf等待,還可以集成其他版本管理系統和BUG跟蹤系統,例如SVN、CVS、TD等等。配置功能強大而且方便,自定義屬性和更新通知也很實(shí)用,詳細的介紹可以看看清華同方的redmine站點(diǎn)。中文版Redmine在線(xiàn)演示:ezWORK、英文版可看Redmine提供的官方演示。
協(xié)作對于一個(gè)團隊來(lái)說(shuō)至關(guān)重要,尤其是產(chǎn)品開(kāi)發(fā)的團隊,項目化的管理方式已經(jīng)深入人心,MS Project 所有做過(guò)項目管理的人都應該了解,但是每天面對一張靜態(tài)的甘特圖來(lái)分配資源、調整進(jìn)度的做法已經(jīng)不合時(shí)宜了,在 Web 服務(wù)盛行的時(shí)代,以溝通為核心概念的小型團隊項目管理服務(wù) Basecamp 取得了成功,同時(shí)還捧紅了 Ruby on Rails 框架。
溝通與共享是現代項目管理的核心,這種 Web 形式的項目管理系統通過(guò)“項目(Project)”的形式把成員、任務(wù)(問(wèn)題)、文檔、討論以及各種形式的資源組織在一起,大家參與更新任務(wù)、文檔等內容來(lái)推動(dòng)項目的進(jìn)度,同時(shí)系統利用時(shí)間線(xiàn)索(Timeline)和各種動(dòng)態(tài)的報表(Report)形式來(lái)自動(dòng)給成員匯報項目進(jìn)度。
在技術(shù)開(kāi)發(fā)領(lǐng)域,Bug 追蹤、Wiki 和 版本控制的集成對于項目管理系統來(lái)說(shuō)必不可少,當然能夠實(shí)現這些功能的系統也有很多,例如:
● Trac:基于 Python 的開(kāi)源程序,應該是最早將 Ticket 與項目結合起來(lái)的開(kāi)發(fā)管理系統,支持 Wiki、Timeline、Report 和項目模塊分級與里程碑定義,還能夠綁定查看SVN內容,簡(jiǎn)單易用,但是團隊開(kāi)發(fā)速度太慢,很多功能確實(shí),無(wú)法進(jìn)行權限分配、多項目管理,配置不夠靈活,實(shí)在有些遺憾
● Jira + Confluence:基于 Java 的 Bug 追蹤和企業(yè) Wiki 系統,需要購買(mǎi),而且很貴,Jira 的 Bug 和事務(wù)流管理能力很強大,Confluence 應該是目前最好的企業(yè) Wiki 系統,擴展性強,但是某些操作和體驗顯得有些跟不上時(shí)代
● ActiveCollab:基于 PHP 的 Web 項目管理程序,曾經(jīng)是開(kāi)源版本的,后來(lái)給商業(yè)化了,需要購買(mǎi),Trac 與 Basecamp 的模仿者,安裝和使用簡(jiǎn)單
還有許多 SaaS 方式的在線(xiàn)項目管理服務(wù),例如:Comindwork、LiquidPlanner 、MyQuire、ProjectSpaces、Huddle、PlanHQ、Goplan 等,不過(guò)介于中國的出口帶寬情況和用戶(hù)心態(tài)問(wèn)題,將重要的項目數據放在遙遠的第三方目前來(lái)說(shuō)還是有些不現實(shí)的…
啰嗦了很多,下面介紹主角 Redmine,一個(gè) Trac + Basecamp 的混合體,吸取了兩個(gè)系統的有點(diǎn),基于 Ruby on Rails 框架開(kāi)發(fā),開(kāi)放源代碼,可以跨平臺部署,indigo 覺(jué)得它應該是小型開(kāi)發(fā)團隊項目管理的首選系統。
功能:
● 多項目和子項目支持
● 可配置的用戶(hù)角色控制
● 可配置的問(wèn)題追蹤系統
● 自動(dòng)日歷和甘特圖繪制
● 支持 Blog 形式的新聞發(fā)布、Wiki 形式的文檔撰寫(xiě)和文件管理
● RSS 輸出和郵件通知
● 每個(gè)項目可以配置獨立的 Wiki 和論壇模塊
● 簡(jiǎn)單的任務(wù)時(shí)間跟蹤機制
● 用戶(hù)、項目、問(wèn)題支持自定義屬性
● 支持多種版本控制系統的綁定(SVN、CVS、Git、Mercurial 和 Darcs)
● 支持多 LDAP 用戶(hù)認證
● 支持用戶(hù)自注冊和用戶(hù)激活
● 多語(yǔ)言支持(已經(jīng)內置了zh簡(jiǎn)體中文)
● 多數據庫支持(MySQL、SQLite、PostgreSQL)
● 外觀(guān)模版化定制(可以使用 Basecamp 的主題,感覺(jué)上就像是自己架設的 Basecamp 服務(wù))
2 Redmine安裝與配置
下載InstantRails,解壓出來(lái)??梢园袸nstantRails想象成要在本機配置php服務(wù)器,里面有mysql,phpmyadmin等等。國內我覺(jué)得比較好的有“PHPNOW”)下載的包是綠色包,里面有mysql數據庫phpmyadmin等等,直接復制到任意一個(gè)文件夾里面即可。注意,路徑中不要有空格!
2.1 Redmine安裝
現在redmine用到的數據庫和Instantrails里面的MySQL數據庫是脫離的,也就是說(shuō),接下來(lái)的任務(wù),實(shí)際上是將redmine的數據與數據庫關(guān)聯(lián),即:導入一些數據庫到MySQL里面。僅此而已?。梢韵胂笕缤趐hpMyAdmin里面導入*.sql的文件,導入數據庫。)
方法:
1) “PHPnowCNGR/rails_apps/redmine/config"下,有文件“database.yml.example”,重命名一下,改成“database.yml”。我的想法是大概將如同*.doc.bak文件的bak去掉吧。這個(gè)是redmine數據庫的配置文件,里面有數據庫的相關(guān)信息。
內容包括:
production:
adapter: mysql
database: redmine
host: localhost
username: root
password:
encoding: utf8
development:
adapter: mysql
database: redmine_development
host: localhost
username: root
password:
encoding: utf8
test:
adapter: mysql
database: redmine_test
host: localhost
username: root
password:
encoding: utf8
2) 點(diǎn)擊“InstantRails”目錄里面的“InstantRails.exe”文件。這就是啟動(dòng)環(huán)境(Apache)的主程序了。
3) 進(jìn)入phpMyAdmin下,新建三個(gè)數據庫(用sql命令方式):
create database redmine character set utf8;
?。ㄗⅲ哼M(jìn)入phpmyadmin下有兩種方式。法1:瀏覽器輸入http://127.0.0.1/mysql/ 法2:InstantRails界面(就是剛才點(diǎn)擊InstantRails.exe后的程序界面)的I→Configure→Database (via PhpMyAdmin)”。如果該欄是灰色的,表示你安裝后沒(méi)重啟機器。重啟一下即可。這個(gè)問(wèn)題郁悶了我N個(gè)小時(shí))
4) 往數據庫里面導入數據
點(diǎn)擊InstantRails界面(就是剛才點(diǎn)擊InstantRails.exe后的程序界面)的I→Rails Applications→Open Ruby Console Window欄目,然后會(huì )跳出dos窗口。在里面輸入命令:
cd redmine-0.8.2
rake db:migrate RAILS_ENV="production"
rake load_default_data RAILS_ENV="production"
其中rake db:migrate RAILS_ENV="production" 是創(chuàng )建數據庫;rake load_default_data RAILS_ENV="production" 是指明當前項目運行環(huán)境為production ,中間會(huì )提示選擇語(yǔ)言,選擇 zh(中文) 。
5) 現在配置結束了,點(diǎn)擊InstantRails界面(就是剛才點(diǎn)擊InstantRails.exe后的程序界面)的I→Rails Applications→Manage Rails Applications欄目,如下,點(diǎn)擊“Start with Mongrel”(啟動(dòng)redmine這個(gè)應用程序)。跳出一個(gè)dos窗口,不要關(guān)閉?,F在就可以瀏覽你配置好的RedMine了。
6) 瀏覽器輸入:http://localhost:3000/ 即可。(注意:管理員id和密碼都是“admin”。界面還是英文界面,登錄后可以在“設置”里面更改成“簡(jiǎn)體中文”。)
zml:如果使用InstantRails啟動(dòng)Redmine,則以下配置文件中的路徑需要修改為InstantRails安裝的實(shí)際路徑:
● E:\InstantRails\InstantRails.ini
● E:\InstantRails\use_ruby.cmd
● E:\InstantRails\apache\conf\httpd.conf
● E:\InstantRails\apache\php.ini
● E:\InstantRails\mysql\my.ini
2.2 配置郵件通知
Redmin可以為一些操作提供郵件通知如主題改變,新增問(wèn)題等,這樣可以讓開(kāi)發(fā)人員及時(shí)知道變化。在使用此功能前需要先配置郵件服務(wù)器,將C:\InstantRails\rails_apps\redmine-0.8.0\config目錄下的email.yml.example更名為email.yml,然后用文本編輯器打開(kāi)此文件,將內容改為如下:
# Outgoing email settings
production:
delivery_method: :smtp
smtp_settings:
address: smtp.163.com
port: 25
domain: 163.com
authentication: :login
user_name: PM@163.com
password: 123456
development:
delivery_method: :smtp
smtp_settings:
address: smtp.163.com
port: 25
domain: 163.com
authentication: :login
user_name: PM@163.com
password: 123456
這里我采用的是163的Smtp服務(wù)器來(lái)發(fā)送郵件
然后就可以在Redmine的界面中啟用郵件通知,設置一下發(fā)件人地址和簽名即可。
2.3 集成SubVersion
集成SubVersion就很簡(jiǎn)單了,在版本庫頁(yè)面選擇Subersion,然后填寫(xiě)SVN倉庫的url和登錄Subversion的用戶(hù)名,密碼即可通過(guò)Redmine查看svn倉庫中的文件并可比較差異。
2.4 Redmine的WIKI
Redmine的Wiki功能比較簡(jiǎn)單,使用wiki時(shí)一定要注意在標記的前后都要留有空格,否則會(huì )無(wú)效如變粗字體:*Ning* 其中第一個(gè) * 的前面要留有一個(gè)空格,而第二個(gè)*后面也要留有一個(gè)空格,其他標記類(lèi)似。
在Redmine中可以自定義工作流程,工作流程是指某一個(gè)角色針對某一類(lèi)問(wèn)題(如功能,缺陷和支持)的狀態(tài)遷移規則,此時(shí)該類(lèi)問(wèn)題就被跟蹤(此時(shí)該類(lèi)問(wèn)題也稱(chēng)之為T(mén)racker),狀態(tài)遷移規則決定了某類(lèi)問(wèn)題是否可以從一個(gè)狀態(tài)遷移到另外一個(gè)狀態(tài)
2.5 更改Theme
下載Theme,這里我用黑黑的BaseCamp的Style :)
1.下載地址
http://theill.com/stuff/redmine/themes/basecamp/stylesheets/application.css
2.安裝方法
在public\themes下新建目錄basecamp,加入樣式目錄stylesheets,再把css文件加入其中即可,至于如何選用,下面運行Redmine之后進(jìn)去玩玩,就能找到了,很easy的:)
2.6 Redmine如何與PHPNow集成
作者按:網(wǎng)上介紹的安裝方法一般都是使用InstantRails的,InstantRails中包含了Apache、MySQL。如果已經(jīng)安裝了PHPNow,則同時(shí)啟動(dòng)兩套Apache和MySQL總是一件不爽的事。實(shí)際上,我們只要把InstantRails中的兩個(gè)目錄拷貝到PHPNow中就可以了:Rails-apps、Ruby。
3 Redmine的啟動(dòng)
3.1 命令行啟動(dòng)Redmine
3.1.1 方法1:
使用如下命令行可以啟動(dòng)Redmine:
CD E:\PHPnowCNGR
PATH E:\PHPnowCNGR\ruby\bin;E:\PHPnowCNGR\mysql\bin;%PATH%
cd rails_apps\redmine-0.8.2
mongrel_rails start -e production -p 3000
注意:上面最后一條命令必須在Redmine所在的目錄下執行!
3.1.2 方法2:
在Redmine目錄下執行:
CD E:\PHPnowCNGR
:PATH E:\PHPnowCNGR\ruby\bin;E:\PHPnowCNGR\mysql\bin;%PATH%
cd rails_apps\redmine-0.8.2
ruby script/server -e production
要求同方法1。如果在其他目錄下執行會(huì )出錯!
3.2 將RedMine安裝為Windows服務(wù),開(kāi)機自動(dòng)運行
前段時(shí)間用的RedMine,Ruby on Rails寫(xiě)的,通過(guò)命令行ruby命令啟動(dòng),不太方便。因為當系統自動(dòng)更新重啟之后,所有用戶(hù)就成了注銷(xiāo)狀態(tài),用戶(hù)態(tài)下執行的命令行進(jìn)程自然也就沒(méi)了。
RedMine現在在我們組儼然成了最重要的工具,開(kāi)機不能自動(dòng)啟動(dòng)可不行。
Ruby提供一個(gè)安裝Ruby程序為服務(wù)的包:mongrel_service。安裝其實(shí)很簡(jiǎn)單,只要命令行下運行g(shù)em:
步驟1:下載和更新mongrel_service
gem install mongrel_service
此過(guò)程中會(huì )下載一些其他必須的包。
經(jīng)實(shí)驗發(fā)現如果沒(méi)有上網(wǎng),則執行該命令后會(huì )產(chǎn)生如下顯示:
E:\PHPnowCNGR>cd rails_apps
E:\PHPnowCNGR\rails_apps>gem install mongrel_service
ERROR: While executing gem ... (Gem::RemoteFetcher::FetchError)
getaddrinfo: no address associated with hostname. (SocketError)
getting size of http://gems.rubyforge.org/Marshal.4.8
作者按:如果是在沒(méi)有連接互聯(lián)網(wǎng)的機器上執行該命令,則顯示以上信息后就退出了。解決的辦法是:先在上網(wǎng)機上執行以上命令,完成后會(huì )下載一些文件到 .\ruby\lib\ruby\gems 目錄中,其中 .\ruby\lib\ruby\gems\1.8\gems\mongrel_service-0.3.4-x86-mswin32\bin 目錄中有一個(gè)文件 mongrel_service.exe(本文的附件即為此文件) ,把這個(gè)文件拷貝到 .\ruby\bin 下就可以繼續執行后面的命令了!
步驟2:使用mongrel_service安裝Redmine服務(wù)
然后將RedMine使用mongrel_service安裝成Windows服務(wù):
mongrel_rails service::install -N RedMine -c D:\WebRoot -p 80 –e production
mongrel_rails service::install -N RedMine -c E:\PHPnowCNGR\rails_apps\redmine-0.8.2 -p 80 –e production
這里,我指定服務(wù)名為RedMine,我的RedMine在D:\WebRoot,你的要修改,注意指向truck的根目錄。監聽(tīng)80端口。
步驟3:修改RedMine服務(wù)
然后修改啟動(dòng)方式為自動(dòng)啟動(dòng),并添加MySQL服務(wù)為其依賴(lài)服務(wù)(如果你的MySQL服務(wù)器不是本機就不用麻煩了):
sc config RedMine start= auto depend= MySQL5_pn
注意,執行sc config系列指令,服務(wù)必須是未啟動(dòng)的才行,否則會(huì )出錯。
作者按:特別需要注意的是:”atart=”和”depend=”后面必須有空格,否則不能正確執行
步驟4(刪除時(shí)使用):刪除RedMine服務(wù)
將來(lái)如果想去掉這個(gè)服務(wù),只要執行:
mongrel_rails service::remove -N RedMine
作者周敏龍祝大家使用Redmine愉快!
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請
點(diǎn)擊舉報。