Ошибка в шаблоне в кулинарной книге Apache при запуске на сервер Ubuntu

Я использую Chef в своей цифровой учетной записи Ocean для создания дроплета/экземпляра. Мой сервер 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?

person user3281432    schedule 06.02.2014    source источник
comment
Это может быть связано. Либо настройте mod_xml2enc, либо отредактируйте шаблон, чтобы использовать Mutex вместо LockFile.   -  person Hamid Nazari    schedule 07.02.2014
comment
если решение, на которое указал @Hamid_Nazari, не работает, предоставьте соответствующую часть файла apache2.conf.   -  person Konzulic    schedule 07.02.2014


Ответы (3)


Похоже, это может быть известная проблема с шеф-поваром и рецептом Apache2.

См. соответствующие тикеты в системе отслеживания проблем кода операции.

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']
person Jeremy Quinton    schedule 07.02.2014
comment
Итак, каким будет правильное значение для default['apache']['package'] ? - person Daniel; 22.05.2014

Я нашел временный обходной путь для этого, по крайней мере, до тех пор, пока поваренная книга не будет обновлена.

Замените следующий раздел в вашей конфигурации, расположенной в apache2/templates/apache2.conf.erb.

LockFile /var/lock/apache2/accept.lock

С этим:

Mutex file:${APACHE_LOCK_DIR} default
person jmreicha    schedule 17.05.2014
comment
Вы также хотите удалить mod_authz_default из модулей по умолчанию: default['apache']['default_modules'] = ['status', 'alias', 'auth_basic', 'authn_file', 'authz_groupfile', 'authz_host', 'authz_user', 'autoindex', 'dir', 'env', 'mime', 'negotiation', 'setenvif'] - person suda; 16.07.2014

У меня были похожие проблемы, и я просто хотел использовать свой ubuntu/trusty64 с apache2 с помощью chef-solo. Ubuntu 14 и Apache 2.4, если быть точным.

Это сработало после:

  1. После ответа jmreicha выше
  2. Удаление модуля «mod_authz_default», который был удален из версии 2.4 с http://httpd.apache.org/docs/current/upgrading.html

Жаль, я бы предположил, что эта базовая конфигурация должна работать из коробки. Как упоминалось выше, переход с apache2.2 на apache2.4 планируется здесь: https://tickets.opscode.com/browse/COOK-3900

person jkulak    schedule 25.05.2014