Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache 如何为WHM CPanel主机自定义vhost文件?_Apache_Cpanel_Virtualhost_Whm - Fatal编程技术网

Apache 如何为WHM CPanel主机自定义vhost文件?

Apache 如何为WHM CPanel主机自定义vhost文件?,apache,cpanel,virtualhost,whm,Apache,Cpanel,Virtualhost,Whm,我想更改特定主机的文档根目录 当前主机的设置为: <VirtualHost 123.164.132.142:80> ServerName abc.com ServerAlias mail.abc.com www.abc.com DocumentRoot /home/abc/public_html ServerAdmin webmaster@abc.com UseCanonicalName Off CustomLog /usr/local/apache/doml

我想更改特定主机的文档根目录

当前主机的设置为:

<VirtualHost 123.164.132.142:80>
  ServerName abc.com
  ServerAlias mail.abc.com www.abc.com
  DocumentRoot /home/abc/public_html
  ServerAdmin webmaster@abc.com
  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>

服务器名abc.com
ServerAlias mail.abc.com www.abc.com
DocumentRoot/home/abc/public\u html
服务器管理员webmaster@abc.com
UseCononicalName关闭
CustomLog/usr/local/apache/domlogs/abc.com组合
CustomLog/usr/local/apache/domlogs/abc.com-bytes_log“%{%s}t%I。\n%{%s}t%O。”
##Cpanel::ApacheConf需要用户abc
已启用UserDir
#为Apache版本>=2.4启用向后兼容的服务器端Include表达式解析器。
#要有选择地使用较新的Apache 2.4表达式解析器,请在中禁用SSILegacyExprParser
#用户的.htaccess文件。有关更多信息,请阅读:
#    http://httpd.apache.org/docs/2.4/mod/mod_include.html#ssilegacyexprparser
SSILegacyExprParser On
suPHP_用户组abc
SuexecUserGroup abc
RMode配置
鲁迪吉德abc
#有关MPM ITK的更多信息,请阅读:
#   http://mpm-itk.sesse.net/
分配用户ID abc
ScriptAlias/cgi-bin//home/abc/public\u html/cgi-bin/
包括“/usr/local/apache/conf/userdata/std/2_4/abc/abc.com/*.conf”
我试图在
/usr/local/apache/conf/userdata/std/2_4/abc/abc.com/
中创建一个conf文件,将文档根目录更改为
../public\u html/public
,然后运行
/scripts/sure\u vhost\u includes--all users
来重建httpd.conf并重新启动apache。然而,我认为它不会生效,因为
public\uhtml
中的文件仍然可以被世界访问


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

要创建影响cPanel&WHM仅为单个虚拟主机构建条目的自定义模板,您必须执行以下步骤:

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

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文件,请使用此文件名)

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用户/帐户的特定vhost,而不适用于服务器上的所有vhost。

要创建影响cpanel&WHM仅为单个虚拟主机构建条目的自定义模板,您必须执行以下步骤:

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

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文件,请使用此文件名)

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用户/帐户的特定vhost,而不适用于服务器上的所有vhost