公司有好几个网站项目,随着同一个项目接手开发的同学越来越多,版本控制变成一个必须的工具。交给我来配置,在这里记录下来;
SVN可以有好几种连接方式,我这里使用的是自带的SVN://协议访问。还有通过配置apache2来使用http://访问。或者文件协议file://.
首先安装Subversion,服务器环境为Ubuntu Server.
sudo apt-get install subversion
安装成功后,就创建版本库了。
先创建一个存放版本库的文件夹,方便管理。
mkdir /var/svn
根据项目需要,创建几个不同的版本库。
cd /var/svn svnadmin create /var/svn/aaa
执行以上命令后,可以查看aaa这个文件夹里有些什么东西:
cd aaa ls
会看到列出:conf db format hooks locks README.txt
进入配置文件夹conf,输命令:
cd conf ls
可以看到列出:authz passwd svnserve.conf几个文件,这里说明下:
svnserve.conf:这个版本库的配置文件,包括如何验证SVN访问,访问配置文件等。命令打开编辑它:
vi svnserve.conf
看到以下代码:
[general] # anon-access = read # auth-access = write ... # password-db = passwd # 密码验证文件位置,这里去掉注释即可,为同目录下passwd文件 ... # authz-db = authz # 同上,用户验证文件,保存可以访问用户验证信息,等下会配置 ... # realm = My first repostory
# 注释都去掉
realm = 一个类似Title说明,可以填任何字符,一般 reaml = ProjectName.
保存退出
然后编辑passwd
vi passwd
这里配置用户信息,在[users]下输入:
[users] username = password # 形式如这样,用户名 = 密码,多个用户名多写几行就是
保存退出,编辑authz文件,
vi authz
下面是我添加的代码:
[groups] # 群组 # harry_and_sally = harry,sally # harry_sally_and_joe = harry,sally, aaa = root,hewei # 用户组 = 用户名,用户名,用户名(用户名为刚才passwd里添加的用户,多个用","隔开) [aaa:/] # 版本库 文件夹权限配置。这里表示aaa版本库根目录下 @aaa = rw # 对用户组赋予权限,格式:@用户组 = rw (r,读 w,写 或者为空)
到此一个版本库配置完成。
可以启动svnserv来运作。
svnserve -d -r /var/svn/ # -d表示后台运行方式启动, -r /var/svn 对svn这个目录启动
则现在可以通过以下方式连接上SVN服务器了。
比如我使用TSVN客户端,地址:svn://111.111.111.111/aaa
验证输入配置时候的用户名密码就OK了。
配置多个版本库只要再建立一个版本库:
svnadmin create -r /var/svn/bbb
然后配置同上。完了重新启动下svnserve:
killall svnserve svnserve -d -r /var/svn/
当然,大部分时候我们可能需要配置SVN提交时候同步到WEB服务器文件目录上去,下次再把相关配置分享出来吧。
// -_- Larro