王艳玲 发表于 2018-11-24 10:30:10

svn+apache+ssl

【linux服务端】
1、yum install httpd mod_dav_svn subversion mod_ssl -y
查看是否安装成功
svn --version
# svn --version
svn, version 1.6.11 (r934486)
   compiled Apr 11 2013, 14:29:11
  

2、添加svn相关模块到httpd配置文件,确认有以下2个模块
LoadModule dav_module modules/mod_dav.so
LoadModule dav_fs_module modules/mod_dav_fs.so
  

【SVN配置】
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
      --要多加一个/    在web错误日志中会有如下:
  The URI does not contain the name of a repository
  

DAV svn
SVNParentPath /svn/date
SVNListParentPath on
AuthType Basic
AuthName "svn"
AuthUserFile /svn/passwd
AuthzSVNAccessFile /svn/auth.conf
Require valid-user



详解
#      表示你的访问目录
#   DAV svn DAV   模块名称(我们这里也就是svn)
#   SVNParentPath /svn/date   我们的库文件夹
#AuthType Basic   验证方式
   AuthName "svn"   验证名称
    AuthUserFile /svn/passwd   验证用户的文件
    AuthzSVNAccessFile   /svn/auth.conf   用户权限文件
    Require valid-user   这项是说明/svn/passwd文件内说有用户都可以访问
4.创建apache账户
   第一次 # htpasswd -c /svn/passwd neo -c 表示新建一个文件以后就不需要加了
   # htpasswd /svn/passwd tina
  

    # vim /svn/auth.conf 编辑权限文件 加入以下内容

group001 = neo,tina
--定义一个组为group001,里面成员有neo和tina
[/]
neo=rw
tina=r

@admin=rw
  

【需要在svn/data/目录下在svnadmin create新建一个名为project的仓库,然后把project文件夹的属主属组改为apache】
http://ip/project/system
  

用户组定义 [/]表示对主目录的权限设置 可以看出neo是读写,tina是只读。
# chown -R apache:apache /svn/ 再次修改文件所属
  

这样apache+svn就搭建好了
启用服务:
# service httpd start
# svnserve -d -r /svn/date/
svnserver 的选项 -d表示以守护进程方式开启 -r 后面跟库目录
接下来就是测试了
  

【linux客户端】
yum -y install subversion
  

然后svn co https://192.168.1.18/svn/www
以后如果有更新的话,直接跑到刚刚新建的www目录下,svn up就可以了
  

【windows客户端】
先在windows下随便将一个文件夹导入到www仓库里面去
路径为http://ip/svn/www
然后再其他地方,把http://ip/svn/www导出来
【先import】



导入成功,接下来就是checkout了

【checkout】
在其他一个盘,将www目录checkout一份下来


  导出成功


【apache+ssl】
这样子apache+svn就可以使用了,但是我们的http在网络上什么都是明文传递的 这样我们的数据是非常不安全的,所以我们将这个服务器与ssl整合到一起
1.生产密钥文件
#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 "/home/ssl/httpd.pem"
SSLCertificateKeyFile "/home/ssl/httpd.key"
  


    Options FollowSymLinks
    AllowOverride None
SSLRequireSSL   --在网站根目录下强制ssl连接

重启apache
现在访问svn,需要用https://192.168.1.18/svn/www

  还是先用http协议访问,结果报了拒绝访问

  现在改为https访问的话,点"继续浏览此网站",然后输入账号和密码就可以了

  几个session图片就是刚刚上传的





页: [1]
查看完整版本: svn+apache+ssl