Неверный каталог Mutex в файле аргумента: $ {APACHE_LOCK_DIR}

25

Привет всем телом после чистой установки Ubuntu 16.04 и лампа Tasksel Apache2 получил эту ошибку:

[Mon Jul 18 22:42:00.114578 2016] [core:warn] [pid 4654] AH00111: Config variable ${APACHE_LOCK_DIR} is not defined
[Mon Jul 18 22:42:00.114623 2016] [core:warn] [pid 4654] AH00111: Config variable ${APACHE_PID_FILE} is not defined
[Mon Jul 18 22:42:00.114641 2016] [core:warn] [pid 4654] AH00111: Config variable ${APACHE_RUN_USER} is not defined
[Mon Jul 18 22:42:00.114645 2016] [core:warn] [pid 4654] AH00111: Config variable ${APACHE_RUN_GROUP} is not defined
[Mon Jul 18 22:42:00.114657 2016] [core:warn] [pid 4654] AH00111: Config variable ${APACHE_LOG_DIR} is not defined
[Mon Jul 18 22:42:00.133748 2016] [core:warn] [pid 4654] AH00111: Config variable ${APACHE_LOG_DIR} is not defined
AH00526: Syntax error on line 74 of /etc/apache2/apache2.conf:
Invalid Mutex directory in argument file:${APACHE_LOCK_DIR}
таль шульгин
источник
2
OP, пожалуйста, ознакомьтесь с ответами ниже. Я рекомендую один от @EnterUserNameHere. Это сработало для меня.
Оливер Уильямс

Ответы:

19

Похоже, вы пытались запустить Apache, запустив что-то вроде

apache2

Это не работает использование

sudo service apache2 start

вместо.

Флориан Диш
источник
18

Я столкнулся с этим однажды, и это сработало для меня:

source /etc/apache2/envvars 
apache2 -V
sudo service apache2 restart

У меня не было проблемы с тех пор.

EnterUserNameHere
источник
Рассмотрим строки, подобные export APACHE_LOCK_DIR=/var/lock/apache2$SUFFIXприведенным в этом файле envvars, который имеет смысл :) Если бы не было возможности сделать grepдля этой строки var, если ваша конфигурация apache отличается.
Оливер Уильямс
apache2 -V дал мне ошибку при пропущенном сконфигурированном vhost. Все работает хорошо после отключения этого vhost с помощью a2dissite site.local.
Сади
8

Правильный ответ довольно прост, но не очевиден.

apache2Службы в Ubuntu / Debian использует файл среды /etc/apache2/envvarsво время его запуска с помощью apache2ctl restartили service apache2 restart.

Чтобы успешно показать apache2 -Vдетали, просто поставьте файл окружения apache2:

# source /etc/apache2/envvars
# apache2 -V

Не должно быть никаких синтаксических ошибок с apache2.conf, поскольку переменные среды, показанные в строке 74, автоматически получают apache2 во время его запуска.

dimib
источник