[root@centos02 ~]# yum install -y subversion
1.新建一个目录用于存储SVN所有文件
[root@centos02 ~]# mkdir /svn
2. 新建一个资源仓库
[root@centos02 ~]# svnadmin create /svn/project
[root@centos02 ~]# tree /svn/svn└── project ├── conf │ ├── authz │ ├── passwd │ └── svnserve.conf ├── db │ ├── current │ ├── format │ ├── fsfs.conf │ ├── fs-type │ ├── min-unpacked-rev │ ├── rep-cache.db │ ├── revprops │ │ └── 0 │ │ └── 0 │ ├── revs │ │ └── 0 │ │ └── 0 │ ├── transactions │ ├── txn-current │ ├── txn-current-lock │ ├── txn-protorevs │ ├── uuid │ └── write-lock ├── format ├── hooks │ ├── post-commit.tmpl │ ├── post-lock.tmpl │ ├── post-revprop-change.tmpl │ ├── post-unlock.tmpl │ ├── pre-commit.tmpl │ ├── pre-lock.tmpl │ ├── pre-revprop-change.tmpl │ ├── pre-unlock.tmpl │ └── start-commit.tmpl ├── locks │ ├── db.lock │ └── db-logs.lock └── README.txt11 directories, 28 files
[root@centos02 project]# lsconf db format hooks locks README.txt
目录用途说明:l hooks目录:放置hook脚本文件的目录l locks目录:用来放置subversion的db锁文件和db_logs锁文件的目录,用来追踪存取文件库的客户端l format文件:是一个文本文件,里面只放了一个整数,表示当前文件库配置的版本号l conf目录:是这个仓库的配置文件(仓库的用户访问账号、权限等)3. 配置svn服务的配置文件svnserver.conf文件
[root@centos02 project]# vi /svn/project/conf/svnserve.conf
[general]anon-access = readauth-access = writepassword-db = /svn/project/conf/passwdauthz-db = /svn/project/conf/authzrealm = clnking
[root@centos02 project]# vi /svn/project/conf/passwd
[users]# harry = harryssecret# sally = sallyssecretchenlin = 123456test1 = 123test2 = 123
注意:对用户配置文件的修改立即生效,不必重启svn服务。
[root@centos02 project]# vim /svn/project/conf/authz
[aliases]# joe = /C=XZ/ST=Dessert/L=Snake City/O=Snake Oil, Ltd./OU=Research Institute/CN=Joe Average[groups]# harry_and_sally = harry,sally# harry_sally_and_joe = harry,sally,&joeadmin = chenlinuser = test2,test1# [/foo/bar]# harry = rw# &joe = r# * =[/]@admin = rw
格式说明:版本库目录格式:[<版本库>:/项目/目录]@<用户组名> = <权限><用户名> = <权限>/ 表示对根目录(即/svn/project目录)下的所有子目录范围设置权限;[/abc] 表示对资料库中abc项目设置权限;创建一个admin组,组成员包括chenlin创建一个user组,成员只有test2,test1;admin组对目录有读写权限;单个用户test2有读写权限;*=表示除了上面设置的权限用户组以外,其他所有用户都设置空权限,空权限表示禁止访问本目录,这很重要一定要加上。注意:对权限配置文件的修改立即生效,不必重启svn。
启动svn服务
[root@centos02 project]# svnserve -d -r /svn/project/
[root@centos02 project]# ps -ef |grep svnroot 3809 1 0 05:29 ? 00:00:00 svnserve -d -r /svn/project/root 3811 3707 0 05:30 pts/1 00:00:00 grep svn
[root@centos02 project]# netstat -lnutpActive Internet connections (only servers)Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN 3809/svnserve tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 1767/mysqld tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 1571/nginx tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1334/sshd tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1424/master tcp 0 0 :::22 :::* LISTEN 1334/sshd tcp 0 0 ::1:25 :::* LISTEN 1424/master udp 0 0 0.0.0.0:68 0.0.0.0:* 3521/dhclient
原标题:Linux搭建SVN服务器
关键词:linux