我正在尝试使用 puppet 和 puppetlabs-apache 模块(https://github.com/puppetlabs/puppetlabs-apache)配置 apache。有谁知道是否可以将默认 vhost 的 docroot 从 /var/www 更改为 /var/www/default 之类的东西?
谢谢!
我正在尝试使用 puppet 和 puppetlabs-apache 模块(https://github.com/puppetlabs/puppetlabs-apache)配置 apache。有谁知道是否可以将默认 vhost 的 docroot 从 /var/www 更改为 /var/www/default 之类的东西?
谢谢!
对的,这是可能的:
如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',
...
}
如果您没有默认虚拟主机,它将选择按字母顺序排序的第一个虚拟主机。
这对我有用(在代码段中也留下了一些身份验证和别名使用位):
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',
},
],
}