在CentOS linux下安装SVN,我们可以进行以下步骤:
第一步:安装CentOS Linux操作系统,并在CentOS安装进行的同时,自定义安装这一步,一定要勾选Subversion(在“开发工具”里)和Web服务器(Apache)。
我用的是CentOS 6.4版本,只需要安装DVD1这个iso文件即可。这个DVD文件中有我们下面用到的许多配置文件和模块文件,像mod_dav_svn等文件,都不需要用yum命令进行额外下载安装(光盘中的文件的版本都是进行严格匹配的)。
第一次启动CentOS时,你就可以运行命令 svn --version,查看是否提示SVN版本信息。
[root@svn ~]# svn --version svn,版本 1.6.11 (r934486) 编译于 Jun 23 2012,00:44:03 版权所有 (C) 2000-2009 CollabNet。 Subversion 是开放源代码软件,请参阅 http://subversion.tigris.org/ 站点。 此产品包含由 CollabNet(http://www.Collab.Net/) 开发的软件。 可使用以下的版本库访问模块: * ra_neon : 通过 WebDAV 协议使用 neon 访问版本库的模块。 - 处理“http”方案 - 处理“https”方案 * ra_svn : 使用 svn 网络协议访问版本库的模块。 - 使用 Cyrus SASL 认证 - 处理“svn”方案 * ra_local : 访问本地磁盘的版本库模块。 - 处理“file”方案
【准备工作】
1.关闭防火墙、做好网络配置。
此时,我们要关闭防火墙,执行命令 service iptables stop。同时执行命令setup,选择“网络配置”,去掉DHCP,设置192.168.2.20(客户端也在192.168.2.x同一个网段内),子网掩码255.255.255.0。
2.从DVD1光盘中查找,找到安装Apache对接SVN的模块安装包:mod_dav_svn-1.6.11-7.el6.x86_64.rpm,建议放到/tmp目录下。
第二步:创建SVN文件版本库和项目。
如果我们要创建一个SVN项目叫bdbt,放到/opt/svndata路径中。
执行命令:
mkdir /opt/svndata
svnadmin create /opt/svndata/bdbt
svndata是SVN的版本库名,我们可在/opt/svndata/下创意任意项目。
第三步:到Apache(Web服务器)中配置SVN。
首先到/etc/httpd/conf/httpd.conf中找到 ServerName www.example.com:80,把这句话改成ServerName 192.168.2.20:80(192.168.2.20在本文【准备工作】中的网络配置这一步已经配置好)。
第四步:安装好/tmp目录下的mod_dav_svn-1.6.11-7.el6.x86_64.rpm文件。
用rpm -ivh mod_dav_svn-1.6.11-7.el6.x86_64.rpm命令执行安装,此时/etc/httpd/conf.d/目录下多了subversion.conf,而且/usr/lib64/httpd/modules目录下也多了两个模块文件:mod_authz_svn.so和mod_dav_svn.so。
下面我们在/etc/httpd/conf.d/subversion.conf文件中添加两样东西:
(1)一般最上面都会有这样的两句LoadModule,如果没有则需添加:
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
(2)最下面的Location标签。/svn是虚拟目录,映射到/opt/svndata中。
<Location /svn> DAV svn SVNParentPath /opt/svndata # Limit write permission to list of valid users. <LimitExcept GET PROPFIND OPTIONS REPORT> # Require SSL connection for password protection. # SSLRequireSSL AuthType Basic AuthName "Authorization Realm" AuthUserFile /opt/svndata/passwd Require valid-user </LimitExcept> </Location>
上面AuthUserFile 的 /opt/svndata/passwd,passwd是一个密码文件,需要htpasswd -c命令来生成。
htpasswd -c /opt/svndata/passwd user1
回车(添加用户名为user1),
提示让你输入密码:
在输入一次密码:
如果此时需要添加多个登录账户,来执行
htpasswd -b /opt/svndata/passwd user2 123
(用户名:user2,密码123直接写在后面)
回车之后追加到刚才建立的passwd文件中,打开passwd密码文件可以看到密码都是加密的。
此时,用service httpd restart重启Apache服务。
上面我们已经创建好/opt/svndata/bdbt文件版本库。
要把读取bdbt目录的root的拥有人改变成apache,并更改bdbt的安全上下文。
chown -R apache.apache bdbt chcon -R -t httpd_sys_content_t bdbt
回车,即可访问http://192.168.2.20/svn/bdbt