本文主要实现2部分功能:html
1.本文手把手教你从零开始实现svn服务端的搭建;linux
2.安装完svn服务器后虽然好用可是由于常常重启Linux服务器,每次重启完就要去手动启动svn服务器因而本身把svn服务器设置成开机启动;git
第一部分:安装svn服务器vim
1.安装:bash
** yum install subversion; **服务器
2.在/home目录下建立一个svn仓库:tcp
** cd /home mkdir svn svnadmin create /home/svn **svn
3.进入svn配置文件目录(conf),修改配置文件:阿里云
** cd /home/svn/confserver
ll **
查看文件配置文件,其中:
authz 是权限控制文件
passwd 是账号密码文件
svnserve.conf 是SVN服务配置文件
修改3个配置文件:
a.配置passwd:
** vim passwd **
[users]
test1=123456
test2=123456
test3=123456
b.配置authz:
vim authz
[/]
test1=rw
test2=r
test3=w
*=
*以上的解释是:
test1对/home/svn下面的全部文件都有读写权限,test2只有读权限,test3只有写权限,其余用户没有任何权限(这点很重要)。
c.配置svnserve.conf:
vim svnserve.conf
打开下面的5个注释
anon-access = read #匿名用户可读
auth-access = write #受权用户可写
password-db = passwd #使用哪一个文件做为帐号文件
authz-db = authz #使用哪一个文件做为权限文件
realm = /home/svn # 认证空间名,版本库所在目录
注意:
(1).最后一行的realm记得改为你的svn仓库目录;
(2).打开注释时切记前面不要留有空格,不然可能有问题(网上说的,我没有亲测)
4.开放3690端口(阿里云管理后台操做);
5.中止与启动:
启动:svnserve -d -r /home/svn (注意启动路径)
中止:killall svnserve
补充,查杀、重启进程:
a.查看进程编号:ps aux|grep svnserve
b.杀掉进程: kill -9 编号
c.重启服务: svnserve -d -r /home/svn
推荐使用文件目录的形式使用svn来管理多项目(不是使用git的文件思惟去使用svn),文件目录的形式
1.首先检出整个服务器库,地址为:svn://ip;
2.而后在检出的文件夹中新建项目文件(svntest),提交源代码;
3.最后在须要使用到该项目时候,检出提交地址变成:svn://ip/svntest
第二部分:设置svn服务器为开机自启
(1)在Linux服务器跟目录((/root路径下))建立一个脚本文件
** touch svn.sh **
(2) 进入脚本文件
** vim svn.sh **
(3)添加一下内容
** #!/bin/bash /usr/bin/svnserve -d -r /home/svn **
解释一下:这里的svnserve路径保险起见,最好写绝对路径,由于启动的时候,环境变量也许没加载。
绝对路径怎么查: ** which svnserve **
(4)改该脚本的执行权限
** chmod 777 svn.sh **
(5)加入自动运行
** vi /etc/rc.d/rc.local **
在末尾添加脚本的路径: /root/svn.sh
记住这个文件也要给修改权限:chmod 755 /etc/rc.d/rc.local (这个很重要)
(6)重启Linux服务器,重启后查看svn服务器是否已经开启
** ps aux|grep svnserve **
若是显示如下信息表示svn已经开启了:
tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN
参考资料:
1.https://www.cnblogs.com/liuxianan/p/linux_install_svn_server.html 2.https://www.cnblogs.com/tomingto/p/11436106.html