2011-08-01 21 views
4

我正在运行专门的服务器,将我的客户帐户与WHM和CentOS 5分离。我的一位客户要求我安装Subversion,并将存储库存储在webroot下。如何在运行WHM时以正确的方式添加虚拟主机?

  • 回购的真实文件夹将在“/家/ theirfolder/SVN”
  • 回购将通过一个子域的“svn.theirdomain.com”

访问我知道,正规途径要做到这一点,就是在Apache中设置一个处理重定向的虚拟主机。问题在于WHM似乎超过了整个虚拟主机进程,迫使我将更改烘焙到外部文件中,这些文件似乎对我来说似乎不起作用。当保留webroot下的文件夹时,我无法通过虚拟主机识别该文件夹的路径。

我已经得到了,而不是移动的颠覆文件夹到根目录,但即使是这样,我使用的身份验证不遵守相关说明,所以这不是一个很好的解决方案,安全明智的最接近的。它也似乎是在这个设置页面由Apache生成而不是由Subversion生成。

可以在这里任何人都点我的教程,可以引导我通过这种设置,或给我什么,我需要做一个明确的,一步一步的指导的方向是什么?我尝试了很多东西,但没有任何东西真的让我在那里。我已经有Subversion和所有的依赖关系下载并正确安装。

在此先感谢!

回答

9

完成此操作的一种方法是使用WHM's custom include files之一,然后将您的自定义<virtualhost>指令添加到“常规方式”。在这些文件中所做的更改将生存自动重建由南国Apache的配置文件,而任何改变直接向/etc/httpd/conf/httpd.conf中可能不会。

有三个自定义包括在不同点主要的httpd.conf是included文件。这些文件(如果运行Apache 2.x的)的位置如下:

  • /usr/local/apache/conf/includes/pre_virtualhost_2.conf,包括自动生成的<virtualhost>指令之前
  • 的/ usr /local/apache/conf/includes/post_virtualhost_2.conf,包括自动生成的<virtualhost>指令
  • /usr/local/apache/conf/includes/pre_main_2.conf后,在包含的httpd.conf
  • 的顶部

您可以直接编辑这些文件,或通过WHM管理面板(服务配置 - >阿帕奇配置,包括编辑器,在南国11.30)。

我用post_virtualhost_2.conf设置额外的虚拟主机客户端时WHM /的cPanel不会做什么我也想通过其他配置方法帐户。任何有效的Apache配置指令都可以放在文件中 - 它完全包含在主要的httpd.conf中。

+0

编辑拉拉'在/ usr /本地/ Apache/conf目录/包括/ post_virtualhost_2.conf'为我工作。 –

+1

感谢你这么做,很容易混淆这种能力,即通过使用这里描述的细微包含文件模式:https://documentation.cpanel,从WHM/cPanel工具中添加全新的虚拟主机,以修改已知的现有虚拟主机。 net/display/EA/Modify + Virtualhost + Containers + With + Include + Files –

3

以上说明不是基于每个帐户使用的。放置在apache中的任何东西都是服务器端的。 你会想要使用apache includes来包含mod dav和mod authz共享对象。您可能已经设置了它,但这里是说明以防万一。 在南国去服务配置 - > Apache的配置 - >包括编辑器 将这个在前期主要包括:

LoadModule dav_svn_module modules/mod_dav_svn.so 
LoadModule authz_svn_module modules/mod_authz_svn.so 

接下来你想一个.conf文件,并将其放置在

/usr/local/apache/conf/userdata/std/2/<user account name>/svn.conf 

如果你想SSL做相同的

/usr/local/apache/conf/userdata/ssl/2/<user account name>/svn.conf 

如果上述目录是不存在的,那么你就需要创建它们。

文件将包含:

<IfModule mod_dav_svn.c> 
<Location /svn> 
DAV svn 
SVNPath /home/<user account>/svn 
AuthType Basic 
AuthName "My Repo" 
AuthUserFile /etc/svn-auth-conf 
Require valid-user 
</Location> 
</IfModule> 

的用户名和密码可以设置:

htpasswd -cm /etc/svn-auth-conf myusername 

然后,提交文件更改执行:

/scripts/ensure_vhost_includes --user=<user account> 
/scripts/rebuildhttpdconf 
/scripts/restartsrv_httpd 

您应该能够浏览到

yourdomain.com/svn 

,将它从

/home/<user account>/svn 
+0

比我的回答更好。 – zlovelady

+0

似乎这只适用于定制cPanel/whm默认生成的VirtualHost之一,但不适用于为用户创建额外的VirtualHost。或者我错过了什么? – zlovelady

+0

@zlovelady你是对的。 此处的说明仅适用于编辑由cpanel创建的现有虚拟主机的配置。你不能用它来创建一个新的,你的答案更适合新的虚拟主机 –

相关问题