Ubuntu 安装SVN服务器端步骤教程,ubuntusvn


Apache Subversion(简称SVN,svn),是一个开放源代码的版本控制系统,相对于的RCS、CVS,采用了分支管理系统,它的设计目标就是取代CVS。互联网上越来越多的控制服务从CVS转移到Subversion。

首先,从镜像下载安装svn服务器端:

[plain] view plaincopy

sudo apt-get install subversion

进入目录,准备创建svn目录:

[plain] view plaincopy

cd /usr/local/

创建一个svn目录:

[plain] view plaincopy

mkdir svn

修改目录权限为777:

[plain] view plaincopy

chmod -R 777 svn

创建一个svn版本仓库sunny(sunny可以随便起名字)

[plain] view plaincopy

svnadmin create /usr/local/svn/sunny

进入sunny版本仓库下的配置文件目录:

[plain] view plaincopy

cd sunny/conf

下面要修改这个目录下的三个配置文件

(1)vi svnserve.conf //配置版本库信息和用户文件和用户密码文件的路径、版本库路径

[

# anon-access = read

# auth-access = write

# password-db = passwd

//这四行,前面的#号和空格去掉,变成

anon-access = none //改成none

auth-access = write

password-db = passwd

realm = sunny //改成自己的版本库

保存

(2)vi authz //文件,创建svn组和组用户的权限

[group]

sunny = gep,wce //创建一个sunny的组,并制定两个用户gep和wce

[/] //制定根目录下的权限

@sunny = rw //sunny组用户权限为读写

* = r //其他用户只有读权限

保存退出

(3) vi passwd //创建或修改用户密码

[users]

gep = 123456 //用户名为gep的用户的密码为123456

wce = 123456 //。。。

保存退出

然后要设置自启动

[plain] view plaincopy

vi /etc/rc.local //打开自启动文件

文件内容如下

[plain] view plaincopy

#!/bin/sh

#

# This script will be executed *after* all the other init scripts.

# You can put your own initialization stuff in here if you don't

# want to do the full Sys V style init stuff.

touch /var/lock/subsys/local

/usr/local/webserver/mysql/3306/mysql start

ulimit -SHn 51200

/usr/local/webserver/php/sbin/php-fpm start

/usr/local/webserver/nginx/sbin/nginx

svnserve -d -r /usr/local/svn/sunny

#/usr/local/webserver/mysql/bin/mysql -u roo

t -p -S /tmp/mysql.sock

svn命令:

[plain] view plaincopy

lsof -i :3690 查看svn是否启动

ps aux |grep 'svn' 查找所有svn启动的进程

kill -9 2505 杀死2505这个查找到的svn进程

svnserve -d -r /usr/local/svn/sunny 启动svn(可以把这个放到/etc/local/rc.local文件中,实现开机自启动)

svn up //更新文件

#svn commit -m "注释" xxx.php //提交文件

svn ci -m'aaa' test.php //提交文件

#svn add file //新建文件并添加到svn

svn add *.php //(添加当前目录下所有的php文件)

svn delete test.php //删除test.php

svn log test.php //查看test文件的log信息

svn co svn://x.x.x.x ./ //检出一份版本库文件到当前目录

svn switch --relocate svn://x.x.x.x svn://x.x.x.x //重新定位SVN版本库地址

相关内容