Ubuntu 9.10下搭建基于PostgreSQL的Redmine(上)
Computer Technology, Ubuntu, Web Applications, by MrBear.
Redmine是最近非常流行Open Source類(lèi)項(xiàng)目管理組件。它基于Ruby On Rails開(kāi)發(fā),并且支持MySQL,PostgreSQL和SQLite。除了項(xiàng)目管理的要素,它還內(nèi)建新聞,Wiki,SVN的支持。
以上是我前幾周在書(shū)店看到的關(guān)于Redmine的介紹,聯(lián)想到現(xiàn)在身處的項(xiàng)目組那基于Excel和網(wǎng)絡(luò)共享文件夾不太順暢的管理,也許我們確實(shí)需要一個(gè)像
樣的項(xiàng)目管理規(guī)范和管理軟件。當(dāng)我發(fā)現(xiàn)Redmine的時(shí)候,我感覺(jué)這也許就是一個(gè)不錯(cuò)的解決方案。當(dāng)然我不是項(xiàng)目管理人,不過(guò)這不妨礙我在自己的環(huán)境下
嘗試一下。當(dāng)然,我不得不承認(rèn),我對(duì)Ruby和Rails的知識(shí)直接等于0。
我查詢(xún)了安裝Redmine必須的組件,并且打算把數(shù)據(jù)庫(kù)建立在PostgreSQL上。同時(shí)還尋找了一些Ubuntu下安裝Redmine的“經(jīng)
驗(yàn)談”,接下來(lái)就開(kāi)始了我痛苦的安裝過(guò)程了。(如果你也想和我一樣在Ubuntu 9.10下安裝Redmine的話(huà),請(qǐng)不要按照下面的步驟進(jìn)行)
由于Ubuntu Document和Ubuntu Wiki并沒(méi)有提供如何安裝Redmine的指南,所以我按照Redmine.org的安裝指南開(kāi)始我的安裝。
首先我下載了Redmine的安裝包解壓到~/目錄,并生成了~/redmine-0.8.5,如果沒(méi)有特別提到,接下來(lái)的一切操作都是在這個(gè)目錄下進(jìn)行的。
然后執(zhí)行下面的命令安裝Ruby和RubyGems。
1 |
$ sudo apt-get install ruby rubygems |
接著我用下面的命令安裝PostgreSQL。
1 |
$ sudo apt-get install postgresql |
當(dāng)PostgreSQL安裝完成之后,系統(tǒng)會(huì)自動(dòng)生成一個(gè)名叫postgres的數(shù)據(jù)庫(kù)超級(jí)用戶(hù),而我們需要做的就是利用這個(gè)用戶(hù)創(chuàng)建一個(gè)和它同等權(quán)限的自己的超級(jí)用戶(hù)。
所以我鍵入下面的命令建立一個(gè)叫mrbear的用戶(hù)。
1 |
$ sudo -u postgres createuser -P |
2 |
Enter name of role to add: mrbear |
3 |
Enter password for new role: |
5 |
Shall the new role be a superuser? (y/n) y |
同時(shí),在PostgreSQL中每一個(gè)用戶(hù)都應(yīng)該有一個(gè)與用戶(hù)名相同的數(shù)據(jù)庫(kù),所以我們必須手動(dòng)建立這個(gè)數(shù)據(jù)庫(kù)。
1 |
$ sudo -u postgres createdb mrbear |
另外,我也許會(huì)想通過(guò)圖形界面管理我的數(shù)據(jù)庫(kù),所以我安裝了pgAdmin III。
1 |
$ sudo apt-get install pgadmin3 |
安裝完畢后點(diǎn)選應(yīng)用程序->系統(tǒng)工具->pgAdmin III就可以開(kāi)始使用了。
接下來(lái),我回到Redmine的配置。我登錄到PostgreSQL為Redmine建立專(zhuān)用的數(shù)據(jù)庫(kù)和用戶(hù)名。
5 |
mrbear=#CREATE ROLE redmine LOGIN ENCRYPTED PASSWORD 'mypassword' NOINHERIT VALID UNTIL 'infinity'; |
6 |
mrbear=#CREATE DATABASE redmine WITH ENCODING='utf8' OWNER=redmine; |
注意:SQL語(yǔ)句必須在終端窗口的一行內(nèi)輸入完畢,如果需要換行,必須輸入-#換行以連接下一行語(yǔ)句,否則SQL語(yǔ)句將不被執(zhí)行。
最后按照Remine.org的安裝指南修改我的config/database.yml就算完成了數(shù)據(jù)庫(kù)的指向準(zhǔn)備了。
完成數(shù)據(jù)庫(kù)的準(zhǔn)備之后,還需要安裝Ruby的編譯器rake。
1 |
$ sudo apt-get install rake |
之后再安裝libopenssl-ruby以備rake編譯時(shí)使用。
1 |
$ sudo apt-get install libopenssl-ruby |
到此為止一切都是順利的,只留下最后一條編譯并建立數(shù)據(jù)庫(kù)的命令。
1 |
$ rake --trace db:migrate RAILS_ENV="production" |
當(dāng)我以為大功即將告成的時(shí)候,卻不知從何處吃了一記重拳,導(dǎo)致我直接摔出場(chǎng)外。
1 |
Please install the postgresql adapter: gem install activerecord-postgresql-adapter (no such file to load — pg) |
第一次看到這條錯(cuò)誤時(shí),我還是很冷靜的,我知道Ruby on Rails默認(rèn)沒(méi)有綁定postgresql的驅(qū)動(dòng)程序,所以我按照提示執(zhí)行了
1 |
$ sudo gem install activerecord-postgresql-adapter |
迎接我的卻時(shí)gem根本不能找到所謂的activerecord-postgresql-adapter的錯(cuò)誤。
上Google,Yahoo和Baidu搜索了一番,有人說(shuō)可能需要把postgresql改成postgres,但是嘗試的結(jié)果是錯(cuò)誤依舊。
還有人說(shuō)把gem庫(kù)直接搞到本地,然后修改gem環(huán)境變量就安裝成功,但是憑感覺(jué)就覺(jué)得很麻煩。
繼續(xù)搜索,發(fā)現(xiàn)有不少人遇到和我同樣的問(wèn)題,rake報(bào)告需要activerecord-postgresql-adapter而gem告訴你根本就沒(méi)有這個(gè)東西。
我甚至動(dòng)用了我能使用的任何網(wǎng)絡(luò)資源,語(yǔ)種涉及了英語(yǔ),中文和日語(yǔ),僅僅找到一條提示。
Ruby曾經(jīng)使用postgres提供對(duì)PostgreSQL的支持,而現(xiàn)在postgres的開(kāi)發(fā)已經(jīng)停止,改用pg提供對(duì)PostgreSQL的訪(fǎng)問(wèn)。同時(shí)pg修復(fù)了postgres中出現(xiàn)的一些問(wèn)題。
但是僅僅如此還不夠解決我的問(wèn)題,我嘗試了用gem安裝postgres和ps,但卻都失敗了。
甚至有人被這個(gè)問(wèn)題折磨得不能忍受,被迫選擇更換成MySQL的結(jié)局。
由于時(shí)間已經(jīng)不早了,我也只能先休息了。
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶(hù)發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)
點(diǎn)擊舉報(bào)。