Ubuntu

  1、安装svn:

  sudo apt-get install subversion

  

  2、安装后创建一个版本目录

  mkdir /home/svn/aaaa

  svnadmin create /home/svn/aaaa

  

  3、配置svn服务器

  上一步执行svnadmin后会在aaaa目录下面生成4个文件夹和2个文件,如下:

  

svn配置nginx_服务器

   进入到conf文件夹,里面有4个配置文件:

  

svn配置nginx_服务器_02

 

   3.1修改svnserve.conf文件,将下面5行前面的#去掉(红色部分为修改内容,可以按照自己需要设置),并去掉空格(否则无法正常使用):

[general]
anon-access = none
auth-access =write
password-db = passwd
authz-db = authz

  

svn配置nginx_svn配置nginx_03

  3.2修改passwd文件,设置用户和密码(我设置两个用户litao和root,密码分别为litao123和root123):

  

svn配置nginx_服务器_04

  3.3  配置authz权限 

  给用户分配读写权限(给root管理权限,可以读写,给litao读取权限)

   

svn配置nginx_服务器_05

  这样就完成配置了,最后启动svn服务即可:

   svnserve -d -r /home/svn/

  -d表示守护线程后台运行,-r表示指定目录。注意:不要写成svnserve -d -r /home/svn/aaa,否则虽能启动服务,但是只是启动一个项目,假如有多个不同的项目(比如project1,project2等)启动上一个目录可以包括下面的全部项目,多方便啊。

  可以查一下服务是否启动了:

  ps -ef |grep svnserve

  

svn配置nginx_开机启动_06

  看到svnserve的进程表示运行正常。

 

  4. 客户端连接(我的服务器地址172.168.128.128)

在电脑资源管理器中右键,选择SVN checkout,在弹出的窗口的Url处填写SVN服务器上版本库的访问地址,之后直接点确定。
  svn地址:svn://192.168.128.128/svn  然后输入用户名lan和密码lan123确认。
  如果没有连上,那么清理旧的数据信息。
  清除旧数据方法:右键->tortoisesvn->setting->Saved Data,都清理掉。

  连接成功后在文件夹里面有一个隐藏的.svn文件夹

 

  5. 设置开机启动svn:

  编辑rc.local文件

  sudo vi /etc/rc.local

  加入下面的代码

  /usr/bin/svnserve -d -r /home/svn

  上面的路径记得补全了,不能直接就是svnserve,手动启动可以这么写,但是设置开机启动要写全部路径。不知道svn安装的位置可以用whereis命令查看一下,比如:

  

svn配置nginx_svn_07

这样就出来了。

其实想要改变位置的时候可以直接用mv移动位置即可,很方便。

 

附:很多时候都是利用SVN做一个版本控制,然后同步更新到网站,那么就要开启相关的设置:

  svnserve -d -r /var/svn/lanlan  --listen-port 5550    //监听一个5550端口,我lanlan项目所在地

创建一个同步更新commit文件,用来实时监听文件更新到网站:

      vim   post-commit  (在hooks文件夹下,内容如下几行)

#!/bin/bash
        export LANG="zh_CN.UTF-8"        #//防止乱码
        svn update /etc/www/lan  --username lan--password  lanlan44451WB    ##同步更新到我的网站目录/etc/www/lan/
        
         chmod 775 post-commit  //给权限这个文件,否则不能同步

然后在Linux服务器checkout一次就可以了:

        svn checkout svn://172.168.128.128:5550 /var/www/lanlan --username lan  --password lanlan44451WB