ubuntu apache2的安装 通过http访问svn

上一次在ubuntu上搭建了svn,搭建步骤:svn搭建

这一次想通过浏览器http访问svn,首先除了需要svn外,还需要两个工具
apache2、libapache2-svn

  1. 安装apache2
    sudo apt install apache2
    sudo apt install libapache2-svn
    测试是否安装成功:
    sudo /etc/init.d/apache2 restart
    启动后浏览器访问:http://localhost/
    这里写图片描述
    出现这个页面说明apache2正常安装

  2. apache2配置

    sudo vim /etc/apache2/mods-available/dav_svn.conf
    这里写图片描述
    在文件末尾加上

<Location /svn>
DAV svn
SVNParentPath /home/svn
SVNAdvertiseV2Protocol Off
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /home/svn/pwdfile
AuthzSVNAccessFile /home/svn/repos/conf/authz
Require valid-user
</Location>
<Location /svn> 这一行表示等下我们要访问的地址是localhost:/svn

SVNParentPath 表示svn的父路径,在svn搭建中,我建的仓库路径是/home/svn/project,project是一个仓库,在/home/svn这个路径下可以包含多个仓库

AuthUserFile 这个配置(跟svn的passwd文件不是同一个文件,svn跟apache的密码是分开的,权限文件则可以是同一个)是通过http访问的账号密码文件配置,由htpasswd的命令生成,命令如下(第一次生成这个文件是需要用 -c这个参数(表示create),生成文件后,再次添加其他账户时,去掉-c,这里添加了admin这个账户):
sudo htpasswd -c /home/svn/pwdfile admin
这里写图片描述

AuthzSVNAccessFile这个文件,则指向svn搭建中的权限文件

配置authz文件,把刚才生成的账号以及你想要赋予的权限写入authz文件中
sudo vim /home/svn/project/conf/authz
这里写图片描述

3.重启apache2,http访问svn
sudo /etc/init.d/apache2 restart
浏览器输入
http://localhost/svn/project/
由于刚才我配置的是

<Location /svn>
SVNParentPath /home/svn
</Location>

http访问时输入/svn,实际上访问的是/home/svn这个路径,但是这个路径只是父路径,没有版本库,所以/svn后面需要我们指定仓库名,上一章的仓库路径是/home/svn/project,这里只需要在/svn后面添加project这个仓库http://localhost/svn/project/ 然后输入账号密码就可以了
这里写图片描述
这里写图片描述

通过http访问成功!

猜你喜欢

转载自blog.csdn.net/caser_hdmi/article/details/79837923