Apache2的配置详解

Apache2的配置详解


    首先在这强调一下,这边所介绍的Apache2的配置是创建的SVN服务器如何结合Apache2实现Web访问的配置。


    对这一块的配置主要有两大部分:


1. /etc/apache2/mods-available/dav_svn.conf 文件的配置;

2. 添加svn用户;


首先我们看第一部分,打开/etc/apache2/mods-available/dav_svn.conf


                              //http中需要输入的前缀
  DAV svn
  SVNPath /home/svn/project                                 //挂载linux的文件路径
  #SVNParentPath /home/svn/project                          //挂载linux的文件路径
  AuthType Basic
  AuthName"Subversion repository"                           //文字提示
  AuthUserFile /etc/subversion/passwd                       //密码文件
  Require valid-user                                        //每次登陆都输入密码

对于这一块的配置,按照以上的demo去掉需要去掉的#,然后按照以下的解释去适配修改。


1.1 中的 /claySVN/MyProjects 是必须的,该路径是用http访问的时候输入的前缀(http://[ipAddress]/[该处定义的前缀]/[projectName]),比如说我这边定义的是 /claySVN/MyProjects,那我用Web访问的时候需要采用以下的方式访问:http://[ipAddress]/claySVN/MyProjects/[projectName],或者如果是本地服务器的电脑Web访问的话:http://localhost/claySVN/MyProjects/[projectName]。


1.2 SVNListParentPath on参数:如果是多个项目,想在上级路径下显示所有的工程名,可以加上该参数定义。


1.3

  SVNPath /home/svn/project                                 //挂载linux的文件路径
  #SVNParentPath /home/svn/project                          //挂载linux的文件路径

这块的定义就有点复杂了,我在这也是坑的不轻,下面我详细解释一下这块的配置。

    1.3.1 SVNPath&&SVNParentPath --> 这两个参数只设置其中一个,如果使用SVNPath必须指定到准确详细仓库位置,如果使用SVNParentPath则指定到父级目录就可以了,且一般单一的项目采用SVNPath实现,但是如果是多个svn项目的话建议采用SVNParentPath去定义,但是采用SVNParentPath的话web访问路径需要明确加上projectName,否则会:Forbidden (但是可以解决: 加上 --> SVNListParentPath on)
    1.3.2 如果采用SVNParentPath的话svn中的conf/authz必须要有 [/]或者[projectName1:/] 的定义,否则会出现: Could not open the requested SVN filesystem 的错误。


1.4 如果需要用户每次登录时都进行用户密码验证,就将两行注释掉


其他的按照上面定义就行。


    最后是添加SVN用话,执行命令: sudo htpasswd -c /etc/apache2/dav_svn.passwd [用户名]

    这里需要注意的是,如果你是第一次创建用户的话,需要加上 -c 参数,如果之前创建过,该参数可去掉。

输入该命令以后需要让你输入密码跟确认密码。


    全部走完,搞定……


详情请参见SVN搭建服务器实现并结合Apache2实现web访问 系列。

你可能感兴趣的:(Linux,SVN&&Apache2)