发表于: 2016-05-08 05:59:00
5 872
要求
安装CentOS或Ubuntu
下载SVN服务器,安装后完成配置
启动SVN服务,配置好权限,创建一个用户(及密码)
本地下载SVN客户端,提交一个*.txt文件,在另一个文件夹里Update,并查看文件是否上传
普通用户有浏览权限,无读写权限
SVN服务器可以外网访问
步骤
- 安装VMware-workstation-full-12.0.0-2985596
- 安装CentOS-7-x86_64-Everything-1511
- 安装方式选择最小化安装
- 网络类型选择桥接
- 启动网络服务:service restart network
- 查询ifconfig相关程序包:yum search ifconfig
- 安装网络服务:yum install net-tools.x86_64
- 安装vim编辑器:yum install vim-*
- 安装apache:yum install httpd
- 禁用系统自带firewalld
- systemctl stop firewalld
- systemctl mask firewalld
- 关闭selinux:vim /etc/selinux/config
#SELINUX=enforcing #注释掉
#SELINUXTYPE=targeted #注释掉
SELINUX=disabled #增加
- 安装并启动iptables
- yum install iptables-severices
- systemctl enable iptables
- 安装SVN服务器
- 安装svn:yum install subversion
- 创建svn版本库:
- 创建svn数据目录:mkdir /var/svn
- 创建版本库:svnadmin create /var/svn/projetc/
- 修改项目库所属组:chown -R apache:apache /var/svn/project/
- 拷贝authz文件:cp /var/svn/project/conf/authz /var/svn/authz
- 创建passwd文件:vim /var/svn/passwd
- 添加远程登陆用户账号:htpasswd /var/svn/passwd user-name
- 配置相关文件
- 进入配置文件目录:cd /var/svn/
- 配置svn权限控制配置文件:vim authz
[groups]
admin = admin #admin为用户组,等号之后的admin为用户
user = user
guest = guest
[/]
@admin = rw #表示admin组对根目录有读写权限,r为读,w为写
[project:/] #表示根目录(/var/svn/project)
@user = rw
@guest = r
* = #除以上组别,其余无任何权限
- 配置svn配置文件:vim /var/svn/project/conf/svnserve.conf
[general]
anon-access = none #控制非鉴权用户访问版本库的权限
auth-access = write #控制鉴权用户访问版本库的权限
password-db = passwd #指定用户名口令文件名
authz-db = authz #指定权限配置文件名
realm = project #指定版本库的认证域,即在登录时提示的认证域名称
- 添加防火墙规则:vim /etc/sysconfig/iptables
- 添加:-A INPUT -p tcp -m state --state NEW -m tcp --dport 3690 -j ACCEPT
- 重启防火墙:service iptables restart
#############################################################################################
- 修改apache服务器配置文件:vim /etc/httpd/conf/httpd.conf
<Location /svn/project> #在location标记中填写项目库的相对路径
DAV svn
SVNPath /var/svn/project #版本仓库绝对路径
AuthType Basic
AuthName "svn for project"
AuthUserFile /etc/httpd/conf/svnpasswd #存放加密过的用户名和密码的地方
AuthzSVNAccessFile /var/svn/project/conf/authz #svn权限访问控制设置文件可以新建
Satisfy all
Require valid-user //用户登录要求验证
</Location>
- 重启svn和apache服务器
- ps -aux | grep svn
- kill -9 svnID
- svnserve -d -r /var/svn --listen-port 3690
- systemctl restart httpd.service
#############################################################################################
# 重启apache服务失败
# 测试失败
#############################################################################################
# 2016-05-08 05:53
#############################################################################################
- 在apache配置文件中加载相应模块:vim /etc/httpd/conf/httpd.conf
LoadModule dav_module modules/mod_dav.so
LoadModule dav_svn_module modules/mod_dav_svn.so
- 路由器设置好端口映射
电信将80端口封了,故在路由器将14159端口映射至192.168.1.108:80
- 下载并安装TortoiseSVN-1.9.4.27285-x64-svn-1.9.4.msi
- 在某目录下右键空白处,点击SVN Checkout
- 填入http://公网IP:14159/svn,填入相对应的目录test1
- 在test1中建立一个文档test.txt,并输入字符,保存,退出
- 右键文件夹test1,选择SVN Commit,选择test.txt,上传
- 在某目录下右键空白处,点击SVN Checkout,填入目录test2,下载得到对应文件test.txt
- 在目录2中,对test.txt文件输入字符,保存,退出
- 右键目录2中test.txt文件,选择SVN Update及SVN Commit
- 右键目录1中test.txt文件,选择SVN Update,查看文件内容,已更新
- 浏览器测试:http://公网IP:14159/svn
输入用户名、密码后,可查看文件及其更新版本。
测试成功
结束!
#############################################################################################
# 2016-05-09 01:49
#############################################################################################
评论