Привет.
Подскажите, почему не работает CGI-сервер на Python?
Итак:
1. Установим чистую Ubuntu 24.04. Не будем ничего обновлять, а сразу приступим к работе.
2. Входим от ROOT и всегда от него и работаем.
3. Создадим папку cgi-bin, а в нем разместим файл hello.py с содержимым:
#!/usr/bin/python3
print("""Content-Type: text/plain
Hello, world!""")
4. Дадим этому файлу права на выполнение:
chmod a+x hello.py
5. Запустим этот файл прямо в папке:
python3 hello.py
И видим, что он работает.
6. Теперь выйдем из этой папки и запустим CGI-сервер на порту 8000:
python3 -m http.server --cgi 8000
7. Попробуем открыть веб-страницу. Страница всегда полностью пустая. Ошибок нет:
8. При каждый раз при обновлении пустой страницы сервер логирует ошибку:
Traceback (most recent call last):
File "/usr/lib/python3.12/http/server.py", line 1192, in run_cgi
os.execve(scriptfile, args, env)
PermissionError: [Errno 13] Permission denied: '/root/cgi-bin/hello.py'
Что я делаю не так?
Спасибо.