SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的。SVN是一个安全虚拟网络系统,它将系统整体的信息安全功能均衡合理地分布在不同的子系统中,使各子系统的功能得到最大限度的发挥,子系统之间互相补充,系统整体性能大于各子系统功能之和,用均衡互补的原则解决了"木桶原理"的问题。使用root帐户登录服务器,安装SVN服务:#yum install subversionk //安装svn#svnserve --version //查看SVN版本#mkdir svn //创建目录#mkdir project #svnadmin create /home/svn/rep/3.cdconf 在passwd文件中添加用户4.修改配置文件修改authz文件,添加用户目录权限。修改文件svnserve.confanon-access = read #匿名用户可读 none 无权限auth-access = write #授权用户可写password-db = /home/svn/rep/conf/passwd #使用哪个文件作为账号文件authz-db = /home/svn/rep/conf/authz #使用哪个文件作为权限文件realm = /home/svn/rep # 认证空间名,版本库所在目录5. 访问svn路径svn://192.168.0.110如果访问不到,可以试试关闭防火墙:systemctl stop firewalld.service #停止firewallsystemctl disable firewalld.service #禁止firewall开机启动svnserve -d --listen-port 3690 -r /home/svn/rep原文来自:
1、开始在CentOS 7中安装Subversion
yum install mod_dav_svn subversion
示例输出:
=====================================================
Package Arch Version Repository Size
=====================================================
Installing:
mod_dav_svn x86_64 1.7.14-6.el7 base 101 k
subversion x86_64 1.7.14-6.el7 base 1.0 M
Installing for dependencies:
apr x86_64 1.4.8-3.el7 base 103 k
apr-util x86_64 1.5.2-6.el7 base 92 k
httpd x86_64 2.4.6-18.el7.centos updates 2.7 M
httpd-tools x86_64 2.4.6-18.el7.centos updates 77 k
mailcap noarch 2.1.41-2.el7 base 31 k
neon x86_64 0.30.0-3.el7 base 165 k
pakchois x86_64 0.4-10.el7 base 14 k
subversion-libs x86_64 1.7.14-6.el7 base 921 k
Transaction Summary
=====================================================
2、加配置文件到Apache
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
DAV svn
SVNParentPath /var/www/linuxidcsvn
AuthType Basic
AuthName "Subversion repositories"
AuthUserFile /etc/svn-auth-users
Require valid-user
3、创建SVN用户
[root@linuxidc-centos7 ~]# htpasswd -cm /etc/svn-auth-users testuser1
New password:
Re-type new password:
Adding password for user testuser1
[root@linuxidc-centos7 ~]#
4、创建和配置SVN仓库
mkdir /var/www/linuxidcsvn
cd /var/www/linuxidcsvn
svnadmin create repo
chown -R apache.apache repo
# If you still have issues with SELinux Security please apply this:
chcon -R -t httpd_sys_content_t /var/www/linuxidcsvn/repo
chcon -R -t httpd_sys_rw_content_t /var/www/linuxidcsvn/repo
5、你可以用这种方式–HTTP和HTTPS
firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd --reload
6、启用并启动HTTP服务
systemctl enable httpd.service
systemctl restart httpd.service
启动时候失败,
#journalctl -xn
Jun 01 10:41:57 iZ9 httpd[26217]: httpd: Syntax error on line 56 of /etc/httpd/conf/httpd.conf: Cannot load /usr/lib64/httpd/modules/mod_dav_svn.so into server: /usr/lib64/httpd/modules/mod_dav_svn.so: undefined symbol: dav_do_find_liveprop
Jun 01 10:41:57 iZ9 systemd[1]: httpd.service: main process exited, code=exited, status=1/FAILURE
Jun 01 10:41:57 iZ9 kill[26218]: kill: cannot find process ""
Jun 01 10:41:57 iZ9 systemd[1]: httpd.service: control process exited, code=exited status=1
Jun 01 10:41:57 iZ9 systemd[1]: Failed to start The Apache HTTP Server.
是由于缺少apache的 mod_dav.so
添加:LoadModule dav_module modules/mod_dav.so
重启后,http://****/svn/repo/为svn根目录地址
如何在CentOS 7中安装Subversion
7、加入下面这个到conf/svnserve.conf
anon-access = none
auth-access = authz
8、branches&tags&trunk模式下建svn库
mkdir -p /tmp/svn-structure-template/{trunk,branches,tags}
svn import -m "Initial repository" /tmp/svn-structure-template file:///var/www/linuxidcsvn/repo/
Adding /tmp/svn-structure-template/branches
Adding /tmp/svn-structure-template/tags
Adding /tmp/svn-structure-template/trunk
Committed revision 1.
如何在CentOS 7中安装Subversion
OK。
CentOS 6 编译安装Subversion-1.8.10+Apache2.4 http://www.linuxidc.com/Linux/2015-02/113177.htm
linux中Subversion配置实例 http://www.linuxidc.com/Linux/2012-02/53109.htm
CentOS 6.2 SVN搭建 (YUM安装) http://www.linuxidc.com/Linux/2013-10/91903.htm
Apache+SVN搭建SVN服务器 http://www.linuxidc.com/Linux/2013-03/81379.htm
Windows下SVN服务器搭建和使用 + 客户端重新设置密码 http://www.linuxidc.com/Linux/2013-05/85189p5.htm
Ubuntu Server 12.04 安装 SVN 并迁移 Virtual SVN数据 http://www.linuxidc.com/Linux/2013-05/84695.htm
Ubuntu Server搭建svn服务以及迁移方法 http://www.linuxidc.com/Linux/2013-05/84693.htm
1.环境
centos5.5
2.安装svn
yum -y install subversion
3.配置
建立版本库目录
mkdir /www/svndata
svnserve -d -r /www/svndata
4.建立版本库
创建一个新的Subversion项目
svnadmin create /www/svndata/oplinux
配置允许用户rsync访问
cd /www/svndata/oplinux/conf
vi svnserve.conf
anon-access=none
auth-access=write
password-db=passwd
注:修改的文件前面不能有空格,否则启动svn server出错
vi passwd
[users]
#<用户1> = <密码1>
#<用户2> = <密码2>
david=123456
5.客户端连接
svn co svn://ip/oplinux
用户名密码:123456
===============================================================
6.实现SVN与WEB同步,可以CO一个出来,也可以直接配在仓库中
1)设置WEB服务器根目录为/www/webroot
2)checkout一份SVN
svn co svn://localhost/oplinux /www/webroot
修改权限为WEB用户
chown -R apache:apache /www/webroot/oplinux
3)建立同步脚本
cd /www/svndata/oplinux/hooks/
cp post-commit.tmpl post-commit
编辑post-commit,在文件最后添加以下内容
export LANG=en_US.UTF-8
SVN=/usr/bin/svn
WEB=/www/webroot/
$SVN update $WEB –username rsync –password rsync
chown -R apache:apache $WEB
增加脚本执行权限
chmod +x post-commit
不知细叶谁裁出,二月春风似剪刀.