2.5. HTTP サーバーの実行

httpd パッケージのインストール後に、別のリソース宣言 service を使用してサービスを起動します。

httpd.pp マニフェストを編集し、強調表示されている行を追加します。

class mymodule::httpd {
  package { 'httpd':
    ensure => installed,
  }
  service { 'httpd':
    ensure => running,
    enable => true,
    require => Package["httpd"],
  }
}

これにより、以下の操作が実行されます。

  • ensure ⇒ running 属性は、サービスが実行中かどうかを確認します。実行中でない場合は、Puppet がサービスを起動します。
  • enable ⇒ true 属性は、システムの起動時にサービスが実行されるように設定します。
  • require ⇒ Package["httpd"] 属性は、リソース宣言間の順位関係を定義します。このケースでは、httpd サービスが httpd パッケージのインストール後に起動されるようにします。これにより、サービスと対応するパッケージの間で依存関係が作成されます。

puppet apply コマンドを再度実行して、モジュールへの変更をテストします。

# puppet apply mymodule/tests/init.pp --noop
...
Notice: /Stage[main]/Mymodule::Httpd/Service[httpd]/ensure: current_value stopped, should be running (noop)
...

この出力通知メッセージは、httpd サービスに対する新しいリソース定義の結果です。