linux下安装和配置svn

  • 前置条件

    1、你的服务器是linux并且有固定的ip,没有固定的ip每次都要设置,超麻烦。阿里、百度、新浪等的云服务器都有固定ip滴,就是比较贵哦。

    2、有sudo权限,没有的话进root用户给自个添加(usermod -G sudo 用户名)。

  • 安装svn的服务器端

sudo apt-get install subversion
  • 管理多个项目的代码仓库

    我们可能有多个项目,所以需要分开管理。

cd /home
mkdir code
cd code
//创建三个代码仓库,用于三个项目
svnadmin create project1 
svnadmin create project2 
svnadmin create project3 
//把配置文件放到根目录(/home/code)来统一管理
cd /projcet1/conf 
cp authz passwd /home/code
//进入各个项目的svnserve.conf文件(/home/code/project1/conf),这里以project1为例,其他两个项目一样
vi svnserve.conf
修改成如下:(记得把前面的#去掉,#是用来注释的)
anon-access = none              //禁止匿名访问 
auth-access = write 
password-db = /home/svn/passwd  //统一使用密码文件 
authz-db = /home/svn/authz 
realm =  project1              //你的项目名,svn客户端访问时需要用来对应访问的
//三个项目都依次修改后,回到/home/code
cd /home/code
vi passwd
//添加用户和密码,然后保存退出
[users] 
user1 = user1
user2 = user2
admin1 = admin1
//配置用户权限,然后保存退出
vi authz
[groups]   //分组 
admin = admin    //假如有多个用逗号分隔 
guest = user1 
guset1 = user2 
[/]     //管理者拥有所有读写权限 
* =  
@admin = rw 
[project1:/]    //项目1的访问控制,guest1,2无法访问 
@admin = rw 
或 
user1 = rw 
user2 = rw 
[project2:/]            
@guest = rw
  • 启动svn服务

//-d指明以守护模式运行,-r指明后台运行,svn自动在3690端口监听。3690是默认端口,可以使用“–listen-port=”或者“–listen-host=”来指定其它端口
svnserve -d -r /home/code

      假如要停止服务

killall svnserve
或者
ps -ef|grep svnserve
kill -9 对应的线程id号
  • svn客户端操作

    svn的地址为:svn://服务器的ip地址或域名/项目名

  • 其他问题

    假如报authorization failed错误,在/home/code下的authz文件后面加上killall svnserve

[\]  
* = rw
  • 测试

    1、可以到windows上新建一个文件夹,用svn Checkout(前提是装有TortoiseSVN),地址填写:svn://202.202.202.202/project1

    2、就在当前的linux上,到/home/code以外的目录去,执行:svn checkout svn://202.202.202.202/project1,接下来的就是svn的命令操作咯~~~

  • over


你可能感兴趣的:(linux下安装和配置svn)