设为首页 收藏本站
查看: 732|回复: 0

[经验分享] CentOS6.4下安装配置SVN+Apache

[复制链接]

尚未签到

发表于 2017-1-5 09:51:08 | 显示全部楼层 |阅读模式
RT, 软件采用yum方式安装。

一、软件安装

1. 安装SVN、Apache及其他相关

yum install httpd mod_dav_svn subversion mod_ssl
 

2. 测试安装是否成功

Apache: 
DSC0000.png
 SVN:

DSC0001.png


出现截图所示内容表示安装成功,下面开始配置
 

二、配置SVN

1.初始化版本仓库

新建SVN目录
mkdir /www/svn
新建SVN仓库
svnadmin create /www/svn/project
初始化版本仓库
cd /www/svn/project
mkdir project project/server project/client project/test
svn import project/ file:///home/svn/project -m “Init the repository”
删除临时目录
rm -rf /www/svn/project/project
 

2.配置配置权限、用户等

修改/www/svn/project/conf/下的authz和passwd文件,添加账户并设置目录权限
passwd如:
 

[users]
usera=888888
userb=888888
 
 
auth如:
 

[groups]
super=usera
normal=userb
[/]
@super=rw
*=
[project:/]
@super=rw
@normal=r
*=
启用自定义配置:
vi /www/svn/project/conf/svnserve.conf 
 
启用[general]的几行
anon-access = read
auth-access = write
password-db = passwd
authz-db = authz
 

3.启动测试SVN

启动SVN
svnserve -d -r /home/svn
svn co svn://machine_ip/project
按提示输入最后出现类似“Checked out revision 2”表示成功
 

三、Apache+SVN整合

编辑Apache的Subversion配置文件
 

<Location /project>
DAV svn
SVNPath /www/svn/project/
#SSLRequireSSL
AuthType Basic
AuthName "Subversion for project"
AuthUserFile /www/svn/project/conf/passwd_httpd
AuthzSVNAccessFile /www/svn/project/conf/authz
Satisfy all
Require valid-user
</Location>
Apache的账户不支持SVN的明文密码,我们用下面的命令来添加SVN账户:
 
htpasswd -bcm /www/svn/project/conf/passwd_httpd usera 888888
 
设置资源库文件所属账户
chown -R apache.apache /www/svn
 
重启Apache:
service httpd restart
 
现在就可以在浏览器尝试访问了:
http://svn_machine_ip/project
按提示输入用户名密码。
访问不了?查看下apache日志:
tail -100f /etc/httpd/logs/error_log
 

[Mon Oct 07 01:20:37 2013] [error] [client 192.168.1.108] (13)Permission denied: Could not open password file: /home/svn/project/conf/webpasswd
[Mon Oct 07 01:20:37 2013] [error] [client 192.168.1.108] access to /project failed, reason: verification of user id 'usera' not configured
[Mon Oct 07 01:20:45 2013] [error] [client 192.168.1.108] (13)Permission denied: Could not open password file: /home/svn/project/conf/webpasswd
[Mon Oct 07 01:20:45 2013] [error] [client 192.168.1.108] access to /project failed, reason: verification of user id 'usera' not configured
[Mon Oct 07 01:21:26 2013] [error] [client 192.168.1.108] (13)Permission denied: Could not open password file: /home/svn/project/conf/webpasswd
[Mon Oct 07 01:21:26 2013] [error] [client 192.168.1.108] access to /project failed, reason: verification of user id 'usera' not configured
[Mon Oct 07 01:22:02 2013] [error] [client 192.168.1.108] (13)Permission denied: Could not open password file: /home/svn/project/conf/webpasswd
[Mon Oct 07 01:22:02 2013] [error] [client 192.168.1.108] access to /project failed, reason: verification of user id 'usera' not configured
 
对于这个问题有人说关掉SElinux,个人没试过,不过肯定不好,影响主机安全性。
执行如下命令即可:
 

chcon -R -h -t httpd_sys_content_t /www/svn
  

四、配置Https方式访问版本仓库

需要用到OpenSSL工具。

1.生成需要的证书、密钥

上面是以http方式访问的,安全性低,下面设置强制https访问svn:
 

2.配置Apache的Subversion强制使用Https

生成私钥
cd /etc/httpd/conf
openssl genrsa -out httpd.key 1024
用前面的私钥生成证书
openssl req -new -key httpd.key -out httpd.pem -days 3650 -x509
 
修改Apache的SSL配置文件
# vim /etc/httpd/conf.d/ssl.conf
 
  SSLCertificateFile /etc/httpd/conf/httpd.pem
  SSLCertificateKeyFile /etc/httpd/conf/httpd.key
  配置subversion强制使用https访问
  # vim /etc/httpd/conf/httpd.conf
  启用SSLRequireSSL配置(去掉前面的注释符)

五、Eclipse中使用https连接svn
  其实这点也没啥好说的,之所以列出来是因为中间出现了一点小问题,记录下:

1、Eclipse中https连接svn失败
DSC0002.png

  首先之前用小乌龟客户端和浏览器是能够连接svn的,既然小乌龟客户端可以连接为什么Eclipse不能连接呢?
  猜测可能和SVN插件版本(1.6)有关, 升级到1.8后,可以正常访问了^_^至于有人介绍的说什么修改Apache配置的SSL协议之类的也试过,也会出现错误,如:
      RA layer request failed
  svn: OPTIONS of 'https://xxxxx/project': SSL negotiation failed: SSL error: sslv3 alert handshake failure (https://xxxxx)

参考文章:

http://www.iyunv.com/Linux/2013-03/81007p7.htm
http://zhumeng8337797.blog.163.com/blog/static/100768914201292642655560/
http://www.ha97.com/4467.html

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-324107-1-1.html 上篇帖子: Apache Hive 0.10.0发布 下篇帖子: 服务器-apache-common-httpclient测试
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表