2017-07-27 77 views
0

我想更改特定主机的文档根目录。如何为WHM-CPanel主机定制vhost文件?

目前该主机的设置是:

<VirtualHost 123.164.132.142:80> 
    ServerName abc.com 
    ServerAlias mail.abc.com www.abc.com 
    DocumentRoot /home/abc/public_html 
    ServerAdmin [email protected] 
    UseCanonicalName Off 
    CustomLog /usr/local/apache/domlogs/abc.com combined 
    <IfModule log_config_module> 
    <IfModule logio_module> 
     CustomLog /usr/local/apache/domlogs/abc.com-bytes_log "%{%s}t %I .\n%{%s}t %O ." 
    </IfModule> 
    </IfModule> 
    ## User abC# Needed for Cpanel::ApacheConf 
    <IfModule userdir_module> 
    <IfModule !mpm_itk.c> 
     <IfModule !ruid2_module> 
     UserDir enabled 
     </IfModule> 
    </IfModule> 
    </IfModule> 
    # Enable backwards compatible Server Side Include expression parser for Apache versions >= 2.4. 
# To selectively use the newer Apache 2.4 expression parser, disable SSILegacyExprParser in 
# the user's .htaccess file. For more information, please read: 
# http://httpd.apache.org/docs/2.4/mod/mod_include.html#ssilegacyexprparser 
<IfModule include_module> 
    <Directory "/home/abc/public_html"> 
    SSILegacyExprParser On 
    </Directory> 
</IfModule> 

<IfModule suphp_module> 
    suPHP_UserGroup abc abc 
</IfModule> 
<IfModule !mod_disable_suexec.c> 
    <IfModule !mod_ruid2.c> 
    SuexecUserGroup abc abc 
    </IfModule> 
</IfModule> 
<IfModule ruid2_module> 
    RMode config 
    RUidGid abc abc 
</IfModule> 
<IfModule mpm_itk.c> 
    # For more information on MPM ITK, please read: 
    # http://mpm-itk.sesse.net/ 
    AssignUserID abc abc 
</IfModule> 

<IfModule alias_module> 
    ScriptAlias /cgi-bin/ /home/abc/public_html/cgi-bin/ 
</IfModule> 
Include "/usr/local/apache/conf/userdata/std/2_4/abc/abc.com/*.conf" 
</VirtualHost> 

我试图在/usr/local/apache/conf/userdata/std/2_4/abc/abc.com/创建conf文件文档根目录更改为.../public_html/public然后运行/scripts/ensure_vhost_includes --all-users重建httpd.conf文件并重新启动Apache的。但是,我认为它不会生效,因为public_html中的文件仍然可供世界访问。

什么是自定义主机设置的正确方法?

回答

0

要创建影响的cPanel &南国如何建立条目只有一个虚拟主机自定义模板,你必须执行以下步骤:

创建一个或多个以下文件的副本:

Apache 2.2 with SSL — /var/cpanel/templates/apache2_2/ssl_vhost.default 
Apache 2.4 with SSL — /var/cpanel/templates/apache2_4/ssl_vhost.default 
Apache 2.2 without SSL — /var/cpanel/templates/apache2_2/vhost.default 
Apache 2.4 without SSL — /var/cpanel/templates/apache2_4/vhost.default 

重命名文件的新副本到以下文件名:

vhost.local(如果您复制vhost.default f使用这个文件名ILE)

ssl_vhost.local(如果你复制的ssl_vhost.default文件中使用这个文件名)

编辑新的文件来修改你的虚拟主机配置。 将新文件移动到任何其他目录(例如,对于此示例,我们假设为/opt)。所以我们可以说,你将有新的模板/opt/new-vhost-template

使用下面的脚本添加必要的信息的数据结构:

perl -MYAML::Syck -e \ 
'my $hr = YAML::Syck::LoadFile($ARGV[0]);$hr->{$ARGV[1]} = $ARGV[2];YAML::Syck::DumpFile($ARGV[0],$hr);' \ 
/var/cpanel/userdata/$username/$domainname custom_vhost_template_ap2 /opt/new-vhost-template 

这应该做的伎俩!

请注意,上述示例适用于cPanel用户/帐户的特定虚拟主机,并不适用于服务器上的所有虚拟主机。

相关问题