linux svn apache,linux svn客户端
这篇文章给大家聊聊关于linux svn apache,以及linux svn客户端对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。
Linux centos下安装svn服务器就这么难么
Centos下安装SVN服务器详细步骤
在保证联网的条件下,执行以下一、二操作,否则请先下载apache、svn的安装包并解压缩
1.安装apache
yum install httpd
2.安装svn
yum install subversion
yum install mod_dav_svn
3.创建SVN仓库
mkdir/home/svn
4.在SVN仓库目录下创建你要的版本库
svnadmin create/home/svn/xyz(版本库名:xyz)
5.创建用户及密码
在/home/svn/xyz/conf目录下,输入:htpasswd-c passwd xiao
第一次在创建用户密码,需加上“- c”参数
6.设置权限
编辑authz文件,设置组别人员读写权限
7.修改svnserver.conf
8.启动SVN服务
svnserve-d--listen-port 3690-r/home/svn/xyz
9.防火墙打开3690端口
进入/etc/sysconfig,修改iptables文件
加入如下:
-A RH-Firewall-1-INPUT-m state--state NEW-m tcp-p tcp--dport 3690-j ACCEPT
10.修改apache,目的是保证http能够访问
修改/etc/httpd/conf.d/subversion.conf文件
加入如下:
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_modulemodules/mod_authz_svn.so
<Location/>
DAV svn
SVNParentPath/home/svn/xyz
AuthType Basic
AuthName"Authorization Realm"
AuthUserFile/home/svn/xyz/conf/passwd
AuthzSVNAccessFile/home/svn/xyz/conf/authz
Require valid-user
</Location>
11.配置SVN下目录被apache拥有
chown–R apache:apache/home/svn/xyz
12.设置apache开机启动
chkconfig httpd on
13.设置svn开机启动
(1)编写/usr/local/customshell/svn.sh,内容为svnserve–d--listen-port 3690–r/ home/svn/xyz
(2). vim/etc/rc.d/rc.local增加一句:/usr/local/customshell/svn.sh
windows下svn迁移到linux
将windows上svn迁移到linux上
实现svn方式和http方式访问
进入conf目录
authz:负责test3库的账号权限管理,控制账号是否读写权限
passwd:负责test3库的账号和密码管理,注意密码是明文的
svnserve.conf:svn服务器配置文件
示例:
启动:
端口:3690注意打开防火墙
访问:
svn://192.168.1.206:3690/test3
用mod_dav_svn模块实现Apache服务进行访问svn仓库,mod_dav_svn是Apache和svn之间的接口
SVNParentPath/svn/svndir
指如果有多个版本库建议使用SVNParentPath不使用SVNPath,/svn/svndir版本库位置
AuthUserFile/svn/svndir/passwd
指后面使用apache的htpasswd创建的用户名密码
AuthzSVNAccessFile/svn/svndir/authz
指权限文件
创建用户并设置密码
此时可以通过
在浏览器中输入用户名密码访问
直接将windows下Repositories目录下的数据打包迁移到linux下的Repositories即可访问,但是用户名和密码不可以迁移,需要重建
1注意权限为问题,如果/svn/svndir属主不是apache,会一直访问拒绝访问
2 svn协助与http协议
svn协议,用于客户端使用svn://方式访问版本库,而mod_authz_svn模块让客户端可通过Apache访问版本库,它们分别使用不同的服务:svnserve、httpd进行访问。由于用户、组权限不同,权限管理方式也不相同,因此,不建议同时启动两种访问方式。
而易用性,管理方便的角度来分析,Apache以,mod_authz_svn模块的方式访问版本库会更多人选择。(mod_authz_svn方式,使用80端口访问,并且提供https等加密传输,用于用户信息验证的密码保存方式不是明文的)
liunx下apache+svn无法打开passwd文件
先用vim试试不行的话可能是s t等权限需要修改,试试吧
文件权限除了r、w、x外还有s、t、i、a权限:
s:文件属主和组设置SUID和GUID,文件在被设置了s权限后将以root身份执行。在设置s权限时文件属主、属组必须先设置相应的x权限,否则s权限并不能正真生效(c h m o d命令不进行必要的完整性检查,即使不设置x权限就设置s权限,chmod也不会报错,当我们ls-l时看到rwS,大写S说明s权限未生效)。Linux修改密码的passwd便是个设置了SUID的程序,普通用户无读写/etc/shadow文件的权限确可以修改自己的密码。
ls-al/usr/bin/passwd
-rwsr-xr-x 1 root root 32988 2008-12-08 17:17/usr/bin/passwd
我们可以通过字符模式设置s权限:chmod a+s filename,也可以使用绝对模式进行设置:
设置s u i d:将相应的权限位之前的那一位设置为4;
设置g u i d:将相应的权限位之前的那一位设置为2;
两者都置位:将相应的权限位之前的那一位设置为4+2=6。
如:chmod 4764 filename//设置SUID
t:设置粘着位,一个文件可读写的用户并一定相让他有删除此文件的权限,如果文件设置了t权限则只用属主和root有删除文件的权限,通过chmod+t filename来设置t权限。
i:不可修改权限例:chattr u+i filename则filename文件就不可修改,无论任何人,如果需要修改需要先删除i权限,用chattr-i filename就可以了。查看文件是否设置了i权限用lsattr filename。
a:只追加权限,对于日志系统很好用,这个权限让目标文件只能追加,不能删除,而且不能通过编辑器追加。可以使用chattr+a设置追加权限。