安装软件
# 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整合完成。