【linux服务端】
1、yum install httpd mod_dav_svn subversion mod_ssl -y
查看是否安装成功
svn --version
[root@localhost html]# 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
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 编辑权限文件 加入以下内容
[groups]
group001 = neo,tina
--定义一个组为group001,里面成员有neo和tina
[/]
neo=rw
tina=r
[project:/system]
@admin=rw
【需要在svn/data/目录下在svnadmin create新建一个名为project的仓库,然后把project文件夹的属主属组改为apache】
http://ip/project/system
[groups]用户组定义 [/]表示对主目录的权限设置 可以看出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图片就是刚刚上传的