·
搭建SVN
1. svn安装
yum install subversion
2. 判断是否安装成功
svnserve --version
3. 建立svn版本库
mkdir -p /svn/project/repos
4. 创建版本库
svnadmin create /svn/project/repos
以上命令执行完了之后就会在repos下创建多个文件
5. 修改配置文件
完成上面步骤后便是配置文件了
vim /svn/project/repos/conf/passwd
· [users]
· # harry = harryssecret
· # sally = sallyssecret
· hello=123
创建个简单的账号密码,账号:hello, 密码:123。
6. 配置权限authz
vim /svn/project/repos/conf/authz
· [/]
· hello=rw
这个其实还有其他配置,以后再详细更新介绍,这里是指定了hello用户 拥有对所有文件的读写操作
·
7. 配置svnserve.conf
vim /svn/project/repos/conf/svnserve.conf
· [general]
· anon-access = none # 使非授权用户无法访问
· auth-access = write # 使授权用户有写权限
· password-db =/svn/project/repos/conf/passwd
· authz-db = /svn/project/repos/conf/authz # 访问控制文件
必须在general目录下,采用默认配置. 以上语句都必须顶格写,去掉注释, 左侧不能留空格, 否则会出错。
8. 启动SVN
1. 启动svn #svnserve -d -r /svn
2. 查看服务 #ps -ef|grep svn
3. 关闭svn服务 #kill -9 pid
总结下,完成上面的配置后,svn就可以使用了,使用svn://ip/repos访问
·
配置SVN服务器的http服务
因为svn密码为明文,http不支持明文.需要生成一个webpasswd文件
#cd /svn/project/repos/conf
#htpasswd -c webpasswd hello
#第一次需要 加上-c创建文件,如果没有安装httpd则需要执行yum install httpd -y进行安装
执行完上述步骤后,便会多出一个webpasswd文件。
注意如果需要,多次加入用户,则用htpasswd -m
#htpasswd -m webpasswd hello2
配置Apache
#vim /etc/httpd/conf/httpd.conf
在文件最后添加一下代码:
· <Location /svn>
· DAV svn
· SVNPath /svn/project/repos/
· AuthType Basic
· AuthName "svn for project"
· AuthUserFile /svn/project/repos/conf/webpasswd
· AuthzSVNAccessFile /svn/project/repos/conf/authz
· Satisfy all
· Require valid-user
· </Location>
如果80端口被占,则需要修改端口
修改Lister 80为Listen 443
启动http
#/etc/init.d/httpd restart
这是因为,系统没有安装mod_dav_svn,安装一下就可以了
#yum install mod_dav_svn
#yum install mod_authz_svn
#chmod -R o+rw /svn
//加下权限 不然用http访问会报 SVN Can’t open file ‘/XXX/xxx/db/txn-current-lock’错误
再启动下就可以了
访问http://IP:端口/svn/ 就可以了,输入账号密码就OK了,客户端可以下在小乌龟。。。。