在Bluehost VPS服务器上通过ApacheconfigurationSubversion(SVN)存储库

我想在我们的CentOS v6.5的 Bluehost VPS服务器上configurationSubversion(SVN)。 到目前为止,安装顺利按照本指南 – > http://wiki.centos.org/HowTos/Subversion

然而,现在我坚持4.2步[Subversion的Apacheconfiguration] 。

好,所以这里的故事。

大多数在网上,在bluehost上安装Subversion(svn)的指南是针对共享服务器的,在Subversion的 CentOS官方wiki页面(我们称之为A )上的步骤不起作用,因此他们按照本指南 (我们称之为B )。

模块mod_dav_svn允许subverion通过Apache服务,因为它的安装不允许在我所了解的共享服务器上 。 因此,很多人都为导游B ,它可以通过ssh(svn + ssh)build立svn连接为我们工作,但我试图弯曲勺子,看看是否可以通过Apachebuild立svn连接。

遵循指导A

我有一个urlsvn.domain.com指向/home/username/public_html/svn.domain.com/其中我已经build立了名为repos1的存储库

并在/etc/httpd/conf.d/subversion.conf设置了subversion.conf文件,如下所示

 LoadModule dav_svn_module modules/mod_dav_svn.so LoadModule authz_svn_module modules/mod_authz_svn.so <Location /repos1> DAV svn SVNPath /home/username/public_html/svn.domain.com/repos1 AuthType Basic AuthName "Subversion repos" AuthUserFile /etc/svn-auth-conf Require valid-user </Location> 

并打开http://svn.domain.com/repos1,它会显示位于/home/username/public_html/svn.domain.com/repos1中的目录的纯/home/username/public_html/svn.domain.com/repos1

我认为它应该要求密码,并显示版本0或至less树干分支标签文件夹。

任何帮助或方向将不胜感激。

  • 1:repos1文件夹是由svnadmin create repos1命令svnadmin create repos1
  • 2:这种设置已经在不同的服务器上为我们工作,但他们有非常非常有限的空间。

尝试这个

<Location "/"> AuthType Basic AuthName "Subversion repos" AuthUserFile /etc/svn-auth-conf Require valid-user </Location> <Location /repos1> DAV svn SVNPath /home/username/public_html/svn.domain.com/repos1 </Location>

不要忘记重新加载Apache。

在BlueHost VPS服务器(CentOS)上安装和configurationSubversion(SVN)

我所有的步骤都是在http://wiki.centos.org/HowTos/Subversion上追踪这篇漂亮的wiki文章&#x3002; 本文共有8个步骤,但是在BlueHost VPS上进行安装时,步骤3和步骤4.2需要进行扩展

步骤3 – 当安装yum install mod_dav_svn subversion时会出错

 Error: Missing Dependency: httpd-mmn = 20051115 is needed by package mod_dav_svn 

要解决它,请按照以下步骤操作

 [$] find / -name "yum.conf" --- Note the path [$] vim /path/yum.conf --- Edit the file 

从以下行删除httpd*

 exclude=apache* bind-chroot courier* dovecot* exim* filesystem httpd* mod_ssl* mydns* mysql* nsd* perl* php* proftpd* pure-ftpd* ruby* spamassassin* squirrelmail* 

保存并退出文件:wq!

 [$] yum install mod_dav_svn subversion --- If Success, then you can revert back yum.conf file to its original. 

步骤4 – 在继续这一步之前,请先创build一个域或子域名(svn.domain.com),并将其分配给任何文件夹(主要是/home/username/public_html/svn.domain.com)

 /home/username/public_html/svn.domain.com --- will be main folder under which I will have many repositories (not just one, but many) 

步骤4.1 – 从文章中跳过这一步,因为BlueHost会小心谨慎

步骤4.2 – 默认情况下,Subversion将在/etc/httpd/conf.d/subversion.conf创build一个名为subversion.conf的.conf文件

对BlueHost来说,这个path中的任何文件都是无效的(花了我四个小时才弄清楚),因为它使用了C-Panel,它有自己的要求 – > http://docs.cpanel.net/twiki/bin/视图/ EasyApache3 / InsideVHost

所以编辑你最喜欢的编辑/etc/httpd/conf/httpd.conf文件

 [$] vim /etc/httpd/conf/httpd.conf` --- Edit the main Apache config file [Editor] /svn.domain.com --- Hit Enter and search for your domain configurations, scroll through up or down keys or n for next hit 

就在svn.domain.com之上,你会遇到类似于下面的行

 # To customize this VirtualHost use an include file at the following location #Include "/usr/local/apache/conf/userdata/std/2/username/svn.domain.com/*.conf" 

通过在开头删除哈希(#)来取消注释,并复制Include到* .conf(remove * .conf)之间的path并粘贴到mkdir命令中

 [$] mkdir -p /usr/local/apache/conf/userdata/std/2/username/svn.domain.com/ --- Creates all parents directory as well if they don't exist [$] vim /usr/local/apache/conf/userdata/std/2/username/svn.domain.com/subversion.conf --- Create subversion configuration file 

subversion.conf文件中,在编辑模式下(按下i)粘贴下面的SVNParentPath ,根据需要更改SVNParentPathAuthUserFile的path

请注意,VirtualHost中的DocumentRootconfiguration和subversion.conf中的SVNParentPath不能有相同的目录path。 SVNParentPath必须replace或位于不同的目录中,不能在DocumentRootpath下。

 LoadModule dav_svn_module modules/mod_dav_svn.so LoadModule authz_svn_module modules/mod_authz_svn.so <Location /> DAV svn SVNParentPath /home/username/public_html/svn.domain.com/ SVNListParentPath ON AuthType Basic AuthName "DFR Visualization Images Repository" AuthUserFile /home/username/public_html/svn.domain.com/svn-auth-conf Require valid-user </Location>` 

现在:wq! 并保存并退出该文件。

现在执行下面的命令,在subversion.conf文件中的AuthUserFilevariables中提到的path中创buildauthentication文件

在htpasswd命令中,首先使用-cm参数创build用户,后续用户只使用-m,否则以前的用户数据将丢失

 [$] htpasswd -cm /home/username/public_html/svn.domain.com/svn-auth-conf username --- Press enter and input password 

最后一步。 默认情况下,Subversion安装加载SVN所需的模块,以便在正确的目录下正常工作,但是因为BlueHost使用C-Panel,所以它具有不同的目录,Subversion不会实现这个目的。

因此,我们需要手动将安装在默认模块目录中的Subversion模块复制到C-Panel的模块目录中。

首先findSubversion在subversion.conf文件中指定的两个模块后面的位置

 [$] find / -name "mod_dav_svn.so" --- Find and note subversion installation path [$] find / -name "mod_authz_svn.so" --- Find and note subversion installation path 

将它们复制到C-Panel模块文件夹(通常为/usr/local/apache/modules/ ),请在复制之前validationpath。

 [$] cp /subversion_modules_path/mod_dav_svn.so /usr/local/apache/modules/ [$] cp /subversion_modules_path/mod_authz_svn.so /usr/local/apache/modules/ 

现在login到bluehost的C-Panel并重新启动位于C-Panel -> WHM -> Restart Services -> HTTP Server (Apache)

按照文章中的其余步骤。