通过http访问模式部署SVN的操作步骤如下:
步骤一:安装SVN
步骤二:安装Apache
步骤三:安装mod_dav_svn
步骤四:配置SVN
步骤五:配置Apache
步骤六:浏览器测试访问
1.远程连接Linux实例。
2.运行以下命令安装SVN,Apache,mod_dav_svn。
[root@k8s-node03 ~]# yum -y install subversion httpd mod_dav_svn
1.依次运行以下命令创建SVN版本库
[root@k8s-node03 ~]# mkdir /var/svn/svnrepos
[root@k8s-node03 ~]# cd /var/svn
[root@k8s-node03 ~]# svnadmin create /var/svn/svnrepos
2.运行以下命令修改SVN仓库的用户组为apache。
[root@k8s-node03 svnrepos]# chown -R apache:apache /var/svn/svnrepos
3.依次运行以下命令查看自动生成的版本库文件。
Subversion目录说明如下表:
目录 | 说明 |
---|---|
db | 存放所有的版本控制数据文件。 |
hooks | 放置hook脚本文件。 |
locks | 用来追踪存取文件库的客户端。 |
format | 一个文本文件,文件中只包含一个整数,表示当前文件库配置的版本号。 |
conf | SVN版本库的配置文件(版本库的访问账号、权限等)。 |
4.运行以下命令增加SVN版本库的用户和密码。
SVN默认使用明文密码,而http并不支持明文密码,所以需要单独生成passwd文件。本示例中,增加用户userTest,密码设置为passWDTest。 请根据实际情况选择并运行以下命令:
(1)如果第一次增加用户,运行命令时需要带上参数-c生成文件。
?
[root@k8s-node03 svnrepos]# htpasswd /var/svn/svnrepos/conf/passwd admin
5.设置账号的读写权限。
(1)运行vi authz
命令,打开权限控制文件。
(2)按i
键进入编辑模式。
(3)移动光标至文件末尾,并添加如下代码(其中,userTest表示账号,r表示读权限,w表示写权限):
[/]
admin=rw
6.修改SVN服务配置。
(1)运行vi svnserve.conf
打开SVN服务配置文件。
(2)按i
键进入编辑模式。
(3)移动光标找到如下配置行,删除行前面的注释符#和空格:
?anon-access = read #匿名用户可读,您也可以设置 anon-access = none,不允许匿名用户访问。设置为 none,可以使日志日期正常显示
auth-access = write #授权用户可写
password-db = passwd #使用哪个文件作为账号文件
authz-db = authz #使用哪个文件作为权限文件
realm = /var/svn/svnrepos #认证空间名,版本库所在目录
7.运行以下命令启动SVN版本库。
systemctl start svnserve
说明:
启动服务前,需要先修改/etc/sysconfig/svnserve文件中OPTIONS选项目录为先前创建的SVN目录,可以修改端口号 OPTIONS=“-r /var/svn/svnrepos --listen-port xxxx”
1.运行vim /etc/httpd/conf.d/subversion.conf
命令打开httpd配置文件。
2.按i
键进入编辑模式。
输入以下配置信息:
<Location /svn>
DAV svn
SVNParentPath /var/svn
AuthType Basic
AuthName "Authorization SVN"
AuthzSVNAccessFile /var/svn/svnrepos/conf/authz
AuthUserFile /var/svn/svnrepos/conf/passwd
Require valid-user
</Location>
systemctl start httpd.service
?步骤六:浏览器测试访问
1.在本地主机上打开浏览器。
2.输入网址http://<IP>/svn/<SVN版本库名>并按回车键。本示例中,SVN版本库名为svnrepos。
3.输入账号和密码,即您在passwd文件中设置的账号和密码。本示例中,账号为userTest,密码为passWDTest。
返回结果如下图所示,表示成功访问之前新建的SVN仓库。
?
1.创建版本库目录, 仅为目录,为后面创建版本库提供存放位置
[root@Localhost ~]# mkdir -p /var/svn/svnrepos
2.创建svn版本库, 在第二步建立的路径基础上,创建代码库script,库名可按需求定义
[root@Localhost ~]# svnadmin create /var/svn/svnrepos/script
3.配置svn版本库
[root@Localhost ~]# cd /var/svn/svnrepos/script/conf
#配置账号权限
[root@localhost conf]# vim authz #authz文件后追加如下两行
[/]
admin=rw
#创建svn库用户密码
[root@Localhost conf]# vi passwd #[users]后admin = admin123
[users]
admin = admin123
#配置svn服务
[root@Localhost conf]# vi svnserve.conf
[general]
anon-access = none?? #不允许匿名用户访问
auth-access = write????? #通过验证的用户可以读和写
password-db = passwd???? #用户保存文件
authz-db = authz???? #权限管理文件
realm = /var/svn/svnrepos/scripts??? #认证空间名,版本库所在目录
[sasl]
[root@Localhost conf]# svnserve -d -r /var/svn/svnrepos
安装方式:yum安装
[root@Localhost ~]# yum install svn -y