Linux下搭建SVN+Apache
SVN是Subversion的简称,是一个开放源代码的版本控制系统。
本文主要讲解Linux下SVN服务的搭建,同时配合Apache,可以在浏览器中访问SVN。
SVN/Apache安装 ##
可以在官网下载SVN服务端安装包,官网下载:http://subversion.apache.org/packages.html
SVN客户端::TortoiseSVN,官网下载:http://tortoisesvn.net/downloads.html
如果有repo源,可以直接安装
1 | yum install httpd |
仓库创建 ##
1 | mkdir /var/www/svn |
仓库目录说明
- hooks目录:放置hook脚本文件的目录
- locks目录:用来放置subversion的db锁文件和db_logs锁文件的目录,用来追踪存取文件库的客户端
- format文件:是一个文本文件,里面只放了一个整数,表示当前文件库配置的版本号
- conf目录:是这个仓库的配置文件(仓库的用户访问账号、权限等)
SVN配置 ##
配置svn服务 ###
配置文件svnserver.conf文件
1 | # vi /svn/project/conf/svnserve.conf |
添加两个访问用户及口令 ###
1 | # vi /svn/project/conf/passwd |
注意:对用户配置文件的修改立即生效,不必重启svn服务。
配置新用户的授权文件 ###
1 | # vi /svn/project/conf/authz |
启动svn服务 ###
1 | svnserve -d -r /svn/project/ |
注意:不要使用系统提供的 /etc/init.d/svnserve start 来启动,因为系统默认的启动脚本中没有使用 –r /svn/project参数指定一个资源。这种情况下启动的svn服务,客户端连接会提示“svn: No repository found in ‘svn://192.168.11.229/project’ ”这样的错误。
默认svn服务器端口是3690。
Apache配置 ##
授权文件和密码文件配置 ###
拷贝 /var/www/svn/repo1/conf 下的 authz到 /var/www/svn下,并创建passwd文件
1 | cp /var/www/svn/repo1/conf/authz /var/www/svn/authz //这个是授权文件 |
1 | htpasswd /var/www/svn/passwd user1 |
输入前面SVN配置的密码,生成账号
将svn关联到apache上: ###
1 | # vi /etc/httpd/conf.d/subversion.conf |
在底部加上:
1 | <Location /repos> |
重启httpd
1 | service httpd restart |
Linux下搭建SVN+Apache