您的位置:首页 > 理论基础 > 计算机网络

Centos7安装SVN+HTTP

2016-08-31 16:58 471 查看
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 svn
SVNParentPath  /home/svn/
# Authentication: Basic
AuthName "Subversion repository"
AuthType Basic
AuthUserFile /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

输入两次密码,提示添加成功!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: