搭建基于SSL协议的svn服务器

严格来说配置管理不属于CI的范畴,但我个人觉得作为一个流程改进实践,配置管理做的越好就越有利于CI实施。如何进行配置管理,不是这篇文章的重点。我要介绍的是配置管理两个重点(配置策略与版本控制)中的版本控制。以版本管理工具svn的使用为出发点,文中主要介绍如何搭建svn服务器。

svn(subversion)是一款著名的开源版本控制软件,我相信很多开发人员都在使用它来进行代码管理。这里可以了解更多信息http://subversion.apache.org/。你可能知道如何使用svn来进行日常的代码check in, check out,但并不一定知道如何去搭建一个svn服务器。这篇博客主要就是说这个。以下所有的操作都是在Ubuntu上进行的,所以你可能需要知道一些Ubuntu上的知识。

搭建svn的第一步当然是安装了,在Ubuntu下你可以这样做

sudo apt-get install subversion libapache2-svn libapache-mod-dav apache2

如果安装失败是因为找不到安装包,请先运行apt-get install update. 

第二步是启用SSL,

sudo a2enmod ssl
sudo sh -c "echo 'Listen 443' >> /etc/apache2/ports.conf"

因为SSL的默认端口是443端口,我们把它添加到apache的端口配置文件中。

第三步是生成SSL的认证,这里我们需要先安装SSL的认证服务

sudo apt-get install ssl-cert
sudo mkdir /etc/apache2/ssl
sudo /usr/sbin/make-ssl-cert /usr/share/ssl-cert/ssleay.cnf  /etc/apache2/ssl/apache.pem

第四步,创建站点,这里的$SITENAME环境变量,给一个你自己喜欢的名字就可。

sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/$SITENAME
sudo vim /etc/apache2/sites-available/$SITENAME

然后修改站点配置文件如下: 

下一步是配置一个svn访问的账户:

sudo htpasswd2 -c -m /etc/apache2/dav_svn.passwd $AUTH_USER

然后重启apache服务来启动站点

sudo a2ensite $SITENAME
sudo /etc/init.d/apache2 restart  

如果失败了,可能是虚拟主机没有被apache找到,请添加这一行 ServerName $SERVERNAME 到 /etc/apache2/apache2.conf 文件中。

第五步就到创建svn知识库的时候了,先创建一个目录用于存放svn配置信息,再创建一个环境变量$REPOS用于存放内容,并改变其访问权限

sudo mkdir /var/svn
sudo export REPOS=你的知识库路径
sudo svnadmin create /var/svn/$REPOS
sudo chown -R www-data:www-data /var/svn/$REPOS
sudo chmod -R g+ws /var/svn/$REPOS

第六步添加基本的认证信息,$AUTH_USER给个自己喜欢的用户名即可。

sudo htpasswd2 -c -m /etc/apache2/dav_svn.passwd $AUTH_USER

并修改WebDav和svn配置文件 sudo vim /etc/apache2/mods-available/dav_svn.conf 添加如下内容

DAV svn
SVNParentPath /var/svn
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /etc/apache2/dav_svn.passwd
Require valid-user
SSLRequireSSL

并取消这两行的注释

#<LimitExcept GET PROPFIND OPTIONS REPORT>
#</LimitExcept>

唉!配置svn服务器还真是麻烦!不过幸好这已经是最后一步了。剩下的我们就重启一下apache来启用我们的配置吧。

sudo /etc/init.d/apache2 restart

如果一切正常,并且你没有敲错什么字母的话,apache应该能正常启动。那么我们就测试一下

 在你的浏览器地址栏输入:https://localhost/svn/你的知识库名称。应该会有弹出提示输入用户名和密码对话框。通过认证后,你会看到如下界面(test.html是我自己导入的,默认应该没有任何文件)。

通常上面的步骤没有出错的话,这个界面会正常显示。如果失败,那么大多数情况是403错误,请检查端口和目录的权限。(PS:http协议我没有配置成功,可惜了)。

转载于:https://www.cnblogs.com/moonz-wu/archive/2012/06/18/2552476.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值