Chinaunix首页 | 论坛 | 博客
  • 博客访问: 10170795
  • 博文数量: 1669
  • 博客积分: 16831
  • 博客等级: 上将
  • 技术积分: 12594
  • 用 户 组: 普通用户
  • 注册时间: 2011-02-25 07:23
个人简介

柔中带刚,刚中带柔,淫荡中富含柔和,刚猛中荡漾风骚,无坚不摧,无孔不入!

文章分类

全部博文(1669)

文章存档

2023年(4)

2022年(1)

2021年(10)

2020年(24)

2019年(4)

2018年(19)

2017年(66)

2016年(60)

2015年(49)

2014年(201)

2013年(221)

2012年(638)

2011年(372)

分类:

2012-10-29 12:36:08

linux下使用apache+svn+ssl配置安全版本控制平台[技术]  

2012-10-26 16:23:38|  分类: CVS |  标签: |字号 

公司决定把原来windows下的迁移到下,于是有了这篇文章,决定把下配置++的过程记录下来,方便以后查看。

环境:

        centos 5.4_x64 
         2.2.14 
        -1.4.2(担心包关联性问题,就没有考虑最新版本)

安装过程:

1,apache安装

# ./configure --prefix=/usr/local/apache --enable-so --enable-dav=shared --enable-dav-fs=shared --enable-dav-lock=shared --enable-=shared

make

make install

如果这台apache不做其他使用,这个配置就已经足够

2,安装

-1.4.2]# ./autogen.sh  #建议先执行此领命,subversion会进行初始化,之前在make的时候报错,后来执行此操作后,make就顺利过去了

subversion-1.4.2]# ./configure --with-apxs=/usr/local/apache/bin/apxs --with-apr=/usr/local/apache/bin/apr-1-config --with-apr-util=/usr/local/apache/bin/apu-1-config --with-ssl

subversion-1.4.2]# make 
subversion-1.4.2]# make install

到此,如果没有出错,安装工作就已经完成了,下面进入配置阶段

1,apache的配置

正常安装下

LoadModule dav_module modules/.so 
LoadModule dav_fs_module modules/_fs.so 
LoadModule dav_lock_module modules/_lock.so 

LoadModule dav__module     modules/mod_dav_svn.so 
LoadModule authz_svn_module   modules/mod_authz_svn.so 
LoadModule ssl_module   modules/mod_ssl.so

这几个module保证不是被注释的,另外找到 
Include conf/extra/httpd-dav.conf 
Include conf/extra/httpd-ssl.conf

这两行,去掉前面的注释。

编辑conf/extra/httpd-dav.conf,加入如下内容,其余内容可以全部删除

   #是在url或者svn客户端上指定的访问路径 
   DAV svn           #声明svn 
   SVNParentPath /data3/svn  #用来表示共同的父目录,所有不同的版本库都是存放在此目录下 
   AuthzSVNAccessFile /data3/svn/authz  #指定保存路径中的版本库访问策略文件 
   AuthType Basic   #往下是apache的简单认证方式,及密码文件存放位置 
   AuthName "Subversion repository" 
   AuthUserFile /data3/svn/htpasswd 
   Require valid-user 

编辑完成后保存退出,由于http访问的方式密码传输是明文的,所以还需要配置ssl进行加密传输

接下来配置ssl,需要以下几个步骤:

第一步,创建key和request: 
openssl req -new > new.cert.csr

第二步,从key中删除passphrase(可选): 
openssl rsa -in privkey.pem -out new.cert.key

第三步,把request转换成signed sert: 
openssl x509 -in new.cert.csr -out new.cert.cert -req -signkey new.cert.key -days 1825

第四步,把cert和key文件拷贝到适当的位置: 
cp new.cert.cert /usr/local/apache/conf/server.crt 
cp new.cert.key /usr/local/apache/conf/server.key

注:如果你没有在第二步从key中把passphrase删除,那么每次你启动apache的时候你都要输入密码。这也就意味着如果你的服务器因为某些原因重新启动了,除非你在服务器旁手动敲入了密码,否则你的web服务器就不会启动。

到此,apache的配置就完成了,接下来对subversion来进行配置

2,subversion的配置

在/data3/svn下创建authz文件,内容如下

[group] 
test=abc

[test:/] 
@test=rw

保存退出。

设置abc的密码

/usr/local/apache/bin/htpasswd –bc /data3/svn/htpasswd abc 12345678

这样就会在/data3/svn下创建htpasswd文件,内容如下:

abc:gtnqpowogqB/Y

密码采用加密的方式。

创建test库:

svnadmin create /data3/svn/test

到此启动apahce就可以测试了:://ip/svn/test,同样也可以使用svn客户端来访问svn list://ip/svn/test,输入用户名密码后就可以访问新建的test库了。

阅读(565) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~