2.4. HTTP サーバーのインストール
Puppet モジュールは、HTTP サーバーの実行に必要なパッケージをインストールします。これには、httpd パッケージの設定を定義するリソース定義が必要です。
モジュールの manifests ディレクトリーに、httpd.pp という名前の新規のマニフェストファイルを作成します。
# touch mymodule/manifests/httpd.pp
このマニフェストには、モジュールのすべての HTTP 設定が含まれます。組織上の理由から、このマニフェストを init.pp マニフェストから分離します。
以下の内容を新しい httpd.pp マニフェスト追加します。
class mymodule::httpd { package { 'httpd': ensure => installed, } }
このコードは、httpd
と呼ばれる mymodule
のサブクラスを定義し、続いて httpd パッケージのパッケージリソース宣言を定義します。ensure ⇒ installed
属性は、パッケージがインストールされているかどうかを確認するよう Puppet に指示します。インストールされていない場合には、Puppet は yum
を実行してパッケージをインストールします。
また、メインのマニフェストファイルにこのサブクラスを含める必要があります。init.pp マニフェストを編集します。
class mymodule { include mymodule::httpd }
ここで、モジュールをテストします。以下のコマンドを実行します。
# puppet apply mymodule/examples/init.pp --noop ... Notice: /Stage[main]/Mymodule::Httpd/Package[httpd]/ensure: current_value absent, should be present (noop) ...
この出力通知メッセージは、ensure ⇒ installed
属性の結果です。current_value absent
は、httpd パッケージがインストールされていないことを Puppet が検出したことを意味します。--noop
オプションを指定しないと、Puppet は httpd パッケージをインストールします。
puppet apply
コマンドは、マニフェスト内の設定をシステムに適用します。メインの init.pp マニフェストを参照するテスト init.pp マニフェストを使用します。--noop
は、設定のドライランを実行します。これは出力のみを表示しますが、実際には設定を適用しません。