0

タイトルが示すように、ボックスを正常にプロビジョニングする際に問題が発生しています。開発ボックス (Apache、PHP、および XDebug) をインストールしようとしています。

XDebug 機能を含める必要がある点を除いて、すべて正常に動作します。これは、元の REPO では提供されていないため、Example42/puppet-yum REPO マネージャーを介してインストールしています。

ボックスを最初からビルドしようとすると、パッケージ php-perl-xdebug が利用できないというエラーが表示されるため、この部分に誤りがあります。これは、リポジトリがまだ初期化されていないためです。他のアクションを実行する前にリポジトリを更新することを確認するために、いくつかの方法を試しました。-> でクラスを参照しますが、これはループされたブロックになります。Google を調べても、一部のコマンドが他のコマンドよりも先に実行されるという実際的な結果は得られませんでした。

「必須」コマンドでこれを行うことは可能だと思いますが、それを使用する方法が見つかりませんでした。補足: 私たちはほとんどの場合、ビルドに example42 モジュールを使用しています。

前もって感謝します:

以下は、アプリケーション サービスの default.pp マニフェストです。

デフォルト.pp

Exec { path => [ "/bin/", "/sbin/" , "/usr/bin/", "/usr/sbin/" ] }


class system-setup {
   service { "iptables":
        ensure => stopped,
    }
}

class php-setup{
    php::module { "pdo": }
    php::module { "gd": }
    # php::module { "fpm": }
    php::module { "mysql": }
    php::module { "soap": }
    # php::module { "zts": }
    # php::module { "pecl-apc": }

    php::module { "pecl-memcache": }
    php::module { "xml": }
    php::module{ "pecl-xdebug": }
}

class apache-vhost {
    apache::vhost { 'trunk.project.dev':
        docroot             => '/var/www/html/',
        port                => '80',
    }
}

class { 'yum':
  extrarepo => [ 'epel' ],
}


class { 'apache':   
    source => [ "puppet:///modules/apache/httpd.conf-project" , "puppet:///modules/apache/httpd.conf" ], 
}   

class { 'php' :
    source => ["/vagrant/files/php.ini", "puppet:///modules/php/php.ini"],
}



include php-setup
include apache-vhost
4

1 に答える 1

0

これをどこかに置くことができます:

クラス['yum'] -> パッケージ <||>

これは、リソース コレクターを使用して、パッケージがインストールされる前に Class yum が実行されていることを確認します。

于 2013-04-26T05:55:42.520 に答える