1. 程式人生 > >linux(Ubuntu)搭建Subversion伺服器+修改svn埠號

linux(Ubuntu)搭建Subversion伺服器+修改svn埠號

一、搭建 Subversion 伺服器

1、首先需要安裝 subversion 這個軟體:
sudo apt-get install subversion

注:使用apt-get安裝軟體,ubuntu預設將軟體下載到 /etc/bash_completion.d/ 目錄下,可使用 sudo apt-get source packagename 下載原始碼包,也是下載到 /etc/bash_completion.d/下。

2、在 /home/nicky 下建立一個 repo,名稱為 svnproject:
svnadmin create /home/declan/svnproject

3、然後把 /fun/theme 目錄下的內容匯入到這個 repo 中,注意:匯入的目錄中檔名不能有中文,不然會出現錯誤,無法匯入:
svn import -m "projectName" /fun/theme file:///home/declan/svnproject

4、最後給這個 repo 建立一個 svn 自帶的 svnserve:
svnserve -d -r /home/declan/svnprojec

5、svn伺服器預設使用3690埠號,svn要使用非預設埠,可以在svnserve後面加一個 --listen-port 21 來修改svn使用的埠號,

操作如下:在命令提示符下輸入:

svnserve -d -r /home/declan/svnproject --listen-port 21

注:紅色加粗部分為SVN根目錄

同時,還可以為同一個svn伺服器上不同的svn專案設定不同的埠號,比如在declan目錄下還建有另一個專案,名為 svntest,那麼可以啟動

svnserve -d -r /home/declan/svntest --listen-port 3690

則svntest專案監聽3690(svn預設)埠號,這樣在使用 netstat -ntlp 程序檢視時會檢視到另個svnserver,而在客戶端,預設連線為3690埠,也可以在地址後加 “:21”,即 冒號+埠號 來設定訪問埠。

以上命令要到svn安裝目錄下 bin/下使用。

6、檢視程序使用埠號及結束程序

使用命令 sudo netstat -ntlp,可以檢視到目前系統網路伺服器的執行情況,然後使用 sudo kill -9 pid,結束程序。

二、使用 Subversion

1、你可以使用下面的命令來獲得一個 wc,如把它取名為 projecout。

svn checkout svn://127.0.0.1/ projecout
或者簡寫為:
svn co svn://127.0.0.1/ projecout

2、如果需要將修改從 wc 中傳送到 repo。

先到 wc 所在目錄,然後使用下面的命令將修改傳送到 repo:
svn commit -m "note"

三、常用命令:

取出指定版本,如取出版本 2:
svn checkout --revision 2 svn://....

顯示提交日誌資訊:
svn log

顯示庫中的最新資訊:
svn log --revision HEAD

四、設定使用者的驗證和相應的許可權。 現在我們先建立一個叫 project1 的 repo,然後轉到 project1中:svnadmin create d:\svnprojects\project1
cd d:\svnprojects\project1

project1 目錄下有一堆目錄,進入 conf 並開啟 svnserve.conf 這個檔案,找到以下幾行,並把前面的註解符號 ‘#’ 去掉,注意千萬在每行的前面別留任何空格。
anon-access = read
auth-access = write
password-db = passwd
其中 anon-access 和 auth-access 分別為匿名和有許可權使用者的許可權,預設給匿名使用者只讀的許可權,這很好,我們不需要改它們。但如果想拒絕匿名使用者的訪問,只需把 read 改成 none 就能達到目的。password-db 後的 passwd 則為定義使用者名稱及密碼的檔案路徑。這個檔案預設跟 snvserve.conf 在同一個目錄,下面看看怎麼配置 passwd 中的內容。

[user]
# harry = harryssecret
# sally = sallyssecret

harry 和 sally 這兩行分別定義了可以對 repo 進行寫入的使用者的使用者名稱和密碼。我們可以在下面加上自己的使用者名稱和密碼,比如

testsvn = tester

這樣就給了使用者 testsvn 往 repo 中寫的許可權。存檔退出後,svn 伺服器就算正式可以運行了!把所有需要管理的專案都放在 d:\svnprojects 這個目錄下,像正常那樣用 svnadmin create 命令建立 repo,如果要 checkout repo,則在命令列中輸入:

svn checkout svn://192.168.0.1/project1

如果要 commit 剛需要輸入剛才設定好的使用者名稱和密碼:

svn commit -m "we are commiting changes!" --username testsvn --password tester