按照如下步骤快速搭建centos6下的svn系统并支持https协议checkout和import代码,亲测成功!
1.【基本包yum安装】
yum httpd subversion mod_dav_svn mod_ssl
2.【创建版本库并设置版本库目录权限】
mkdir -pv /ce/rui
svnadmin create /ce/rrui/www
chmod -R 700 /ce/rui
chown -R apache:apache /ce/rui
3.【在/etc/httpd/conf.d/下subversion.conf文件中添加项目路径,可设定多个项目】
<Location /ce> --设定访问目录
DAV svn --模块
SVNParentPath /ce/rui --版本库根目录,在运行svnserve -d -r 时指定,我们测试指定的是/ce/rui,并在/etc/rc.d中增加svnserve -d -r /ce/rui
AuthType basic --认证类型
AuthName "svn authorization" --登陆认证提示
AuthUserFile /ce/passwd--认证用户文件 AuthzSVNAccessFile --/ce/auth.conf --svn权限文件
Require valid-user --有效账户
</Location>
4.【添加认证用户】
htpasswd -c /ce/passwd rui
5.【配置/ce/auth.conf svn版本库下的各个用户对各个项目的权限】
vim /ce/auth.conf配置内容如下
[groups]
admin = rui,ce,admin
user = caodan
[/]
@admin = rw
caodan = r
重新设定/ce目录的属主是apache,主要是针对刚刚建的auth.conf的,因为我们现在的用户是root,所以新建的auth.conf属主是root,则改下
chown -R apache:apache /ce
启动svn并重启httpd
service httpd restart
svnserve -d -r /ce/rui并将此句加入到/etc/rc.local设定开机启动
6.【测试】在windows用TortoiseSVN导入一个 项目
导入的目录版本系统url路径是如下标记
测试导入项目完成
浏览器效果
到上面一个基于apache的svn版本控制系统就搭建完了,
注意哦!,上面的url路径是http,此时我们还没设定ssl,记住此处是为了下面的效果对比哦!
附加基于apache的svn系统增添ssl的https协议,
【附svn+ssl】快速配置如下
1.【cd到/etc/httpd/conf/目录生成密钥文件】
openssl genrsa -out httpd.key 1024
2.【由密钥生成自签证书】
openssl req -new -key httpd.key -out httpd.pem -days 3650 -x509
依次填写:国家,省份,城市,公司,部门,网络名,邮箱完成
3.【修改/etc/httpd/conf.d/ssl.conf使用前步骤生成的证书和私钥】
未改前
改成
修改/etc/httpd/conf/httpd.conf强制使用SSL
在<Directory />
</Directory>标签中曾SSLRequireSSL即可
重启httpd
测试
包这个错,先前以为是openssl-devel包没装,svn也需重启,但猜想一一被否决.原本还测试成功的啊!我靠,神马 问题啊?留着有空再解决,大家对不住了!