>Я в puppet не силен и так и не понял, как я
>могу объединить несколько компьютеров в группу. Подскажете? modules -/
-/mod_apache
-/manifests
=====init.pp==== <<<<=== в этом модуле описываем логику поведения Apache
class webserver {
file {"httpd.conf":
operationsystem => ? { <<<<=== забираем с файлсервера паппета файл с настройками либо центоси, либо дебиана
Centos => "/etc/httpd/httpd.conf",
Debian => "/etc/apache2/apache.conf",
<...> }
source => [
"puppet:///mod_apache/httpd.conf",
"puppet:///mod_apache/apache2.conf",
],
notify => Service ["Apache"],
}
<...> <<===где-то тут кучка кода, описывающая виртуальные хосты,пхп, SystemV сценарий и пр.
}
====site.pp, который описан в puppet.conf=====
class role_webserver {
import "mod_apache"
include webserver
include modphp
import "mod_mysql"
include mysql
import "mod_system_tools"
include smarmontools
include nagiosclient
include blah-blah-blah
<...>
}
node 'webserver01.int.corporatedomain.tld' {
include role_webserver
webserver::virtualhost {"customer1.tld": <<<<== описано где-то в апачном модуле
ensure => "enabled",
phpmode => "enabled",
ovverride => "enabled",
}
webserver::virtualhost {"customer2.tld":
ensure => "enabled",
phpmode => "enabled",
ovverride => "disibled",
}
}
node 'webserver01.int.corporatedomain.tld' {
include role_webserver
webserver::virtualhost {"customer3.tld":
ensure => "enabled",
phpmode => "disabled",
ovverride => "enabled",
}
}
node 'monitoring.infra.int.corporatedomain.tld' {
include role_nagios
<blah-blah-blah>
}
Вот Вам пример простенькой инфраструктуры. Часть ее описана где-то за пределами этого текста :) Написано на коленке за пару минут, синтаксической верности не должно быть, даже если убрать блах-блах (вряд ли скомпилится).
Если хотите, пишите inbox __ at ___ shaggycat.ru -<<<добавить посередине дефис, это что бы спам-ботов обмануть >>
Отвечу на вопросы, если таковые возникают (при условии, что большую часть времени будете думать все-таки сами, и сами читать документацию)