SVN基于http协议

操作系统:ubuntu
Web服务器:Apache2
SVN服务端:Subversion
SVN工具:Subversion-tools(可选)
支持SVN的Apache模块:libapache2-svn

1.安装软件:

sudo apt-get install apache2 subversion subversion-tools libapache2-svn

2.检查Apache是否安装好:

浏览器输入:http://localhost 是否有 It Works显示

3.检查Subversion是否安装成功:

终端进入一个新建的文件夹,运行明令:svnadmin create ./(命令:在当前文件夹下创建版本控制库)

查看文件夹内容是否包含 conf、dav、db、hooks、locks文件夹以及format、README.txt文件。

4.检查libapache-svn是否安装成功:

进入/etc/apache2/mods-availables文件夹,查看是否包含dav.load dav_svn.conf dav_svn.load文件。

5.创建版本控制库:

如上(3)中的命令,我们这样就可以创建一个版本库。本文中我们在/home/meego/repo/文件夹创建。

6.配置Apache服务,使用Apache访问版本控制库。

6.1进入/etc/apache2/(Apache2配置文件所在的文件夹),首先检查dav模块以及dav_svn模块是否已经启动。

Debian中管理Apache模块是否启动的方式是:模块是否存在与/etc/apache2/mods-enabled/文件夹中,所以只需在

/etc/apache2/mods-enabled中检查dav.load dav_svn.conf dav_svn.load这三个文件是否存在就可以。

如果不存在:将其从mods-availables中拷贝过来,或是创建链接。

创建链接命令:

sudo ln -s /etc/apache2/mods-available/dav.load /etc/apache2/mods-enabled/dav.load;

sudo ln -s /etc/apache2/mods-available/dav_svn.load /etc/apache2/mods-enabled/dav_svn.load;

sudo ln -s /etc/apache2/mods-available/dav_svn.conf /etc/apache2/mods-enabled/dav_svn.conf;

6.2创建Apache站点
编辑/etc/apache2/mods-enabled/dav_svn.conf文件:

<Location /svn/>
  DAV svn
  SVNPath /home/meego/repo
  AuthType Basic
  AuthName "Meego SVN Repo"
  AuthUserFile /etc/apache2/dav_svn.passwd
  AuthzSVNAccessFile /etc/apache2/dav_svn.authz
  Require valid-user
</Location>

注意上面的SVNPath要设置成你创建的版本库所在的文件夹。

6.3创建SVN用户、密码、SVN权限设置:

上面的站点文件中AuthUserFile即为SVN用户密码文件,其中密码使用MD5加密,这个文件的生成需要一个命令htpasswd。

htpasswd具体使用,可man一下。

现在创建一个用户:xuem(本文中使用的用户名)

htpasswd -c /etc/apache2/dav_svn.passwd xuem

注意:上面的xuem修改成你自己要创建的用户名。

执行命令后,输入用户密码即可。可以打开dav_svn.passwd文件看一下。

-c 参数表示创建新的dav_svn.passwd,所以创建第2个用户的时候,就不要加此参数。

上面站点配置中dav_svn.authz文件,就是SVN的权限设置,可以手动创建一个。

内容设置跟Subversion中conf文件下的authz文件配置方法一样:



[groups]
admin = xuem

[/]
* = r
@admin = rw

对于Authz文件的详细设置可以参考Subversion的文档。

7.配置完毕。

现在你可以在浏览器中输入:http://localhost/svn/来访问你的版本库文件。

8.如果访问不成功:

8.1出现403错误:

这种错误主要是你的目录权限以及你的Apache运行用户的权限问题。再此说明Apache2运行用户要有你的版本控制库所在的文件夹的权限。

Debian下的Apache2运行用户是www-data.可以在/etc/apache2/envvars中设置:

分别是APACHE_RUN_USER和APACHE_RUN_GROUP项。

这里你可以设置成你创建版本控制库的用户。

或是将你的版本库的权限赋给www-data用户:

方法是终端运行:

sudo chown -R www-data:www-data /home/meego/repo

注意上面的路径改成你的版本库所在的路径。

8.2出现errorcode=’x’的错误:

这样的错误多数在于站点设置中设置的SVNPath不对,或是你设置了SVNParentPath而不是SVNPath。

SVNParentPath用于支持多个版本库的情况,如果只有一个版本库,只需设置SVNPath就足够了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值