如何在windows上安装部署设置SVN服务器

    1. 一、准备工作

      1、SVN服务器:解压缩包,可以从官方网站下载最新版本。

      2、SVN客户端:TortoiseSVN,即常说的小乌龟,是一个客户端程序,用来与服务器端通讯。

    2. 2

      二、安装服务器和客户端程序

      1、SVN服务器:直接解压缩到某个文件夹下即可。示例路径:c:svn

            备注:如果下载的是msi程序,直接运行按提示安装即可。

      2、SVN客户端:直接运行按提示安装即可。示例路径:C:Program FilesSubversion

    3. 3

      三、建立版本库(Repository):示例路径:e:svnroot。建立版本库有两种方法:

      方法一,建立空目录e:svnroot epos1,进入repos1文件夹,在空白处点击右键,选择“TortoiseSVN->Create Repositoryhere...”,

      方法二,建立空目录e:svnroot epos2,进入DOS命令行,输入如下命令:

      svnadmincreate e:svnroot epos2

      如何在windows上安装部署设置SVN服务器
    4. 4

      四、运行SVN服务器,启动服务。启动服务有两种方法:

      方法一,临时启动服务,在DOS下输入如下命令:

      svnserve -d -r e:svnroot epos1 --listen-host ip地址  --listen-port=端口号

      说明:“listen-host”和“listen-port”可选。默认端口是3690,如果端口已经被占用,可以通过选项listen-port指定端口号。

      注意:请不要关闭命令行窗口,关闭窗口会把 svn服务就停止了。

      方法二,启动SVN服务为后台运行程序:

      sc create svnserve binPath= "c:svninsvnserve.exe --service  -r e:svnroot epos1" displayname= "Subversion" depend=Tcpip  start= auto

      说明一:

      (1)sc是windows自带的服务配置程序。svnserve是服务的名称,可根据需求取名。

      (2)参数binPath表示svnserve可执行文件的安装路径。

      (3)--service表示以windows服务的形式运行,--r指明svnrepository的位置,service参数与r参数都作为binPath的一部分,因此与svnserve.exe的路径一起被包含在一对双引号当中。

      (4)displayname表示在windows服务列表中显示的名字,depend=Tcpip表示svnserve服务的运行需要tcpip服务,start=auto表示开机后自动运行。安装服务后,svnserve要等下次开机时才会自动运行。

      说明二:
      (1)binPath的等号前面无空格,等号后面有空格。displayname、depend、start也一样,service前面是--,不是- ,而r前面是-。

      (2)若要卸载svn服务,则执行 sc delete svnserve 即可。

      (3)从“sc”到“auto”是在同一个命令sc,必须写在同一行。

      (4)启动服务命令:netstart svnserve,停止服务命令:net start svnserve,也可以进入Windows提供的界面操作SVNService服务了,即控制面板—>服务。

      (5)如果路径中包括空格,一定要用“”处理“"”号,例如上面的例子中如果svnserve.exe在“c:programfilessvn”中,则命令应该写为“binpath=""c:programfilessvninsvnserve.exe"

      如何在windows上安装部署设置SVN服务器
      如何在windows上安装部署设置SVN服务器
        1. 5

          五、配置用户和权限

          (1)修改svnserve.conf,在e:svn epos1conf目录下,用文本编辑器打开svnserve.conf:

          将:

                # anon-access = read

                # auth-access = write

                # password-db = passwd

                # authz-db = authz

                # realm = 版本库所在目录

          改为

                anon-access = none

                auth-access = write

                password-db = passwd

                authz-db = authz

            realm = 版本库所在目录

          注意说明:

          anon-access等列前面是没有空格的。

          anon-access = read表示没通过用户名密码登录的访问只有读的权限,如果改为none则没有用户名密码不能访问

          auth-access = write表示通过用户名密码登录的有写的权限(当然读的权限也就有了)

          password-db = passwd表示可以通过 用户名 = 密码  的方式在passwd文件中添加用户

          (2)修改同目录的passwd文件,增加用户帐号:

          将:

                [users]

                # harry = harryssecret

                # sally = sallyssecret

          添加帐号:

                [users]

                # harry = harryssecret

                # sally = sallyssecret

                admin = admin

          添加一个admin账户,密码是admin。

          (3)修改同目录的authz文件,设置帐号权限:

          [/]
          admin= rw

    5. 6

      六、初始化SVN,导入数据

      选中要上传SVN的文件夹,“右键 ->TortoiseSVN -> Import...” ,在弹出对话框的“URL of repository”输入“svn://localhost/project1/”。在“Importmessage”输入注释,点击OK,要求输入帐号,输入账户admin和密码admin。

    6. 7

      七,测试SVN

      本地测试:新建一空文件夹test1,单击右键,选择“SVN Checkout”,在“URL of repository”中输入“svn://localhost/project1”。

      其他机器测试:如果运行svnserve的主机IP地址是1.2.3.4,则URL输入的内容就是“svn://1.2.3.4/project1”。