如果你想配置一個全世界都能訪問的基於Windows系統的Subversion,你可能會選擇svnserve作為系統服務,在Windows下面再去裝Apache模組的確很是麻煩.
但有幾個問題始終沒理解透徹,敬請大家指教.
基本配置過程我想不用多說,我在幾台電腦上配置過,還是把過程寫下來.
從http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91下載svn-win32-1.4.4.zip回來解壓出來.
將svnserve.exe作為系統服務:
1、修改系統變數Path,增加subversion的bin目錄的路徑(D:\svn-win32-1.4.4\bin);
2、建立Lang系統變數,值為zh_cn.UTF8;
3、建立APR_ICONV_PATH系統變數,值為subversion的iconv目錄的路徑(D:\svn-win32-1.4.4\iconv);
4、cmd -> sc 把svnserve.exe作為系統服務運行,命令:
sc create SubVersion binpath= "D:\svn-win32-1.4.4\bin\svnserve.exe --service -r E:\repository" displayname= "SubVersion Server" depend= Tcpip start= auto
sc start SubVersion
註:=後面必須要空格而前面不能有空格
cmd -> svnadmin create --fs-type fsfs E:\repository\somerep\trunk 建立版本倉庫;
初始匯入,匯入目前的目錄的命令:svn import . svn://192.168.1.101/ --message 'Import' --username SunshineRide --password 123456
以上命令最好建立一個命令檔案來執行,這裡下載.(包含建立subversion服務和匯入)
修改倉庫認證方法:
修改版本倉庫的conf下svnserve.conf,(anon-access表示匿名訪問,設為none拒絕匿名訪問,auth-access表示認證的使用者,設為write表示可寫也可讀)找到# auth-access = write,去掉#和空格,再找到# password-db = password,去掉#和空格;
修改版本倉庫的conf下的password,在[users]下面同樣去掉#和空格,按“使用者名稱 = 密碼”的格式每行一個使用者;
網上絕大多數關於Subversion服務怎麼建立的文章到這裡都會跟你說,伺服器建立好了,的確建立好了,但還有些地方需要注意.
如果你電腦開了防火牆,那麼在網路連接裡添加公開Subversion服務的3690連接埠,這樣其他電腦才能訪問.
訪問倉庫是直接通過IP地址訪問,LAN裡的訪問沒有問題,但是WAN裡的訪問問題就來了,提示:
C:\Documents and Settings\Administrator>svn ls svn://xxx.xx.x.x/webtools/trunk
svn: 無法串連主機“xxx.xx.x.x”: 由於目標機器積極拒絕,無法串連。
鼓搗了半天,問題依舊. ----> 已經解決。
還有,我想通過一個很好記的網域名稱來訪問倉庫,該怎麼辦?
朋友問到一個問題,倉程式庫伺服器的IP變了怎麼辦?