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

заставить SSI `exec` работать с apache

так что у меня есть apache-2.4.25 (как в Debian / stretch), и я хотел бы использовать SSI exec метод.

<!--#exec cmd="ls" -->

К сожалению, это дает мне ошибку:

[an error occurred while processing this directive]

В лог-файлах написано

unknown directive "exec" in parsed doc /path/to/some/user/public_html/ssitest/index.shtml

который я отследил, чтобы иметь Options +IncludesNOEXEC включен в моем userdir.conf (что отключает exec директива для SSI). Поэтому я попытался отключить эту опцию для отдельного VHost, добавив в VirtualHost раздел:

Options -IncludesNOEXEC
Options +Includes

К сожалению, это не помогает.

Итак, я попробовал в Directory раздел, но все равно не повезло:

Alias /ssitest/ /path/to/some/user/public_html/ssitest/
Options -IncludesNOEXEC
Options +Includes
<Directory /path/to/some/user/public_html/ssitest/>
  Options -IncludesNOEXEC
  Options +Includes
</Directory>

Всякий раз, когда я пытаюсь получить доступ к своей странице, я получаю при обработке этой директивы произошла ошибка ошибка.

Так есть ли способ отключить ранее установленную опцию?

Вам нужно включить mod_cgi. Теперь я проверяю запуск ssi exec на Ubuntu 16.04 + apache2 - он работает, если вы включите mod_include и mod_cgi и поставите Options +Includes в htaccess или в <Directory... >.

Options -IncludesNOEXEC в моем случае не понадобилось.