轉載請保留鏈接:http://www.swordair.com/blog/?p=374
假設你是一個(gè)項目管理者,可能聽(tīng)說(shuō)過(guò)redmine。它是一個(gè)項目管理系統的后起之秀,具備了廣泛的項目管理平臺特點(diǎn)同時(shí),還提供了諸多的獨有的特性。包括了內建的wiki、BUG問(wèn)題跟蹤、SVN集成等。本文將從頭開(kāi)始,詳細地構建起整個(gè)項目管理的系統。假設你的團隊正需要一個(gè)這樣的平臺,希望此文可以作為你的參考:)
你可以從本文中了解到如何配置好一個(gè)redmine系統,可能這中間會(huì )遇到些問(wèn)題,但它們會(huì )被解決,然后讓redmine跑在apache上。如何配置一個(gè)svn庫,然后集成到redmine中去。以及如何配置redmine的郵件通知。
假設你不打算親歷親為體驗這種繁復的安裝過(guò)程,你也完全可以使用BitNami的一體化安裝包,這會(huì )使得安裝部署redmine像安裝xampp一樣簡(jiǎn)單。
自ubuntu-10.04-LTS推出也已經(jīng)有一個(gè)月的時(shí)間,因此這次的系統就用它了~對Ubuntu我是很有偏愛(ài)啊~雖說(shuō)是一個(gè)完整的配置,但是涉及到的SVN以及Postfix只是略微講述,僅僅滿(mǎn)足于這個(gè)配置,目的是不讓此文變成長(cháng)篇大論,這兩者的討論遠遠超出了本文的范圍。不過(guò),我會(huì )給出一些的擴展閱讀,在那些擴展里可以找到你需要的內容。
然后讓我們開(kāi)始吧~
安裝ubuntu-10.04-server
這里配置的是Ubuntu server最新的10.04。關(guān)于系統安裝就不多說(shuō)什么了,塞進(jìn)光盤(pán)然后一路next~
[attach]145518[/attach]
系統初始配置信息。
IP:192.168.242.130
主機名:redmine
預裝選擇:LAMP server,Mail server,OpenSSH server
假設不需要redmine的郵件通知,或者不想自己搭建郵件服務(wù)器而使用已存在或者其他SMTP郵件服務(wù)來(lái)發(fā)送郵件的話(huà),可以不用安裝Mail server,即postfix。假設是這樣,那么下面的這步也可以省去。
[attach]145522[/attach]
完成安裝后,既然是新系統,就先更新到最新吧:) apt-get update
apt-get upgrade
復制代碼然后我們來(lái)開(kāi)始配置redmine。
獲取redmine及相關(guān)信息
redmine基于ROR,因此對于ROR的開(kāi)發(fā)人員來(lái)說(shuō)部署這個(gè)系統要比不了解ROR的人容易的多。這里假如你對ROR是有一定的了解的。假設不了解,照著(zhù)步驟做即可。
先找到redmine的下載,redmine的官方網(wǎng)站上有很多參考信息,下載列表則是在rubyforge.org上。
當前最新版本是0.9.4。redmine官方的安裝和配置文檔包含了linux和windows的配置,包括對系統需求。但可能文檔不盡詳盡,安裝中會(huì )遇到很多問(wèn)題。假設僅僅只是想體驗下安裝過(guò)程,并想知道怎么解決具體遇到的問(wèn)題,可以參看我之前寫(xiě)的redmine-0.9.x配置過(guò)程。
我將redmine放在/usr/local/里: cd /usr/local/
復制代碼獲取當前版本并解壓: wget
http://rubyforge.org/frs/download.php/70486/redmine-0.9.4.tar.gztar zxvf redmine-0.9.4.tar.gz
mv redmine-0.9.4 redmine
復制代碼配置mysql數據庫
數據庫是mysql,為redmine建立庫,庫名redmine。同時(shí)創(chuàng )建redmine用戶(hù),把庫的權限分配給這個(gè)用戶(hù)。最后設置用戶(hù)的密碼為'redminePASSWORD'。當然這里的庫名、用戶(hù)名和密碼,可以按實(shí)際情況替換。 mysql -u root -p
mysql> create database redmine character set utf8;
mysql> grant select,insert,delete,update,create,drop,alter,index on redmine.* to redmine;
mysql> SET PASSWORD FOR 'redmine' = PASSWORD('redminePASSWORD');
mysql> flush privileges;
mysql> exit;
復制代碼安裝與配置
進(jìn)入redmine的主目錄,開(kāi)始配置數據文件,把配置指向剛才建立的庫。 cd /usr/local/redmine
cp config/database.yml.example config/database.yml
vim config/database.yml
復制代碼配置production部分成如下所示。其中的database,username,password按實(shí)際情況替換。 production:
adapter: mysql
database: redmine
host: localhost
username: redmine
password: redminePASSWORD
encoding: utf8
復制代碼當前版本的需求是ruby 1.8.6, 1.8.7 Rails 2.3.5 Rack 1.0.1。為此首先安裝需要的包。 apt-get install rake rubygems libopenssl-ruby libmysql-ruby
復制代碼可以看到這些包被安裝: irb1.8 libmysql-ruby libmysql-ruby1.8 libopenssl-ruby
libopenssl-ruby1.8 libreadline-ruby1.8 libreadline5 libruby1.8 rake
rdoc1.8 ruby ruby1.8 rubygems rubygems1.8 unzip zip
復制代碼rake的安裝則必須指定版本: gem install rack --version=1.0.1
復制代碼上面這條命令在我以前寫(xiě)配置的時(shí)候一直有效,但是在編寫(xiě)此文時(shí),gem的在線(xiàn)安裝有些問(wèn)題。不知是出于網(wǎng)絡(luò )的問(wèn)題還是其他原因,我得到了下面的錯誤: WARNING: RubyGems 1.2+ index not found for:
http://gems.rubyforge.org/RubyGems will revert to legacy indexes degrading performance.
Bulk updating Gem source index for:
http://gems.rubyforge.org/ERROR: While executing gem ... (Gem::RemoteSourceException)
Error fetching remote gem cache: SocketError: getaddrinfo: Temporary failure in name resolution (
http://gems.rubyforge.org/yaml)
復制代碼google之后也沒(méi)能找到什么結果,因此只好本地安裝rack了。
下載對應的rack-1.0.1.gem到本地后安裝: wget
http://rubyforge.org/frs/download.php/65736/rack-1.0.1.gemgem install --local rack-1.0.1.gem
復制代碼繼續下面的步驟,生成會(huì )話(huà)存儲密鑰: RAILS_ENV=production rake config/initializers/session_store.rb
復制代碼注:r3055之后的版本移除了config/initializers/session_store.rb,使用下面的命令替代。 rake generate_session_store
復制代碼然后開(kāi)始創(chuàng )建數據庫表結構,在redmine的根目錄下運行: RAILS_ENV=production rake db:migrate
復制代碼讀取默認配置數據,當遇到選擇語(yǔ)言(Select language)時(shí),選擇zh: RAILS_ENV=production rake redmine:load_default_data
復制代碼Select language: bg, bs, ca, cs, da, de, el, en, es, fi, fr, gl, he, hr, hu, id, it, ja, ko, lt, nl, no, pl, pt, pt-BR, ro, ru, sk, sl, sr, sv, th, tr, uk, vi, zh, zh-TW [en]zh
====================================
Default configuration data loaded.
復制代碼至此,redmine簡(jiǎn)單的配置就完成了。使用其自帶的webrick來(lái)運行redmine,來(lái)檢查下redmine的配置吧:) ruby script/server webrick -e production
復制代碼默認的管理員用戶(hù)名和密碼都是admin,進(jìn)入系統后就可以開(kāi)始熟悉下了??梢詾槊總€(gè)人定義語(yǔ)言環(huán)境。下圖是管理頁(yè)面。
[attach]145519[/attach]
在apache上部署
其自帶的webrick可能不能滿(mǎn)足使用需求,那么就把它配置到apache上。
apache運行ROR有多種方式,這里使用passenger。 apt-get install build-essential
apt-get install apache2-prefork-dev libaprutil1-dev libapr1-dev ruby1.8-dev
復制代碼然后安裝 passenger gem install passenger
passenger-install-apache2-module
復制代碼假設報passenger-install-apache2-module這條命令找不到的話(huà),那么通過(guò)下面的命令查看執行路徑: gem environment
復制代碼RubyGems Environment:
- RUBYGEMS VERSION: 1.3.5
- RUBY VERSION: 1.8.7 (2010-01-10 patchlevel 249) [i486-linux]
- INSTALLATION DIRECTORY: /var/lib/gems/1.8
- RUBY EXECUTABLE: /usr/bin/ruby1.8
- EXECUTABLE DIRECTORY: /var/lib/gems/1.8/bin
- RUBYGEMS PLATFORMS:
- ruby
- x86-linux
- GEM PATHS:
- /var/lib/gems/1.8
- /root/.gem/ruby/1.8
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :benchmark => false
- :backtrace => false
- :bulk_threshold => 1000
- REMOTE SOURCES:
-
http://gems.rubyforge.org/復制代碼其中,EXECUTABLE DIRECTORY就是命令的全路徑,因此對于我例子里的情況執行 /var/lib/gems/1.8/bin/passenger-install-apache2-module
復制代碼根據提示安裝和部署。passenger會(huì )在本機編譯并成為apache的一個(gè)模塊。安裝過(guò)程中會(huì )遇到下面的提示信息(根據版本的不同,信息也會(huì )稍有變化): Welcome to the Phusion Passenger Apache 2 module installer, v2.2.13.
This installer will guide you through the entire installation process. It
shouldn't take more than 3 minutes in total.
Here's what you can expect from the installation process:
1. The Apache 2 module will be installed for you.
2. You'll learn how to configure Apache.
3. You'll learn how to deploy a Ruby on Rails application.
Don't worry if anything goes wrong. This installer will advise you on how to
solve any problems.
復制代碼The Apache 2 module was successfully installed.
Please edit your Apache configuration file, and add these lines:
LoadModule passenger_module /var/lib/gems/1.8/gems/passenger-2.2.13/ext/apache2/mod_passenger.so
PassengerRoot /var/lib/gems/1.8/gems/passenger-2.2.13
PassengerRuby /usr/bin/ruby1.8
After you restart Apache, you are ready to deploy any number of Ruby on Rails
applications on Apache, without any further Ruby on Rails-specific
configuration!
復制代碼Deploying a Ruby on Rails application: an example
Suppose you have a Rails application in /somewhere. Add a virtual host to your
Apache configuration file and set its DocumentRoot to /somewhere/public:
<VirtualHost *:80>
ServerName
www.yourhost.com DocumentRoot /somewhere/public # <-- be sure to point to 'public'!
<Directory /somewhere/public>
AllowOverride all # <-- relax Apache security settings
Options -MultiViews # <-- MultiViews must be turned off
</Directory>
</VirtualHost>
And that's it! You may also want to check the Users Guide for security and
optimization tips, troubleshooting and other useful information:
/var/lib/gems/1.8/gems/passenger-2.2.13/doc/Users guide Apache.html
Enjoy Phusion Passenger, a product of Phusion (
www.phusion.nl) :-)
http://www.modrails.com/Phusion Passenger is a trademark of Hongli Lai & Ninh Bui.
復制代碼根據提示信息部署,我這里的步驟稍有不同。
首先,編輯apache的配置文件并添加下面的信息: vim /etc/apache2/apache2.conf
復制代碼LoadModule passenger_module /var/lib/gems/1.8/gems/passenger-2.2.13/ext/apache2/mod_passenger.so
PassengerRoot /var/lib/gems/1.8/gems/passenger-2.2.13
PassengerRuby /usr/bin/ruby1.8
復制代碼然后添加一個(gè)站點(diǎn): vim redmine
復制代碼并添加如下內容: RailsBaseURI /redmine
復制代碼在web根目錄建立redmine主目錄的符號鏈接,并設置權限: ln -s /usr/local/redmine/public /var/www/redmine
chown -R www-data:www-data /var/www
復制代碼啟用redmine站點(diǎn): a2ensite redmine
復制代碼最后重啟apache: /etc/init.d/apache2 restart
復制代碼或,重新加載配置: /etc/init.d/apache2 reload
復制代碼打開(kāi)瀏覽器,假設你能夠訪(fǎng)問(wèn)到redmine,那么恭喜你,redmine已經(jīng)在apache上運行良好!
[attach]145520[/attach]
建立SVN版本庫
版本控制svn可以參考《subversion 權威指南》,網(wǎng)上也有很多下載。不過(guò)我不太喜歡這本書(shū),由于看起來(lái)會(huì )比較無(wú)聊:)
下面簡(jiǎn)單地安裝svn并建立一個(gè)測試用庫。
首先,安裝subversion版本控制: apt-get install subversion
復制代碼創(chuàng )建SVN的根目錄,這里我建在/var。然后建立一個(gè)演示用的庫。 cd /var
mkdir svn
cd svn
svnadmin create demo
復制代碼然后配置demo庫: cd demo/conf
ls -l
復制代碼conf目錄里是authz,passwd和svnserve.conf這三個(gè)文件,分別用于配置用戶(hù)權限、用戶(hù)密碼和配置此版本庫(demo)。 -rw-r--r-- 1 root root 1089 2010-06-04 14:45 authz
-rw-r--r-- 1 root root 335 2010-06-04 14:44 passwd
-rw-r--r-- 1 root root 2265 2010-06-04 14:44 svnserve.conf
復制代碼首先配置svnserve.conf的內容: