2015-11-08 8 views
0

Я хотел бы использовать несколько шаблонов vhost из моего модуля apache в манифесте узлов, и пока не повезло.Использование нескольких шаблонов vhost в кукольном

У меня есть один шаблон vhost в моем модуле apache, который выглядит так. Это мой шаблон апача :: ВХост:

cat modules/apache/templates/vhost.conf.erb 
<VirtualHost *:<%= port %>> 
    ServerName <%= name %> 
<%if serveraliases.is_a? Array -%> 
<% serveraliases.each do |name| -%> 
<%= " ServerAlias #{name}\n" %><% end -%> 
<% elsif serveraliases != '' -%> 
<%= " ServerAlias #{serveraliases}" -%> 
<% end -%> 

    php_value newrelic.appname <%= name %> 

    KeepAlive On 
    KeepAliveTimeout 5 
    MaxKeepAliveRequests 100 
    LogFormat "{ \ 
     \"host\":\"<%= name %>.<%= domain %>\", \ 
     \"path\":\"/var/log/httpd/jf_<%= name %>_access_log\", \ 
     \"tags\":[\"Jokefire <%= name %>\"], \ 
     \"message\": \"%h %l %u %t \\\"%r\\\" %>s %b\", \ 
     \"timestamp\": \"%{%Y-%m-%dT%H:%M:%S%z}t\", \ 
     \"clientip\": \"%a\", \ 
     \"duration\": %D, \ 
     \"status\": %>s, \ 
     \"request\": \"%U%q\", \ 
     \"urlpath\": \"%U\", \ 
     \"urlquery\": \"%q\", \ 
     \"method\": \"%m\", \ 
     \"bytes\": %B, \ 
     \"vhost\": \"%v\" \ 
    }" <%= name %>_access_json 
    CustomLog /var/log/httpd/jf_<%= name %>_access_log <%= name %>_access_json 
    LogLevel debug 
    ErrorLog /var/log/httpd/jf_<%= name %>_error_log 
    DirectoryIndex index.html index.php 
    DocumentRoot <%= docroot %> 
    <Directory <%= docroot %>> 
     Options Indexes FollowSymLinks 
     AllowOverride All 
     Order allow,deny 
     allow from all 
    </Directory> 
    ServerSignature On 
</VirtualHost> 

И когда я определяю этот шаблон в моем nodes.pp явить он работал совершенно нормален:

apache::vhost { 'dev.example.com': 
     port => 80, 
     docroot => '/var/www/jf-wp', 
     ssl => false, 
     priority => 002, 
     } 

Но когда я пытаюсь использовать другой шаблон с виртуальным хостом различные настройки в моем show.pp я получаю сообщение об ошибке. Это шаблон апач :: vhost_admin, что я не могу работать в моем nodes.pp манифеста:

#cat modules/apache/templates/vhost_admin.conf.erb 
<VirtualHost *:<%= port %>> 
    ServerName <%= name %> 
<%if serveraliases.is_a? Array -%> 
<% serveraliases.each do |name| -%> 
<%= " ServerAlias #{name}\n" %><% end -%> 
<% elsif serveraliases != '' -%> 
<%= " ServerAlias #{serveraliases}" -%> 
<% end -%> 

    php_value newrelic.enabled false 

    KeepAlive On 
    KeepAliveTimeout 5 
    MaxKeepAliveRequests 100 
    LogFormat "{ \ 
     \"host\":\"<%= name %>.<%= domain %>\", \ 
     \"path\":\"/var/log/httpd/jf_<%= name %>_access_log\", \ 
     \"tags\":[\"Jokefire <%= name %>\"], \ 
     \"message\": \"%h %l %u %t \\\"%r\\\" %>s %b\", \ 
     \"timestamp\": \"%{%Y-%m-%dT%H:%M:%S%z}t\", \ 
     \"clientip\": \"%a\", \ 
     \"duration\": %D, \ 
     \"status\": %>s, \ 
     \"request\": \"%U%q\", \ 
     \"urlpath\": \"%U\", \ 
     \"urlquery\": \"%q\", \ 
     \"method\": \"%m\", \ 
     \"bytes\": %B, \ 
     \"vhost\": \"%v\" \ 
    }" <%= name %>_access_json 
    CustomLog /var/log/httpd/jf_<%= name %>_access_log <%= name %>_access_json 
    LogLevel debug 
    ErrorLog /var/log/httpd/jf_<%= name %>_error_log 
    DirectoryIndex index.html index.php 
    DocumentRoot <%= docroot %> 
    <Directory <%= docroot %>> 
     Options Indexes FollowSymLinks 
     AllowOverride All 
     Order allow,deny 
     allow from all 
    </Directory> 
    ServerSignature On 
</VirtualHost> 

И когда я пытаюсь определить Apache :: vhost_admin в моем nodes.pp файле:

apache::vhost_admin { 'admin.example.com': 
    port => 80, 
    docroot => '/var/www/admin', 
    ssl => false, 
    priority => 004, 
    serveraliases => 'www.admin.example.com', 
    } 

когда я определяю Апач :: шаблон vhost_admin в nodes.pp манифеста, когда я получаю следующее сообщение об ошибке:

Error: Could not retrieve catalog from remote server: Error 400 on SERVER: Puppet::Parser::AST::Resource failed with e 
rror ArgumentError: Invalid resource type apache::vhost_admin at /etc/puppet/environments/production/manifests/nodes.p 
p:139 on node web1.jokefire.com 
Warning: Not using cache on failed catalog 
Error: Could not retrieve catalog; skipping run 
enter code here 

Что я делаю неправильно? Как определить несколько определений vhost в марионеточных, каждый с разными настройками?

+1

Вы используете apache :: vhost или apache :: vhost_admin? Для меня совершенно непонятно, что вы пытаетесь сделать. Можете ли вы разместить свой apache :: vhost_ ?? Вот? – cristi

+0

Привет, christi, я пытаюсь использовать оба apache :: vhost и apache :: vhost_admin. И когда я пытаюсь использовать apache :: vhost_admin, я получаю сообщение об ошибке. Но при использовании apache :: vhost я не получаю сообщение об ошибке. То, что я хотел бы сделать, это использовать оба шаблона, но я не уверен, как этого добиться. Извините, если я не был чист. Я отредактировал сообщение, чтобы попытаться сделать его более понятным, что я пытаюсь сделать. – bluethundr

+1

Является apache :: vhost_admin определением или классом? – cristi

ответ

1

После обсуждения с @bluethundr, похоже, что определение «apache :: vhost_admin» отсутствовало.

 Смежные вопросы

  • Нет связанных вопросов^_^