3

デジタル Ocean アカウントで Chef を使用して、ドロップレット/インスタンスを構築しています。私のサーバーは Ubuntu 12.04 x64 です。私のCheffileには

...
site 'http://community.opscode.com/api/v1'

cookbook 'apache2',
    :git =>'https://github.com/opscode-cookbooks/apache2'
....

そして私のノードjsonで:

...
"apache": {
"default_modules" : 
  ["status","alias","auth_basic","autoindex","dir","env","mime","negotiation","setenvif"]
  },
...
"run_list": [
"recipe[gearman]",
"recipe[postgresql::server]",
"recipe[php]",
"recipe[apache2]",
"recipe[apache2::mod_php5]",
"recipe[mysql]",
"recipe[mysql::server]"

]

authz で何らかのエラーが発生したため、既にモジュールを制限する必要がありました。しかし今、私はいつもエラーを受け取っています

 * The apache2 configtest failed.
STDERR: Output of config test was:
AH00526: Syntax error on line 11 of /etc/apache2/apache2.conf:
Invalid command 'LockFile', perhaps misspelled or defined by a module not included in the server configuration
Action 'configtest' failed.

私の構成でエラーが発生するのは何が問題なのですか:

  • Apache の従来のセットアップ (すべてのモジュールを使用?)
  • LockFile のテンプレート エラーですか?
4

3 に答える 3

5

これは、chef と Apache2 レシピの既知の問題のようです。

opscode issue tracker で関連するチケットを参照してください。

https://tickets.opscode.com/browse/COOK-3837

https://tickets.opscode.com/browse/COOK-3838

https://tickets.opscode.com/browse/COOK-3900

今のところ、属性をオーバーライドしてバージョン 2.2 の apache をインストールしてみてください。

default['apache']['package']
于 2014-02-07T08:04:19.513 に答える
3

少なくともクックブックが更新されるまで、これに対する一時的な回避策を見つけました。

apache2/templates/apache2.conf.erbにある構成の次のセクションを置き換えます。

LockFile /var/lock/apache2/accept.lock

これとともに:

Mutex file:${APACHE_LOCK_DIR} default
于 2014-05-17T17:25:34.860 に答える
2

同様の問題があり、chef-solo を使用して apache2 で ubuntu/trusty64 を浮浪させたかっただけです。正確にはUbuntu 14とApache 2.4です。

それは後に働いた:

  1. 上記のjmreichaの回答に従って
  2. http://httpd.apache.org/docs/current/upgrading.htmlの時点で 2.4 から削除されたモジュール「mod_authz_default」の削除

残念ですが、この基本的な構成はすぐに使えるはずです。前述のとおり、apache2.2 から apache2.4 への移行はこちらで計画されています: https://tickets.opscode.com/browse/COOK-3900

于 2014-05-25T21:07:23.970 に答える