1.首先安装svn
yum install subversion
2.安装httpd
yum install httpd
3.安装apache的svn操作模块
yum install mod_dav_svn
yum install openssl openssl-devel
4.查看svn版本
svnserve –version
5.创建svn版本库
svnadmin create /home/svn/project
6.进入svn的conf文件夹
cd /home/svn/project/conf
7.查看conf下面的文件列表
ls
分别为:authz passwd svnserve.conf
8.修改authz文件
view authz
修改内容如下图:
rw : 可读可写
r : 只读
修改完成按esc 再输入 :wq
如果保存错误就强制保存 输入 :wq!
9.修改passwd文件
view passwd
10.修改svnserver.conf
首先备份:cp svnserver.conf svnserver.conf.bak
命令:view svnserver.conf
修改内容:
11.svn配置完成,启动svn
命令:svnserve -d -r /home/svn/project/
查看进程: ps -aux|grep svn
尝试导入:svn import test svn://123.123.123.123/project/test -m "test" --force-log
提示:尝试导入需要在当前目录有test文件夹存在,如果没有就创建,命令:mkdir test
12.启动出错,错误内容:认证失败( authentication failed)(没有这个错误的就跳过这一条)
处理方法:
方法一:检查三个配置文件中配置前面是否存在空格,例如:
方法二:修改/root/.subversion/service配置文件
修改store-plaintext-passwords = yes
提示:因为文件内容过多,需要光标一直往下,才能看到全部文件内容!
然后查看进程:命令:ps -aux|grep svn
结束svn进程:kill 11036
重启svn:svnserve -d -r /home/svn/project/
或者:systemctl start svnserver.service
再次尝试导入:svn import test svn://123.123.123.123/project/test -m "test" --force-log
提示:如果没有错误就是导入成功
13.访问svn
通过TortoiseSVN Repository Browser访问
地址:svn://123.123.123.123/project
14.配置httpd
进入配置文件夹:cd /etc/httpd/conf/httpd.conf
首先备份配置文件:cp httpd.conf httpd.conf.bak
15.修改httpd.conf文件
在文件的末尾添加:
<Location /svn>DAV svnSVNParentPath /home/svn/# Authentication: BasicAuthName "Subversion repository"AuthType BasicAuthUserFile /etc/httpd/svn-auth.htpasswd# Authorization: Authenticated users only<LimitExcept GET PROPFIND OPTIONS REPORT>Require valid-user</LimitExcept></Location>
提示信息:
“<Location /svn>”中的”/svn”表示我们的svn的访问URL为”http://ip/svn”,“DAV svn”表示使用”mod_dav_svn”模块,dav是一种http 1.1扩展协议,mod_dav_svn只是该协议的一种应用。“SVNParentPath /var/svn”表示服务”http://ip/svn”请求时,使用”/var/svn”路径下相应的内容。AuthName 表示输入用户名和密码时的提示信息AuthType 认证类型,这里我们使用基本的认证类型AuthUserFile 表示认证文件的位置,我们待会创建它。LimitExcept节点指示只对写请求需要用户认证。
16.创建svn-auth.htppasswd文件
命令:htpasswd –c -m /etc/httpd/svn-auth.htpasswd 用户名
例如:htpasswd –c -m /etc/httpd/svn-auth.htpasswd abcd
然后按提示输入两次密码!
17.将apache用户对svn目录授权
依次执行下面3条命令:
命令1:usermod -a -G root apache命令2:chmod -R g+w /home/svn/project命令3:groups apache
18.启动apache
命令:systemctl start httpd.service
19.启动如果出错处理
一般都是端口被占用,apache默认端口80,修改监听端口修改httpd.conf 配置文件,修改为9999重启apache: systemctl restart httpd.service
20.访问svn
http://123.123.123.123:9999/svn/project/输入用户名:abcd 密码:******
21.增加httpd用户:
命令:htpasswd /etc/httpd/svn-auth.htpasswd abcd
输入两次密码,提示添加成功!