Apache 2.4 отказывается выполнять сценарии CGI на Linux Mint Tara (например, Ubuntu 18.04) - PullRequest
0 голосов
/ 02 апреля 2020

У меня почти полная установка apache, которая отказывается выполнять сценарии CGI.

Чтобы включить функциональность CGI, я сделал следующее:

  1. Включил модуль mod_cgi (a2enmod cgi)
  2. Включена конфигурация CGI по умолчанию (a2enconf serve-cgi-bin)
  3. Назначена оболочка / bin / bash пользователю www-data
  4. Перезагрузка сервера

После этого я поместил эти файлы в / usr / lib / cgi-bin:

  • test.py
#!/usr/bin/env python3
with open('/tmp/itexists', 'w') as f: f.write('well, we got that far, at least')
print("Content-Type: text/html\n\n")
print('something')
  • test. c
#include <stdio.h>
int main( void ) {
    FILE* f = fopen("/tmp/cpowah", "w"); fwrite("WORKS!!!!\n", 10, 1, f); fclose(f);
    printf("Content-Type: text/plain\n\n");
    printf("Blah-Blah-Blah");
}

test. c был скомпилирован в test.exe

Затем все эти файлы были назначены www-data user / group и при наличии соответствующих разрешений (например, 755)

Если я запускаю их вручную как пользователь www-data, они работают так, как они должны, но когда я пытаюсь сделать запрос к localhost / test.py или Вместо этого localhost / test.exe я получаю сообщение «500 Internal Server Error».

Для каждой попытки запустить один из этих сценариев error.log имеет рекомендацию Вот так: End of script output before headers: test.py

На самом деле, похоже, что Apache даже не пытается запустить эти скрипты: не создаются ни / tmp / itexists, ни / tmp / cpowah. Я не использую SE Linux и mod_suexe c также не используется. Apache версия 2.4.29-1ubuntu4.13

Кто-нибудь знает, что здесь может быть не так?

...