centos6搭建httpd+svn

apache SVN 用户手册:http://svnbook.red-bean.com/en/1.7/index.html

1, Apache Subversion服务安装

a,安装svn,httpd

官网指南:https://subversion.apache.org/packages.html
web访问svn配置:http://svnbook.red-bean.com/nightly/en/svn.serverconfig.httpd.html

yum -y install httpd
yum -y install mod_dav_svn subversion

[root@test-c62 conf.d]# rpm -ql mod_dav_svn
/etc/httpd/conf.d/subversion.conf
/usr/lib64/httpd/modules/mod_authz_svn.so
/usr/lib64/httpd/modules/mod_dav_svn.so

[root@test-c62 conf.d]# cat /etc/httpd/conf.d/subversion.conf                                                                                     
LoadModule dav_svn_module     modules/mod_dav_svn.so                     
LoadModule authz_svn_module   modules/mod_authz_svn.so                                                                              
# Example configuration to enable HTTP access for a directory            
# containing Subversion repositories, "/var/www/svn".  Each repository   
# must be both:                                                                                                                                
#   a) readable and writable by the 'apache' user, and                                                                                      
#   b) labelled with the 'httpd_sys_content_t' context if using          
#   SELinux                                                              
#                                                                                                                                   
# To create a new repository "http://localhost/repos/stuff" using        
# this configuration, run as root:                                       
#                                                                        
#   # cd /var/www/svn                                                    
#   # svnadmin create stuff                                              
#   # chown -R apache.apache stuff                                       
#   # chcon -R -t httpd_sys_content_t stuff                                                                                              
                                                                         
#<Location /repos>                                                       
#   DAV svn                                                              
#   SVNParentPath /var/www/svn                                                                                                   
#   # Limit write permission to list of valid users.                     
#   <LimitExcept GET PROPFIND OPTIONS REPORT>                            
#      # Require SSL connection for password protection.                 
#      # SSLRequireSSL                                                                                                                     
#      AuthType Basic                                                    
#      AuthName "Authorization Realm"                                    
#      AuthUserFile /path/to/passwdfile                                  
#      Require valid-user                                                
#   </LimitExcept>                                                       
#</Location>                                                             

b,配置svn,httpd

配置ssl自签证书

使用openssl,生成自签证书:https://blog.csdn.net/eyeofeagle/article/details/103759058

# 1, svn 创建仓库
mkdir /svn
svnadmin create /svn/project1

# 2, 配置http访问svn
cat >> /etc/httpd/conf.d/subversion.conf <<EOF
<Location /svn/>
	SSLRequireSSL 
    DAV svn
    SVNParentPath /svn
    SVNListParentPath on
    AuthType Basic
    AuthName "Subversion login:"
    AuthUserFile /svn/http_accesspwd
    AuthzSVNAccessFile /svn/http_authz
    Satisfy all
    Require valid-user
</Location>
EOF


# 3, 创建http的访问密码
htpasswd -c /svn/http_accesspwd  admin
#htpasswd   /svn/http_accesspwd  a
#htpasswd   /svn/http_accesspwd  b

cp  /svn/project1/conf/authz  /svn/http_authz
cat >> /svn/http_authz <<EOF
admin = admin
user = a,b

[/]
@admin = rw
@user = r
* = 
EOF


# 5, 重启svn,httpd
chown -R apache:apache /svn/
killall svnserve ; svnserve -d -r /svn
service  httpd restart

c,通过http访问svn

在这里插入图片描述
解决报错:The URI does not contain the name of a repository. [403, #190001]

 配置: /etc/httpd/conf.d/subversion.conf ,将<Location /svn> 改为<Location /svn/>

2, CollabNet Subversion Edge服务安装

a, 介绍和安装使用

CollabNet Subversion Edge主页:https://ctf.open.collab.net/sf/projects/svnedge/
安装包下载:https://ctf.open.collab.net/sf/frs/do/listReleases/projects.svnedge/frs.svnedge
安装指南:https://ctf.open.collab.net/sf/wiki/do/viewPage/projects.svnedge/wiki/LinuxInstaller

默认端口: 3343,4434

You do not need to be root to install or run the application, 
in fact you SHOULD NOT be root when you install or run the app. 
(不需要root权限来安装,推荐普通用户运行)

You will need root or sudo permissions if you want 
to be able to configure the application to run the 
included Apache httpd on port 80/443
(只有当你的端口为80/443时,才需要root权限)

#修改端口
data/conf/csvn-wrapper.conf 

##两个服务启动
bin/csvn
bin/csvn-httpd

##httpd服务的运行用户:
[test@host1 csvn]$ ps -ef |grep httpd
root      14324      1  0 18:05 ?        00:00:00 /csvn/csvn/bin/httpd -f /csvn/csvn/data/conf/httpd.conf -k start
saslauth  14330  14324  0 18:05 ?        00:00:04 /csvn/csvn/bin/httpd -f /csvn/csvn/data/conf/httpd.conf -k start

##修改启动用户,组 (httpd服务)
[root@host1 csvn]# grep saslauth /csvn/csvn/ -r
/csvn/csvn/data/conf/csvn_main_httpd.conf:User saslauth
/csvn/csvn/data/conf/teamforge.properties:httpd.user=saslauth
/csvn/csvn/data/conf/teamforge.properties:app.user=saslauth
##修改启动用户,组 (svn服务)
[root@host1 csvn]# grep run_as_user /csvn/csvn/data/conf/csvn.conf -i
RUN_AS_USER=

在这里插入图片描述

b,优化:ssl自签证书, 支持打开xml文件

配置httpd,并重启csvn-httpd服务
在这里插入图片描述
在这里插入图片描述

3, 同步旧仓库的代码

svnsync init https://192.168.56.11:4430/svn/repo1   https://192.168.56.22:442/svn/repo1/  \
	 --trust-server-cert \
	--source-username test1 --source-password test1 \
	--sync-username admin --sync-password adminpassword
  
#Repository has not been enabled to accept revision propchanges; ask the administrator to create a pre-revprop-change hook
#--> 解决:在仓库的hooks目录,copy pre-revprop-change.tmpl 为pre-revprop-change,修改exit 1 为exit 0

svnsync sync https://192.168.56.11:4430/svn/repo1 \
	 --trust-server-cert  \
	--source-username test1 --source-password test1 \
	--sync-username admin --sync-password adminpassword
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

根哥的博客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值