Ubuntu 己是近來 Linux 最熱門的 Distribution,它的3D效果真不是蓋的,要不是ATI不爭器,家裡的伺服器(ATI Radeon 9000)早就把它替換掉了,正好最近要將 CVS 轉換為 SVN 系統,就拿它來練功吧!
雖然一開始安裝的是 Ubuntu Desktop 版本(目前最新是 9.10 版),但是在 Ubuntu 下安裝伺服器套件是非常簡單的一件事,只要確定你的電腦可以連上網路,確認你的 source.list 是否正確?(建議您安裝 Lazybuntu 懶人包),按下面步驟即可完成安裝:
(參考文件:在 Ubuntu 中使用 Apache2 管理 Subversion 版本控制系統)
底下以文字介面的安裝為主,若您使用 GUI 介面的 Synaptic 套件管理程式也可以。
1. 安裝 Apache2 和 Subversion 模組:
$sudo apt-get install apache2 apache2-common apache2-utils apache2-doc libapache-svn subversion
你也可以選擇安裝 subcommander(Ubuntu 底下的 SVN GUI Client)。
2. 建立 Subversion 儲存庫(Repository)
a. 建立 SVN Root 目錄:
$sudo mkdir -p /var/local/svnroot
b. 初始化儲存庫:
$sudo svnadmin create /var/local/svnroot
c. 授予 Apache(www-data) 使用者存取的權限:
$sudo chown -R www-data:www-data /var/local/svnroot
3. 修改 Apache2 的設定:
$sudo gedit /etc/apache2/mods-available/dav_svn.conf
修改 "Location" 區段,內容對應如下:
<Location>
DAV svn
SVNPath /var/local/svnroot
AuthType Basic
AuthName "Subversion repository"
AuthUserFile /etc/subversion/passwd
<LimitExcept GET PROPFIND OPTIONS REPORT>
Require valid-user
</LimitExcept>
</Location>
Location 後面所接的是在 URL 所要打的網址,以本例而言,透過瀏覽器要輸入:http://localhost/svnroot
SVNPath 為 Subversion 的檔案庫路徑,如果將 SVNPath 改為 SVNParentPath,則泛指在 SVNParentPath 下的所有目錄都會被視為是 Subversion 檔案庫。
AuthUserFile 則是指存放使用者名稱及密碼的檔案路徑。
4. 創建使用者驗証資訊:
$sudo htpasswd2 [-c] /etc/subversion/passwd username
依照指示輸入使用者密碼即可完成驗証。
-c:表示是否要新建檔案,舊有檔案內容會完全刪除,適用於第一次建立 passwd 檔時。
5. 重新啟動 Apache2:
$sudo /etc/init.d/apache2 restart
6. 打開瀏覽器,訪問http://localhost/svnroot, 就可以看到Subversion庫的網頁。(當然,現在還沒有任何東東,下面我們要導入一些文件)
7. 匯入(inmport) /home/username/workspace中的文件到http://localhost/svnroot 下的workspace目錄(原始專案目錄);"操作注釋"的內容可隨需求添加,username 為專案使用者名稱。
$ svn import -m "操作注釋" /home/username/workspace http://localhost/svnroot/workspace
8. 取出(checkout)剛才匯入的專案:
checkout http://localhost/svnroot/workspace 中的文件到/home/username/test
$svn checkout http://localhost/svnroot/workspace /home/username/test
注意:匯出的目錄名稱不可與匯入的目錄名稱相同(最好是將原始的專案目錄(workspace)與匯出的工作目錄(sandbox)區分開來)。
8. 若您需要 Windows 下的 GUI 介面工具,可以下載安裝 TortoiseSVN 工具。(請一併下載並安裝語言套件Language Pack)
安裝完成後請依下步驟設定語言介面:
a. 開啟 TortoiseSVN 設定頁面(在入一資料夾上按滑鼠右鍵)
b. 選擇語言版本
c. 中文化後的選單介面
在安裝好了 Subversion Server後,最重要的莫過於對於使用者權限的控管,底下將介紹如何針對不同的使用者設置不同的存取權限:
9. 修改 dav 配置檔 /etc/apache2/mods-available/dav_svn.conf:
<Location /svntest>
DAV svn
SVNPath /var/local/svntest
AuthType Basic
AuthName "Subversion test repository"
AuthUserFile "/var/local/svntest/conf/passwd"
AuthzSVNAccessFile "/var/local/svntest/conf/authz"
Require valid-user
SVNAutoversioning on
</Location>
10. 創建 SVN 儲存庫 svntest:
sudo svnadmin create /var/local/svntest
sudo find /var/local/svntest -type f -exec chmod 660 {} ";
sudo find /var/local/svntest -type d -exec chmod 2770 {} ";
sudo chown -R root.www-data /var/local/svntest
11. 修改儲存庫設定檔 /var/local/svntest/conf/svnserver.conf:
[general]
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
12. 創建使用者資料庫:
cd /var/local/svntest/conf
sudo htpasswd [-c] passwd user1_id
然後依照指示輸入 user1_id 的密碼
若有多個使用者,請重覆上述指令(請移除 [-c] 選項)
13. 編輯儲存庫存取權限 /var/local/svntest/conf/authz:
[groups]
#group_name = user1,user2,user3...
software = aaa,bbb,ccc
hardware = ddd,eee
#[repository:PATH]
[/]
# '@' 符號用來表示群組名稱
@software = rw
ddd = rw
* = r
[svntest:/sch]
@hardware = rw
@software = r
* = r
14. 重新啟動 apache2:
sudo /etc/init.d/apache2 restart
posted on 2009-05-08 15:31
Blog of JoJo 阅读(698)
评论(2) 编辑 收藏 所属分类:
每日一记