Ubuntu12.04 LTS 下SVN服务器安装

iddw9737 9年前

来自: http://blog.csdn.net//chenriwei2/article/details/37301347


由于项目开发有必要,需要用到SVN,所以尝试使用。

实验环境,由于我实验室桌面有两台电脑,在 一个局域网上,一个局域网IP为192.168.0.9,另一个的局域网IP为192.168.0.27 ,0.9那台电脑我装的是Ubuntu12.04 LTS 系统,所以服务器就在这台机子上搭建的。


=======================================


1. SVN 服务器的搭建


1. 安装包:$ sudo apt-get install subversion

2. 添加SVN管理用户和svnversion组

   $ sudo adduser svnuser
   $ sudo addgroup subversion
   $ sudo addgroup svnuser subversion      

(在我们远程连接这个服务器的时候需要用到,并且在设置SVN权限时,同样也需要用到)

3. 创建项目目录
   $ sudo mkdir /home/svn     # 在/home目录下创建svn文件夹
   $ cd /home/svn
   $ sudo mkdir proj               #在/home/svn目录下创建proj文件夹,用来存放项目      
   $ sudo chown -R root:subversion proj    #将proj目录的所有者改为root 下的subversion组,-R表示递归,也就是proj下的所有文件,
   $ sudo chmod -R g+rws proj    # 更改文件权限,-R或--recursive  递归处理,将指定目录下的所有文件及子目录一并处理。

4.创建SVN文件仓库
   $ sudo svnadmin create /home/svn/proj   #注意,proj文件夹下必须为空

5. 修改文件仓库访问权限
   $ sudo chmod 700 /home/svn/proj

6. 设置SVN服务器访问权限

  需要更改的文件的位置在/home/svn/proj/conf/文件夹下的authz、passwd、svnserve.conf文件中,

  svnserve.conf:svn服务配置文件,该文件版本库目录的conf目录下。 
  passwd:用户名口令文件,该文件名在文件svnserve.conf中指定,缺省为同目录下的。 
authz:权限配置文件,该文件名也在文件svnserve.conf中指定,缺省为同目录下的。

  (1)设置svnserve.conf
      更改其中的
      anon-access = read            #表示匿名接入可读,默认给匿名用户只读的权限,但如果想拒绝匿 名用户的访问,只需把 read 改成 none 就能达到目的。
      auth-access = write            #表示权限用户登录可写
      password-db = password   #这就是这指定用户密码的文件
      authz-db = authz                #这是指定用户权限账户的文件

      注意上面的配置文件,开头都要顶格,也就是不要只要把#号给删除了就行,

  (2)设置passwd

     在下面的
     [users]
     admin = admin
     user = user
     设置两个用户admin和user

  (3)设置authz

   [groups]
    admin = admin
    user = user
    [/]
  @admin=rw         
   *=r
  admin属于admin组,具有读写权限
  user用户属于user组,具有读权限。

7.  启动SVN服务

    $ sudo  svnserve -d -r /home/svn
      -d 表示以守护进程模式运行

      -r 指定SVN根目录

8. 设置SVN开机启动

     (1).创建执行脚本svn.sh(/root路径下)

          #!/bin/bash
          svnserve -d -r /home/svn
     (2).添加可执行权限
          #chmod ug+x /root/svn.sh
     (3).添加自动运行

          #vim /etc/init.d/rc.local

         在最后添加一行内容如下:

         /root/svn.sh

     (4).检查
          重启服务器,使用ps -aux |grep svn看看svn进程是否启动了。


2. 设置SSH访问


1. 安装服务器

    sudo apt-get install openssh-server

    安装没有问题的话,在windows下利用putty输入IP地址就可以远程登陆了。

2. 确认sshserver是否启动了

  ps -e | grep ssh

  如果只有ssh-agent那ssh-server还没有启动,需要/etc/init.d/ssh start,如果看到sshd那说明ssh-server已经启动了

     ssh-server配置文件位于/ etc/ssh/sshd_config,在这里可以定义SSH的服务端口,默认端口是22,你可以自己定义成其他端口号,如222。然后重启SSH服务:

  sudo /etc/init.d/ssh resart

3. 到这里SSH设置就可以了,



3. Windows 下用TortoiseSVN 连接服务器


1. 下载Windows 端程序:http://tortoisesvn.net/downloads

2. 执行下载回来的TortoiseSVN 安装程序,就会进行TortoiseSVN 的安装。正确安装后,应该进行一次的重开机,以确保TortoiseSVN 的正确无误。

3. 安装成功后,如果可以在文件夹中右键能看到SVN相关的菜单,则表示,安装成功。

4. 新建一个repository,一般选择在一个空的文件夹中右键进行,注意文件夹必须为空。

5. 在新建的repository中右键设置check属性,将服务器的地址和账号写入,就可以完成。