|
Redmine+Apache+SVN+Postfix完整配置指南
轉(zhuǎn)載請保留鏈接:http://www./blog/?p=374
假設(shè)你是一個項目管理者,可能聽說過redmine。它是一個項目管理系統(tǒng)的后起之秀,具備了廣泛的項目管理平臺特點同時,還提供了諸多的獨有的特性。包括了內(nèi)建的wiki、BUG問題跟蹤、SVN集成等。本文將從頭開始,詳細地構(gòu)建起整個項目管理的系統(tǒng)。假設(shè)你的團隊正需要一個這樣的平臺,希望此文可以作為你的參考:) 你可以從本文中了解到如何配置好一個redmine系統(tǒng),可能這中間會遇到些問題,但它們會被解決,然后讓redmine跑在apache上。如何配置一個svn庫,然后集成到redmine中去。以及如何配置redmine的郵件通知。 假設(shè)你不打算親歷親為體驗這種繁復(fù)的安裝過程,你也完全可以使用BitNami的一體化安裝包,這會使得安裝部署redmine像安裝xampp一樣簡單。 自ubuntu-10.04-LTS推出也已經(jīng)有一個月的時間,因此這次的系統(tǒng)就用它了~對Ubuntu我是很有偏愛啊~雖說是一個完整的配置,但是涉及到的SVN以及Postfix只是略微講述,僅僅滿足于這個配置,目的是不讓此文變成長篇大論,這兩者的討論遠遠超出了本文的范圍。不過,我會給出一些的擴展閱讀,在那些擴展里可以找到你需要的內(nèi)容。 然后讓我們開始吧~ 安裝ubuntu-10.04-server 這里配置的是Ubuntu server最新的10.04。關(guān)于系統(tǒng)安裝就不多說什么了,塞進光盤然后一路next~ [attach]145518[/attach] 系統(tǒng)初始配置信息。 IP:192.168.242.130 主機名:redmine 預(yù)裝選擇:LAMP server,Mail server,OpenSSH server 假設(shè)不需要redmine的郵件通知,或者不想自己搭建郵件服務(wù)器而使用已存在或者其他SMTP郵件服務(wù)來發(fā)送郵件的話,可以不用安裝Mail server,即postfix。假設(shè)是這樣,那么下面的這步也可以省去。 [attach]145522[/attach] 完成安裝后,既然是新系統(tǒng),就先更新到最新吧:) apt-get update apt-get upgrade 復(fù)制代碼然后我們來開始配置redmine。 獲取redmine及相關(guān)信息 redmine基于ROR,因此對于ROR的開發(fā)人員來說部署這個系統(tǒng)要比不了解ROR的人容易的多。這里假如你對ROR是有一定的了解的。假設(shè)不了解,照著步驟做即可。 先找到redmine的下載,redmine的官方網(wǎng)站上有很多參考信息,下載列表則是在上。 當(dāng)前最新版本是0.9.4。redmine官方的安裝和配置文檔包含了linux和windows的配置,包括對系統(tǒng)需求。但可能文檔不盡詳盡,安裝中會遇到很多問題。假設(shè)僅僅只是想體驗下安裝過程,并想知道怎么解決具體遇到的問題,可以參看我之前寫的redmine-0.9.x配置過程。 我將redmine放在/usr/local/里: cd /usr/local/ 復(fù)制代碼獲取當(dāng)前版本并解壓: wget http:///frs/download.php/70486/redmine-0.9.4.tar.gz tar zxvf redmine-0.9.4.tar.gz mv redmine-0.9.4 redmine 復(fù)制代碼配置mysql數(shù)據(jù)庫 數(shù)據(jù)庫是mysql,為redmine建立庫,庫名redmine。同時創(chuàng)建redmine用戶,把庫的權(quán)限分配給這個用戶。最后設(shè)置用戶的密碼為'redminePASSWORD'。當(dāng)然這里的庫名、用戶名和密碼,可以按實際情況替換。 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; 復(fù)制代碼安裝與配置 進入redmine的主目錄,開始配置數(shù)據(jù)文件,把配置指向剛才建立的庫。 cd /usr/local/redmine cp config/database.yml.example config/database.yml vim config/database.yml 復(fù)制代碼配置production部分成如下所示。其中的database,username,password按實際情況替換。 production: adapter: mysql database: redmine host: localhost username: redmine password: redminePASSWORD encoding: utf8 復(fù)制代碼當(dāng)前版本的需求是ruby 1.8.6, 1.8.7 Rails 2.3.5 Rack 1.0.1。為此首先安裝需要的包。 apt-get install rake rubygems libopenssl-ruby libmysql-ruby 復(fù)制代碼可以看到這些包被安裝: 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 復(fù)制代碼rake的安裝則必須指定版本: gem install rack --version=1.0.1 復(fù)制代碼上面這條命令在我以前寫配置的時候一直有效,但是在編寫此文時,gem的在線安裝有些問題。不知是出于網(wǎng)絡(luò)的問題還是其他原因,我得到了下面的錯誤: WARNING: RubyGems 1.2+ index not found for: http://gems./ RubyGems will revert to legacy indexes degrading performance. Bulk updating Gem source index for: http://gems./ ERROR: While executing gem ... (Gem::RemoteSourceException) Error fetching remote gem cache: SocketError: getaddrinfo: Temporary failure in name resolution (http://gems./yaml) 復(fù)制代碼google之后也沒能找到什么結(jié)果,因此只好本地安裝rack了。 下載對應(yīng)的rack-1.0.1.gem到本地后安裝: wget http:///frs/download.php/65736/rack-1.0.1.gem gem install --local rack-1.0.1.gem 復(fù)制代碼繼續(xù)下面的步驟,生成會話存儲密鑰: RAILS_ENV=production rake config/initializers/session_store.rb 復(fù)制代碼注:r3055之后的版本移除了config/initializers/session_store.rb,使用下面的命令替代。 rake generate_session_store 復(fù)制代碼然后開始創(chuàng)建數(shù)據(jù)庫表結(jié)構(gòu),在redmine的根目錄下運行: RAILS_ENV=production rake db:migrate 復(fù)制代碼讀取默認配置數(shù)據(jù),當(dāng)遇到選擇語言(Select language)時,選擇zh: RAILS_ENV=production rake redmine:load_default_data 復(fù)制代碼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. 復(fù)制代碼至此,redmine簡單的配置就完成了。使用其自帶的webrick來運行redmine,來檢查下redmine的配置吧:) ruby script/server webrick -e production 復(fù)制代碼默認的管理員用戶名和密碼都是admin,進入系統(tǒng)后就可以開始熟悉下了??梢詾槊總€人定義語言環(huán)境。下圖是管理頁面。 [attach]145519[/attach] 在apache上部署 其自帶的webrick可能不能滿足使用需求,那么就把它配置到apache上。 apache運行ROR有多種方式,這里使用passenger。 apt-get install build-essential apt-get install apache2-prefork-dev libaprutil1-dev libapr1-dev ruby1.8-dev 復(fù)制代碼然后安裝 passenger gem install passenger passenger-install-apache2-module 復(fù)制代碼假設(shè)報passenger-install-apache2-module這條命令找不到的話,那么通過下面的命令查看執(zhí)行路徑: gem environment 復(fù)制代碼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./ 復(fù)制代碼其中,EXECUTABLE DIRECTORY就是命令的全路徑,因此對于我例子里的情況執(zhí)行 /var/lib/gems/1.8/bin/passenger-install-apache2-module 復(fù)制代碼根據(jù)提示安裝和部署。passenger會在本機編譯并成為apache的一個模塊。安裝過程中會遇到下面的提示信息(根據(jù)版本的不同,信息也會稍有變化): 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. 復(fù)制代碼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! 復(fù)制代碼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. 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.) :-) http://www./ Phusion Passenger is a trademark of Hongli Lai & Ninh Bui. 復(fù)制代碼根據(jù)提示信息部署,我這里的步驟稍有不同。 首先,編輯apache的配置文件并添加下面的信息: vim /etc/apache2/apache2.conf 復(fù)制代碼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 復(fù)制代碼然后添加一個站點: vim redmine 復(fù)制代碼并添加如下內(nèi)容: RailsBaseURI /redmine 復(fù)制代碼在web根目錄建立redmine主目錄的符號鏈接,并設(shè)置權(quán)限: ln -s /usr/local/redmine/public /var/www/redmine chown -R www-data:www-data /var/www 復(fù)制代碼啟用redmine站點: a2ensite redmine 復(fù)制代碼最后重啟apache: /etc/init.d/apache2 restart 復(fù)制代碼或,重新加載配置: /etc/init.d/apache2 reload 復(fù)制代碼打開瀏覽器,假設(shè)你能夠訪問到redmine,那么恭喜你,redmine已經(jīng)在apache上運行良好! [attach]145520[/attach] 建立SVN版本庫 版本控制svn可以參考《subversion 權(quán)威指南》,網(wǎng)上也有很多下載。不過我不太喜歡這本書,由于看起來會比較無聊:) 下面簡單地安裝svn并建立一個測試用庫。 首先,安裝subversion版本控制: apt-get install subversion 復(fù)制代碼創(chuàng)建SVN的根目錄,這里我建在/var。然后建立一個演示用的庫。 cd /var mkdir svn cd svn svnadmin create demo 復(fù)制代碼然后配置demo庫: cd demo/conf ls -l 復(fù)制代碼conf目錄里是authz,passwd和svnserve.conf這三個文件,分別用于配置用戶權(quán)限、用戶密碼和配置此版本庫(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 復(fù)制代碼首先配置svnserve.conf的內(nèi)容: anon-access 匿名訪問默認權(quán)限,默認為read。 auth-access 授權(quán)訪問默認權(quán)限,默認為write。 password-db 用戶密碼文件,默認為與svnserve.conf同目錄的passwd文件。 authz-db 用戶授權(quán)文件,默認為與svnserve.conf同目錄的authz文件。 realm 顯示庫名 需要注意的是,每行開頭不能留空格。 [general] anon-access = read auth-access = write password-db = passwd authz-db = authz realm = Demo Repository 復(fù)制代碼passwd文件里存儲的是用戶名和密碼,一行一條記錄。 [users] redmine = redminePASSWORD 復(fù)制代碼authz是授權(quán)文件,配置著每個用戶和組的權(quán)利,下面是把redmine用戶放到redmine_group組里并賦予redmine_group組demo庫的讀寫權(quán)限。 [groups] dev = redmine [demo:/] @dev = rw 復(fù)制代碼簡單配置完后,啟動svnserve: svnserve -d -r /var/svn 復(fù)制代碼最后將SVN服務(wù)加入自啟動: cd /etc/rc2.d vim S88svnserve 復(fù)制代碼并在文件S88svnserve中添加上面的啟動命令 svnserve -d -r /var/svn 復(fù)制代碼最后還不能忘了加上執(zhí)行權(quán)限: chmod +x S88svnserve 復(fù)制代碼然后,在redmine中對應(yīng)項目的配置里,指向?qū)?yīng)的版本庫。 [attach]145521[/attach] 郵件配置 這里讓redmine用默認配置的Postfix來發(fā)送郵件。假設(shè)在安裝ubuntu的時候沒有安裝郵件服務(wù)器,這里也可以通過下面的命令來安裝: apt-get install postfix 復(fù)制代碼這里之因此要特意配置個郵件服務(wù)器,完全是為了使整個redmine系統(tǒng)完整。完全可以使用其他郵件服務(wù)。 默認配置的Postfix已經(jīng)能夠滿足當(dāng)前的發(fā)信情況。關(guān)于郵件系統(tǒng)和Postfix的討論嚴(yán)重超出了本文范圍,對于不熟悉Postfix的人,我推薦閱讀Postfix基礎(chǔ)配置,假設(shè)想了解更多,可以閱讀Postfix虛擬郵件系統(tǒng)完全配置(盡管此文還未完全完成)。 假設(shè)想要知道郵件系統(tǒng)的來龍去脈,郵件服務(wù)器如何處理郵件,那么我強烈建議閱讀《Postfix權(quán)威指南》一書,這本書對于郵件系統(tǒng)的講解深入淺出,是本好書。 redmine郵件的配置文件同樣在主目錄的config里: cp email.yml.example email.yml vim email.yml 復(fù)制代碼移動到末尾可以看到默認的配置,將production改為如下所示。其中的域名等信息按實際情況替換。 production: delivery_method: :smtp smtp_settings: address: localhost port: 25 domain: authentication: :none 復(fù)制代碼 文章來自烈火論壇,原文:http://bbs./thread-9081-1-1.html
|
|
|