Привет.
Подскажите, почему не работает 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
![66dee60b6d479447283102.png](https://habrastorage.org/webt/66/de/e6/66dee60b6d479447283102.png)
5. Запустим этот файл прямо в папке:
python3 hello.py
![66dee69f8280d155359795.png](https://habrastorage.org/webt/66/de/e6/66dee69f8280d155359795.png)
И видим, что он работает.
6. Теперь выйдем из этой папки и запустим CGI-сервер на порту 8000:
python3 -m http.server --cgi 8000
7. Попробуем открыть веб-страницу. Страница всегда полностью пустая. Ошибок нет:
![66dee87367ba3595047561.png](https://habrastorage.org/webt/66/de/e8/66dee87367ba3595047561.png)
8. При каждый раз при обновлении пустой страницы сервер логирует ошибку:
![66dee89e1244a962514983.png](https://habrastorage.org/webt/66/de/e8/66dee89e1244a962514983.png)
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'
Что я делаю не так?
Спасибо.