2007年5月24日 星期四

在Windows系統中安裝SVN Service

文章來源:http://www.subversion.org.cn/index.php?option=com_content&task=view&id=83&Itemid=9
作者: rocksun 2006-10-26 作者:Rock Sun, Subversion中文站。

以前的svnserve要想成爲windows服務,必須依賴於svnservice或其他工具。從Subversion1.4開始,Subversion本身就集成Windows服務的工具。

1,安裝svnservice

Windows NT中(包括Windows XP, Windows 2000, Windows 2003 Server)本身包含了一個安裝服務的工具,叫做"Service Control",也就是sc.exe

例如我的Subversion安裝在"D:\Subversion",版本庫在"D:\svnroot",而我希望對應的Subversion服務名爲svnservice,安裝這個svn服務的命令就可以這樣寫:

sc create svnservice

binpath= "D:\Subversion\bin\svnserve.exe --service -r D:\svnroot"

displayname= "SVNService"

depend= Tcpip


請注意,因爲便於察看,上面的命令分爲多行,但在實際執行時應該在一行裏。另外,在以前啓動svnserve時會使用"-d"選項,也就是守護進程模式,在這裏不能使用,會導致服務無法啓動。同樣,"-i""-t"選項也不能使用。

在命令行窗口執行完這個命令之後,服務還沒有啓動,你可以繼續運行"net start svnservice"啓動這個服務,然後使用"net stop svnservice"停止服務。

另外還有兩點需要小心處理。首先,如果路徑中包括空格,一定要用“\”處理“"”號,例如上面的例子中如果svnserve.exe在“c:\ program files\subversion\”中,則命令應該寫爲“binpath= "\"c:\program files\subversion\bin\svnserve.exe\"”(“”中的內容),整個命令如下,紅色部分是改變部分:

sc create svnservice

binpath= "\"D:\program files\Subversion\bin\svnserve.exe\" --service -r D:\svnroot"

displayname= "SVNService"

depend= Tcpip

其次,sc對選項的格式還有要求,例如“depend= Tcpip”不能寫爲“depend = Tcpip”或“depend=Tcpip”,也就是“=”前不能有空各,而後面必須有空格。


2,刪除服務

如果服務安裝的有問題,你可能需要刪除服務。要刪除前面添加的服務,只需要運行"sc delete svnservice""svnservice"就是我們創建服務時使用的名字。


3,配置服務是自動啓動

默認情況下安裝的服務不會隨Windows的啓動而啓動,爲了使svn服務能夠隨Windows啓動而啓動,需要修改一下"sc create"命令(首先要刪除),增加"start= auto"選項:

sc create svnservice

binpath= "D:\Subversion\bin\svnserve.exe --service -r D:\svnroot"

displayname= "SVNService"

depend= Tcpip

start= auto

當然你也可以使用圖形化的工具修改服務的屬性,你可以在“開始->運行...”中執行"services.msc",然後在介面中修改。


1 則留言:

匿名 提到...

What's up to every body, it's my first pay a quick visit of this webpage;
this web site includes awesome and actually good material for readers.


My homepage; www.FatBurningFurnaceReport.org