第一步:通过yum命令安装svnserve,命令如下:
yum -y install subversion
此命令会全自动安装svn服务器相关服务和依赖,安装完成会自动停止命令运行
若需查看svn安装位置,可以用以下命令:
rpm -ql subversion
第二步:创建版本库目录(此仅为创建目录,为后面创建版本库提供存放位置)
默认情况下,svn版本库目录默认为/var/svn路径下,一般建议放在此路径下,默认约定,也可以放其他目录
如果要放其他目录,需要修改svn配置文件,svn使用此方式安装后的配置文件路径为
如果要安装到其他路径,可以修改配置文件中的OPTION=“-r 安装路径”
修改的命令为:
vi /etc/sysconfig/svnserve
选择在var路径下创建版本库,当前处于根目录下,创建目录如下:
mkdir /var/svn
第三步:创建svn版本库
在第二步建立的路径基础上,创建版本库,命令如下:
svnadmin create /var/svnrepos/xxxx
----(xxxx表示你要创建的版本库名称,可自定义),我要创建一个名为pros的版本库,所以我执行如下命令:
svnadmin create /var/svnrepos/pros
创建成功后,进入xxxx目录下
进入pros目录,执行
cd /var/svn/pros
进入目录,可以看见如下文件信息:
第四步:配置修改
进入已经创建好的版本库配置目录下,也就是前文说创建的pros,进入conf
cd /var/svnrepos/pros/conf
conf目录下,一共存放三份重要的配置文件,如下:
authz:负责账号权限的管理,控制账号是否读写权限
passwd:负责账号和密码的用户名单管理
svnserve.conf:svn服务器配置文件
1.编辑 authz 文件(注意:[/]也是必须的)
[/]:表示根目录,即 /var/svn
root = rw:表示用户root对根目录具有读写权限。
2.编辑 passwd 文件
如上所示,用户名为:root,认证密码为:123456
3.编辑 svnserve.conf 文件(注意:配置的前面不能有空格,一定要顶格写)
anon-access = none:表示禁止匿名用户访问。
auth-access = write:表示授权用户拥有读写权限。
password-db = passswd:指定用户名口令文件,即 passwd 文件。
authz-db = authz:指定权限配置文件,即 authz 文件。
realm = /var/svn:指定认证域,即 /var/svn 目录。
第五步:防火墙开启(这里以iptable防火墻为例)
多数情况下服务器安装完成,配置完成后,无法连接svn服务器,和防火墙有关或者端口
【注意:如果是阿里云,腾讯云的服务器,还需在安全组添加端口开启规则】****
如果防火墙是开启的,则需要将svn端口添加到防火墙中,让其允许放行
编辑防火墙配置文件:
vi /etc/sysconfig/iptables
添加配置信息
-A INPUT -p tcp -m state --state NEW -m tcp --dport 3690 -j ACCEPT
3690是svn默认端口
编辑完成,保存退出,然后重启防火墙使配置生效
六:启动svn服务器
svnserve -d -r /var/svn
启动成功后,可用ps -aux查看服务启动是否成功
执行如下命令,查看是否启动成功:
ps -ef | grep 'svnserve'
看到如图,表示启动成功,可以去访问了
七:客户端访问svn服务器
在windows客户端,输入地址:svn://ip地址:3690/xxxx (iP地址为你linux的ip,xxxx为前文创建的版本库名称,3690为svn默认端口)
弹出输入用户名和密码,输入即可访问
或者在linux服务器输入命令测试:
svn co svn://ip地址:3690/xxxx,xxxx表示版本库
八:设置http访问svn
通过以上的设置,svn已经可以访问,但是访问的前缀是为svn开始,一般情况下,大多习惯使用http开始的地址方式,故需要配置svn使用http访问。