subversion服务器搭建
❶ subversion的安装与使用。
如果只是一个人用的话不需要装subversion,在使用时在URL of repository栏内填写file:///+你设定的repository文件夹的绝对路径就行。而使用subversion的话在路径栏里则填写的是svn://hostIP/+repository文件夹的相对路径。subversion就是一个简单的服务器,如果在局域网内搭建svn版本控制的话使用它就很方便,如果只是自己用就没必要,配置过程还是比较麻烦的,我当时就配了一天,出了好多问题。如果你特想用的话,下面是我的一些心得。
1. 下载并安装TortoiseSVN。
2. 下载并安装Subversion。
注意Subversion的版本号要与TortoiseSVN尽量对应,若Subversion的版本过低则TortoiseSVN不能正常地在Subversion上进行操作。我使用的tsvn是1.7.1,一开始用1.3的subversion就不行,后来重新装了个1.7版本的subversion就好了
3. 建立版本库。
创建一个目录作为版本库,对使用版本控制的工程文件进行备份。首先在一个合适的位置创建版本库目录,如”d:/Mydocument/SVNRepository”;右键该文件夹选择TortoiseSVN->Create repository here。
4. 配置版本库权限。
版本库建立好后在该目录下会自动生成几个文件,其中conf目录下的文件为权限配置文件。修改svnserve.conf文件:
[general]
anon-access=none
auth-access=write
password-db=passwd
第一句禁止匿名用户对版本数据库的读写,第二句运行授权用户对版本数据库的读写,第三行标明授权用户的数据库文件名。
修改passwd文件
[users]
【username】=【password】
每行都是一个用户名=用户密码。
注意:删除原始文件中的#,#为注释的意思,如#auth-access=write不会起任何作用。
不要取消svnserve.conf文件中[sasl]下的注释,否则在连接服务器时会出现missing SASL mechanisms的错误。
5. 启动Subversion服务器
Subversion可以通过控制台启动,输入svnserve –d就可以启动服务器,但是一旦该控制台关闭,服务器也就关闭了,这样做非常不方便。我们可以将其作为window服务加入注册表中,这样每次Window启动时会自动启动Subversion服务器了。在控制很多教程在介绍Subversion启动时提到了SVNServices.exe,这个程序实质上就是做这件事请,我们完全可以不使用该程序,直接在控制台下输入一段简单的指令即可。
假设你现在Subversion的安装目录为”D:/Program Files/Subversion”,版本库位置为”d:/Mydocument/SVNRepository”,现在打开控制台,输入 :
sc create SVNService binpath=” D:/Program Files/Subversion/bin/svnserve.exe --service –r d:/Mydocument/SVNRepository” displayname=”SVNService” depend= Tcpip start=auto
注意:每个=后面都必须有空格如start= auto,否则会出错。
回车后成功建立服务,打开任务管理器,在服务标签下可以找到SVNService的服务。
“–r d:/Mydocument/SVNRepository”这句话的作用是将服务器默认路径设置到改目录下,比如现在你需要从SVN服务器CheckOut一个工程,该工程在d:/Mydocument/SVNRepository/Project1目录下,那你在TortoiseSVN路径选择中需要输入svn://hostIp/d:/Mydocument/SVNRepository/Project1,而加入该句话后你只需要输入svn://hostIp/Project1即可,既方便又隐藏了该项目在服务器中的绝对路径。
6. Import项目工程
启动好Subversion服务器后就开始向服务器中导入工程数据了。右键工程根目录或文件,选择TortoiseSVN -> Import进行导入,导入路径URL选择svn://hostIp/ProjectName即可。此时如果出现无法连接目标主机错误,检查Subversion服务器是否开启,在任务管理器中找到任务->SVNService,右键选择启动服务。如果出现文件版本不一致,则意味着Subversion版本太低,重新下载匹配当前TortoiseSVN的版本。如果出现SASL机制不匹配则在svnserve.conf文件中将[sasl]下的条目全部用#注释掉。
7. 使用SVN
现在你便可以在局域网内的任何一台装有TortoiseSVN的主机上进行项目开发了。使用CheckOut从服务器上下载工程,Update更新工程,Commit提交改动。
❷ 如何在CentOS 7中安装Subversion
Apache Subversion(简称SVN,svn),一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS转移到Subversion。
下面讲解下如何在CentOS 7中安装Subversion的详细过程。
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
LoadMole dav_svn_mole moles/mod_dav_svn.so
LoadMole authz_svn_mole moles/mod_authz_svn.so
<Location /svn>
DAV svn
SVNParentPath /var/www/linuxidcsvn
AuthType Basic
AuthName "Subversion repositories"
AuthUserFile /etc/svn-auth-users
Require valid-user
</Location>
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/moles/mod_dav_svn.so into server: /usr/lib64/httpd/moles/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
添加:LoadMole dav_mole moles/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