最近帮朋友搞了一个项目,为了维护方便一点就在服务器上搭了一个svn服务,之前从没搭过,因此作个记录。vim
首先,svn的安装windows
查看下是否安装了svn服务器
# rpm -qa subversion
若是出现了安装过的svn信息,那么就不用再安装了,若是没有安装,就用yum安装一下吧。app
# yum install subversion
新建版本库svn
先建一个文件夹存放仓库数据,而后用svnadmin建立版本库。举个例子this
# mkdir /home/svn # svnadmin create /home/svn/project
建立完以后在project下应该有如下文件编码
conf db format hooks locks README.txt
code
修改配置文件orm
conf 文件夹下有三个文件须要配置,首先修改 svnserve.conf 文件server
# vim conf/sevserve.conf
找到如下配置,去掉配置前面的注释(#)
#anon-access = read #auth-access = write #password-db = passwd #authz-db = authz
每一个配置项都有它的做用,好比anon-access = read 就是全部人都有读取的权限,不用认证。若是不容许这样,能够改成 anon-access = none,其余做用能够自行百度,并不难理解
注意:这里删掉#号以后前面不要留空格,会报错的。而且配置项和值之间的 = 号两端须要有一个空格,后面的passwd 和 authz 文件也是同样
修改passwd文件,这是管理用户帐号密码的文件
# vim conf/passwd ### This file is an example password file for svnserve. ### Its format is similar to that of svnserve.conf. As shown in the ### example below it contains one section labelled [users]. ### The name and password for each user follow, one account per line. [users] # harry = harryssecret # sally = sallyssecret admin = 123456
很简单,我新增了一个用户admin 密码是 123456。
修改authz 文件,这个文件是管理用户权限的
# vim conf/authz
首先建一个用户组
[group] admin = admin #第一个admin是用户组名称,第二个是咱们刚才新建的用户
而后分配权限
[/] # 做用的范围 / 应该表示当前版本库的全部目录 @admin = rw #@后面是组的名称, rw 读写的权限。就是赋予admin组全部成员读写的权限 * = #除了以上配置过的用户以外全部用户都没有任何权限
先简单的作这些配置,保存
启动svn服务
# svnserve -d -r /home/svn
ok,到此为止就搞定啦,成功建立了版本库。你能够找个目录运行一下 svn checkout svn://localhost/project 查看是否正常。首次运行的时候会有以下信息:
Authentication realm: <svn://localhost:3690> 3f7faa7c-c914-4840-bc5e-1ed0def587ce Password for 'root': Authentication realm: <svn://localhost:3690> 3f7faa7c-c914-4840-bc5e-1ed0def587ce Username: admin Password for 'admin': ----------------------------------------------------------------------- ATTENTION! Your password for authentication realm: <svn://localhost:3690> 3f7faa7c-c914-4840-bc5e-1ed0def587ce can only be stored to disk unencrypted! You are advised to configure your system so that Subversion can store passwords encrypted, if possible. See the documentation for details. You can avoid future appearances of this warning by setting the value of the 'store-plaintext-passwords' option to either 'yes' or 'no' in '/root/.subversion/servers'. ----------------------------------------------------------------------- Store password unencrypted (yes/no)?
这里这个root密码设置了应该是保存在硬盘里的,我也没去研究,设置一个,本身记住,万一之后要用。
导入文件
刚建立的版本库是没有文件的,若是你想把服务器上的某些文件加到版本库,那么能够用import命令,好比个人/home/myporject/ 下的全部文件须要添加进版本库,而且作为一个主要分支,那么能够这么作
# cd /home/myproject/ # svn import . file:///usr/local/svn/project/trunk -m "Initial import"
注意:若是须要添加进版本库的文件有中文名的可能会报编码错误,这时候须要进一步处理了
固然,也能够直接将刚才建好版本库在windows电脑上checkout出来,直接把须要的文件放进去而后commit一下也是同样的。
作完以上步骤,基本就搞定啦,来愉快的玩耍吧!