Назад | Перейти на главную страницу

Разрешить apache запускать команду sphinx

Мне нужен apache, чтобы иметь возможность запускать инструмент индексации sphinx, поскольку я создаю веб-интерфейс для переиндексации и проверки различных конфигураций sphinx.

В настоящее время я добавил следующее в visudo

Defaults:%apache !requiretty
Defaults:apache !requiretty
apache ALL=(sphinx) NOPASSWD: /usr/bin/indexer, /usr/bin/indexer

Я выполняю следующую команду:

exec sudo -u sphinx indextool --checkconfig --config /path/to/sphinx.conf

Это выполняется с помощью PHP proc_open

array(
    'stdin' => array('pipe', 'r'),
    'stdout' => array('pipe', 'w'),
    'stderr' => array('pipe', 'w'),
)

ОШИБКА:

sudo: no tty present and no askpass program specified

Оказывается, мне нужно использовать полный путь для команды

 exec sudo -u sphinx /usr/bin/indextool --checkconfig --config /path/to/sphinx.conf

Теперь все отлично работает