svn+apache+ssl整合

安装软件
# yum install httpd mod_dav_svn subversion mod_ssl

查看是否安装成功
# svn --version 

查看httpd配置文件 : /etc/httpd/conf/httpd.conf 
LoadModule dav_module modules/mod_dav.so
LoadModule status_module modules/mod_status.so
LoadModule autoindex_module modules/mod_autoindex.so
LoadModule info_module modules/mod_info.so
LoadModule dav_fs_module modules/mod_dav_fs.so  
如果找到以上配置,说明apache模块安装正确

配置
  1.创建版本库
    # mkdir -pv /svn/date   --创建主目录
    # svnadmin create /svn/date/www  --创建仓库
  2.更改权限
    # chmod -R 700 /svn/date/  --修改库的其他人无权限
    # chown -R apache:apache /svn/date/   --修改库的所属
  3.更改apache配置
    #vim /etc/httpd/conf/httpd.conf 
加入以下内容
<Location /svn> 
  DAV svn 
  SVNParentPath /svn/date 
  AuthType Basic 
  AuthName "svn repos" 
  AuthUserFile /svn/passwd 
  AuthzSVNAccessFile /svn/authz
  Require valid-user 
</Location>                         
  #   <Location /svn>   --表示你的访问目录
  #   DAV svn DAV       --模块名称(我们这里也就是svn)
  #   SVNParentPath /svn/date   --我们的库文件夹
  #   AuthType Basic   --验证方式
  #   AuthName "svn"   --验证名称
  #   AuthUserFile /svn/passwd       --验证用户的文件 
  #   AuthzSVNAccessFile /svn/authz  --用户权限文件
  #   Require valid-user     --/svn/passwd文件内的用户都可以访问
  #   </Location>

  4.创建apache账户
   第一次 # htpasswd -c /svn/passwd neo -c 
   表示新建一个文件以后就不需要加了
   # htpasswd /svn/passwd tina
   # vim /svn/authz 编辑权限文件 

   加入以下内容   
   [groups] 
   admin = neo,tina 
   [/] 
   neo=rw 
   tina=r

# chown -R apache:apache /svn/ 再次修改文件所属
这样我们apache+svn就搭建好了
启用服务: 
# service httpd start 
# svnserve -d -r /svn/date/ 

整合ssl
1.生产密钥文件
  #cd /etc/httpd/conf
  生成一个私钥文件
  # openssl genrsa -out httpd.key 1024  
  依次填写:国家,省份,城市,公司,部门,网络名,邮箱完成
  # openssl req -new -key httpd.key -out httpd.pem -days 3650 -x509
  利用这个私钥生成一个自签证书(因为svn使我们公司内部人员使用)

2.修改apache使ssl生效
  # vim /etc/httpd/conf.d/ssl.conf
  修改证书和私钥地址 
  SSLCertificateFile /etc/httpd/conf/httpd.pem
  SSLCertificateKeyFile /etc/httpd/conf/httpd.key
  # vim /etc/httpd/conf/httpd.conf
  <Directory />
    Options FollowSymLinks
    AllowOverride None
  </Directory>
  增加以上配置, 重启apache, 连接svn时就需要用https了

3.加入开机启动
  # chkconfig httpd on
  # vim /etc/rc.local 
  # svnserve -d -r /svn/data

到此apache+svn+ssl整合完成。

你可能感兴趣的:(apache,SVN,ssl)