2014-02-16 6 views

ответ

3

Да, можно:

Как видно из vhost recipe,

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

По умолчанию ВХоста DOCROOT ограничен в ОС, так что если вы хотите запустить хост по умолчанию в каком-нибудь другом каталоге, вы должны отключить его с помощью default_vhost => False в декларации апача, а затем объявить apache::vhost объект с нужной конф

apache{ 
    default_vhost => false, 
    ... 
} 

apache::vhost{'mydefaulthost': 
    docroot => '/var/www/other', 
    ... 
} 
+0

Это создаст еще один виртуальный хост с именем «site.name.fqdn», но я хочу, чтобы изменить который определяется внутри класса apache здесь - https://github.com/puppetlabs/puppetlabs-apache/blob/master/manifests/init.pp в конце файла. –

+0

Итак, вы должны отключить 'default_vhost', а затем объявить' apache :: vhost' с вашими настройками –

+0

И как это сделать?) –

2

Если у ou не имеет по умолчанию vhost, он выберет нуклон в алфавитном порядке, отсортированный первым.

Это работает для меня (в результате чего некоторые аутентификации и использования псевдонимов биты в сниппет, а):

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', 
     }, 
    ], 

}