a2005147 发表于 2018-11-26 11:34:21

yum实现svn+apache+ssl整合

前面有一篇配置独立服务器svn方式,这次将svn与apache整合同时为了保证数据传输的安全启用ssl加密。将svn+apache+ssl整合到一起。
    为了使大家快速安装,这里使用全部yum安装(安装之后的配置与源码相同)。
安装
   我的平台是 redhat 5.4 ,首先大家需要构建一个yum环境
   # mkdir /media/cdrom/      
# mount /dev/cdrom /media/cdrom/    --创建一个文件夹并把系统光盘挂在这个文件上


修改yum配置文件
#vim /etc/yum.repo.d/server.repo加入以下内容

name=Server
baseurl=file:///media/cdrom/Server
enable=1
gpgcheck=0

安装软件

# yum install httpd mod_dav_svn subversion mod_ssl

   查看是否安装成功
#svn --version 如果出现版本号如
http://blog.51cto.com/lxycneo/../attachment/201109/102540668.jpg
则说明svn安装成功
查看httpd配置文件/etc/httpd/conf/httpd.conf
如果找到
http://blog.51cto.com/lxycneo/../attachment/201109/104452349.jpg
这说明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
   加入以下内容
   
DAV svn
SVNParentPath /svn/date
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 编辑权限文件 加入以下内容
   
admin = neo,tina
[/]
neo=rw
tina=r

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




这样我们apache+svn就搭建好了
启用服务:
# service httpd start
# svnserve -d -r /svn/date/   

svnserver 的选项 -d表示以守护进程方式开启 -r 后面跟库目录
测试http://blog.51cto.com/lxycneo/../attachment/201109/111325272.jpg
导入文件
http://blog.51cto.com/lxycneo/../attachment/201109/111346931.jpg
输入账户密码
http://blog.51cto.com/lxycneo/../attachment/201109/111408958.jpg
传输完成。
这样子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
利用这个私钥生成一个自签证书(因为svn使我们公司内部人员使用)
http://blog.51cto.com/lxycneo/../attachment/201109/112319265.jpg


再红线处依次填写:国家,省份,城市,公司,部门,网络名,邮箱完成。
修改apache使ssl生效
# vim /etc/httpd/conf.d/ssl.conf
http://blog.51cto.com/lxycneo/../attachment/201109/112635391.jpg
在红线处 修改证书和私钥地址
# vim /etc/httpd/conf/httpd.conf 加入红线那行(表示强制使用ssl连接)
http://blog.51cto.com/lxycneo/../attachment/201109/112933253.jpg
重启apache.


http://blog.51cto.com/lxycneo/../attachment/201109/113136718.jpg
浏览器访问 https://192.168.127.5/svn/www
http://blog.51cto.com/lxycneo/../attachment/201109/113248439.jpg
表示已经打开ssl连接了




连接svn时就需要用https了
加入开机启动
# chkconfig httpd on
# vim /etc/rc.local
http://blog.51cto.com/lxycneo/../attachment/201109/113657950.jpg
加入红线行
到此apache+svn+ssl整合完成。




ps:一定要注意权限问题。







页: [1]
查看完整版本: yum实现svn+apache+ssl整合