linux(centos) 下搭建svn服务器
1. 使用yum安装svn
yum -y install subversion
安装完成之后,验证安装结果
此命令会全自动安装svn服务器相关服务和依赖,安装完成会自动停止命令运行
若需查看svn安装位置,可以用以下命令:
rpm -ql subversion
2. 新建仓库目录
在/home目录下面创建一个svn目录,用来作为svn存储目录,目录可以自己指定其它的,命令如下
mkdir /home/svn
3. 创建一个测试仓库
执行以下命令 创建一个仓库
svnadmin create /home/svn/sztf
此时仓库以及创建好了,我们先进入仓库的目录看看有什么
cd /home/svn/sztf
ll命令查看目录
关于仓库文件的说明:
hooks目录:放置hook脚步文件的目录
locks目录:用来放置subversion的db锁文件和db_logs锁文件的目录,用来追踪存取文件库的客户端
format目录:是一个文本文件,里边只放了一个整数,表示当前文件库配置的版本号
conf目录:是这个仓库配置文件(仓库用户访问账户,权限)
注意:subversion默认以/var/svn作为数据根目录,可以通过/etc/sysconfig/svnserve修改这个默认位置,不修改也没关系!笔者就是没有修改,没有进一步深度研究,知道这个作用的也可以告知一下。
附:我们可以把sztf这个项目中conf中的authz和passwd两个文件拷贝到svn仓库的根文件夹中去,也就是/home/svn下,这样整个svn就共享用户数据和配置信息了,当然,你也可以放到每个项目中去,以下就是按照没有共享用户配置的方式去实现
如果配置共享用户 如下:
anon-access = none //禁止匿名访问
auth-access = write
password-db = /usr/svnhome/passwd //统一使用密码文件
authz-db = /usr/svnhome/authz
realm = project1 //权限域名,很重要,写你的工程名
参考url:https://www.cnblogs.com/zwue/p/4953541.html
以上【附】部分不感兴趣的,可以忽略掉
4. 配置sztf项目中的svnserver.conf
进入到conf下的svnserve.conf 编辑这个配置文件
vim conf/svnserve.conf
按I 进入编辑模式
在svnserver.conf文件中,anon-access前面的注释去掉,将对应的值设置为none,将auth-access前面的注释也去掉,将password-db前面的注释也去掉,还有将authz-db前面的注释也去掉,显示如下:
最重要的一点,去掉注释之后,配置项前面不能有空格
修改完成后按esc退出编辑模式,然后按:wq(冒号加wq)命令 强制保存并退出
5. 配置访问的用户及密码
在conf目录下有个passwd文件,接下来编辑passwd文件,在文件的末尾加上自己需要添加的用户名和密码,passwd负责账号和密码的用户名单管理
显示如图:
注意:用户和密码都是明文显示的,=号前后都有个空格,我也是按照上面提供的样例来的,可以试试不带空格,应该没什么问题
6. 配置新用户的授权访问的文件
authz文件负责账号权限的管理,控制账号是否读写权限
编辑authz文件,在该文件中追加如下内容:
[/] zhangsan=rw lisi=rw
注意:前面有个[/]
r 读权限 w 写权限
[/]这个中括号可以写具体的仓库的名称,如[/sztf],这样就配置的是本仓库的权限,但是我们按照一个库一套配置的话,就没必要了,我直接建议就这么写[/],这样避免出错
7. 启动svn服务
svnserve -d -r /home/svn
其中-d表示后台运行, -r指定根目录,这里需要注意:绝对不能将启动命令写成:svnserve -d -r /home/svn/sztf 只需要启动总的svn根目录就行
还有启动的时候可能会出现如下错误:
这个是由于已经启动了SVN服务,所以需要先关闭进程,重新启动即可,命令如下:
killall svnserve
svnserve -d -r /home/svn
也可以用 kill -9 端口号 来杀死进程
8. windows系统拉取代码
本地要先按照svn客户端,没有安装的话,请自行百度安装了
安装完成了
在本地客户端迁出输入url:svn:123.12.55.89/sztf
输入用户名密码即可
注意:svn使用的是3690端口,如果是云服务器,比如是阿里云的,还需要上云服务器开通端口,然后在服务器本地防火墙也开通
/sbin/iptables -I INPUT -p tcp --dport 3690 -j ACCEPT
参考文献:https://www.jianshu.com/p/e7037e010635?utm_source=oschina-app