Linux 安装SVN详解
一般为了解决文件版本更新迭代的问题,会有很多种方法处理,Windows版的svn和Linux版的svn最常用.
查看yum安装路径以及历史版本:
rpm -qa | grep subversion 查看历史版本命令
rpm -qa 查询所有安装的rpm包,可以配合grep命令
rpm -qi 查询某个具体包的介绍
rpm -ql 列出某个具体包的所有文件
rpm几个默认安装路径:
/etc 一些设置文件放置的目录
/usr/bin 一些可执行文件
/usr/lib64 一些程序使用的动态函数库
/usr/share/doc 一些基本的软件使用手册与帮助文档
/usr/share/man 一些man page文件
...
安装:
yum install subversion 安装命令,保证联网直接执行。
查看是否安装成功:
svnserver --version 查看是否安装成功(安装成功会有版本信息显示)
为了方便,直接在根目录/home文件夹下创建svn文件夹.
创建svn文件夹:
[[email protected] /]# cd /home
[[email protected] home]# mkdir svn #创建文件夹
[[email protected] home]# svnadmin create /home/svn #创建仓库
[[email protected] home]# ls svn
conf db format hooks locks README.txt
注意:特别关注一下conf文件夹,因为svn的配置文件存放在这里.
查看conf文件夹下的文件:
[[email protected] home]# cd svn/conf
[[email protected] conf]# ls
authz passwd svnserve.conf
authz 是权限控制文件
passwd 是帐号密码文件
svnserve.conf 是SVN服务配置文件
注意:上面的三个文件就是svn的核心配置
配置passwd:(创建用户)
[[email protected] conf]# vi passwd
编辑文件,找到下面的配置信息
[users]
admin=admin
admin1=123456
admin2=123456
注意:上面的配置信息是创建用户以及配置密码,呈现key=value(即:用户名=密码),等号两边有无空格都无所谓.
配置authz:(赋予权限)
[[email protected] conf]# vi authz
编辑文件,找到下面的配置信息
[/]
admin=rw #可读可写
admin1=r #只读
admin2=r #只读
*= #除了上面配置的三个之外的其他用户,无任何访问权限
用户分组:(根据需要自适配)
[[email protected] conf]# vi authz
编辑文件,找到下面的配置信息
[groups]
group1 = admin
group2 = admin1,admin2
[/]
@group1 = rw
@group2 = r
* =
创建了2个分组,分组1的用户可读可写,分组2的用户只读
版本库目录格式:
[<版本库>:/项目/目录]
@<用户组名> = <权限>
<用户名> = <权限>
配置svnserve.conf:(svn系统配置)
[[email protected] conf]# vi svnserve.conf
编辑文件,依次找到下面的配置信息,打开下面的5个注释,删除#和配置前的空格,即保证配置信息前面无空格,否则可能无效
anon-access = read #匿名用户可读
auth-access = write #授权用户可写
password-db = passwd #使用哪个文件作为账号文件
authz-db = authz #使用哪个文件作为权限文件
realm = /home/svn # 认证空间名,版本库所在目录
配置完上面的信息之后,基本已经完成可安装和配置,下面可以启动了.
启动与停止:
[[email protected] conf]# svnserve -d -r /home/svn 启动
[[email protected] conf]# killall svnserve 停止
注意:svnserve后面无r,切勿写成svnserver.
其中:-d表示守护进程, -r 表示在后台执行
查看svn进程:
[[email protected] conf]# ps -ef | grep svnserve
root 4908 1 0 21:32 ? 00:00:00 svnserve -d -r /home/svn
root 4949 4822 0 22:05 pts/0 00:00:00 grep svnserve
[[email protected] conf]# kill -9 4908 可以单独使用kill命令结束进程(同:killall svnserve 停止)
客户端连接:(我使用TortoiseSVN)
svn://IP IP指服务器外网IP(默认端口3690),如果使用阿里云服务器,记得添加安全组规则(正常的TCP协议即可)
示例:
将127.0.0.1 替换成自己的服务IP,这里只是为了示例
将用户名和密码填写正确,即可登录访问(用户名:admin,密码admin)
转载请注明出处!