在 Windows 搭建 SVN 服務
以下內容為本人的學習筆記,如需要轉載,請聲明原文鏈接 微信公眾號「englyf」//www.cnblogs.com/englyf/p/16671311.html
最近公司給配了台新電腦,配置挺主流的,但是不捨得拋棄自己的舊電腦(原配嘛,這叫貪新不舍舊),於是打算在新電腦上只作開發環境,然後舊電腦作為版本庫,這樣保存版本的時候可以直接上傳到舊電腦里,也夠折騰的了。所以需要在舊電腦搭建一個 svn 伺服器,新舊電腦同處一個區域網內。由於本人的開發方向還停留在 Windows 端 (石器時代),所以以下介紹的內容都基於Windows 平台(起碼 XP 吧)。
目標:一台電腦作為 svn 伺服器,其它電腦安裝 svn 客戶端,比如 基於Windows 平台的 TortoiseSVN
所需工具:
Step 1.
解壓 「Apache-Subversion-1.10.0.zip」(如下圖 1.0) 到指定位置,比如「C:\svnserve」,路徑不要帶「空格」。其實這個不是安裝的過程,綠色版無污染,啥也不用安裝。
Step 2.
接著是將 svn 服務端的相關程式路徑添加到系統環境變數里。在 系統屬性 -> 高級 -> 環境變數 -> 系統變數 中找到變數 Path,如果已經存在此變數,則在這個值最後添加 「C:\svnserve\bin」,使用 「;」與其它內容隔開;如果不存在此變數,則添加此變數,並且修改值為「C:\svnserve\bin」。修改完確定即可。
現在可以開始在 cmd 里使用 svn 的相關命令了,打開 cmd 輸入 「svnserve –version」,輸出為如圖 2.0 即說明環境變數添加成功。
Step 3.
然後就是讓系統每次啟動之後都能讓 svn 服務自動打開,為了省事吧,不用每次都敲命令。在 cmd 中輸入 「sc create SvnServe binPath= “C:\svnserve\bin\svnserve.exe –service –root D:\svnroot” DisplayName= “SvnServe” depend= tcpip start= auto」。
「D:\svnroot」指的是版本庫根目錄,根據自己的需求改吧。
注意咯,以上命令里的 = 號前面沒有空格!
Step 4.
通常我們都喜歡先建立一個總的版本庫,這樣各個項目可以在這個版本庫下面分別單獨建立。以下介紹怎麼建立總的版本庫。
在 cmd 中輸入 「svnadmin create D:\svnroot\repository」,自動生成了版本庫目錄 repository。
我們需要設定此版本庫只允許有許可權的人才可以讀寫,總不能讓公司的項目內容隨便公開吧。因此還需要對版本庫配置「認證」。
進到目錄 repository\conf,用記事本打開文件 svnserve.conf,找到
// # 表示注釋
# anon-access = read
# auth-access = write
# password-db = passwd
改為
anon-access = none // 表示非許可權用戶的讀寫許可權,無
auth-access = write // 表示許可權用戶的讀寫許可權,寫
password-db = passwd // 表示密碼存儲在文件 passwd 中
保存,關閉文件。
用記事本打開文件 passwd,找到欄位 [users],在下面添加
// name 用用戶名代替
// password 用密碼代替
name = password
從此,版本庫 repository 只有用戶 name (密碼 password)才可以讀寫了。各子項目都可以在此版本庫中建立。
svn 服務到此算是配置完成了。
那就趕快在客戶機測試一下吧!TortoiseSVN 這裡就不介紹了,保重。
另外
需要注意的是防火牆設置:
xp 下,防火牆裡邊的「例外」需要添加程式 svnserve.exe。如下(圖 xp防火牆)
win7 或者更高的版本平台呢,就是設置 入站規則 了。不再熬述。