3

我正在尝试使用 puppet 和 puppetlabs-apache 模块(https://github.com/puppetlabs/puppetlabs-apache)配置 apache。有谁知道是否可以将默认 vhost 的 docroot 从 /var/www 更改为 /var/www/default 之类的东西?

谢谢!

4

2 回答 2

3

对的,这是可能的:

vhost recipe所示,

# Sample Usage:
#
# # Simple vhost definition:
# apache::vhost { 'site.name.fqdn':
# port => '80',
# docroot => '/path/to/docroot',
# }

默认 vhost docroot 绑定到操作系统,所以如果你想在其他目录中运行默认主机,你应该default_vhost => False在 apache 声明中禁用它,然后apache::vhost用你想要的 conf 声明一个对象

apache{
   default_vhost => false,
   ...
}

apache::vhost{'mydefaulthost':
   docroot => '/var/www/other',
   ...
}
于 2014-02-17T08:01:29.987 回答
2

如果您没有默认虚拟主机,它将选择按字母顺序排序的第一个虚拟主机。

这对我有用(在代码段中也留下了一些身份验证和别名使用位):

class {'apache': 
    default_vhost => false,
}
apache::vhost {'mydefault':
    port => 443,
    ssl => true,
    #port => 80,
    #ssl => false,
    docroot => '/var/www/html',

    directories => [
        {
            'path' => '/var/www/html',
            'provider' => 'files',
        },
        {
            'path' => '/media/builds',
            'options' => 'Indexes FollowSymLinks MultiViews',
            'allowoverride' => 'None',
            'auth_type' => 'Basic',
            'auth_name' => 'myrobotaccessonly',
            'auth_basic_provider' => 'file',
            'auth_user_file' => '/var/www/.mypasswdfile',
            'auth_require' => 'user myrobotuser',
        },
    ],

    aliases => [
        { 
            alias => '/builds',
            path => '/media/builds',
        },
    ],

}
于 2015-04-02T19:33:39.970 回答