У меня есть сценарий CGI, написанный на python (начинается с #! / Usr / bin / env python), который отлично работает на сервере. Я набираю /home/company/server/root/adam/code.cgi, и он выводит правильный результат. Я захожу на www.myserver.com/adam/code.cgi и вижу только исходный код вывода моего сценария cgi в виде обычного текста.
Должна быть какая-то проблема с разрешениями, но я все еще новичок в Linux. Я выполнил команду chmod a + rx * для / home / company / server / root и всех вложенных папок, но я не могу сделать / home, / home / company или / home / company / server глобально читаемым / исполняемым файлом, потому что я стажер и не имеют достаточно высоких разрешений, и я не уверен, что ИТ-специалисты хотят сделать их общедоступными.
Что мне делать? Мне нужно, чтобы сценарий CGI был доступен из браузеров. Другие веб-страницы в том же каталоге доступны для просмотра в браузере и отображаются в идеально обработанном HTML.
Сценарии CGI не выполняются автоматически веб-сервером только потому, что они помечены как исполняемые. Это потому, что они могут открыть дыры в безопасности - плохой сценарий CGI в сочетании с ошибками ОС может использоваться для компрометации системы. Или даже без этого, он может позволить писать куда угодно apache
или www
пользователь может писать.
Что вам следует сделать, так это спросить своих «ИТ-специалистов», разрешено ли вам запускать сценарии CGI и где вы должны разместить их, чтобы они могли работать. Может быть, их нужно запускать из специального cgi-bin
каталог. Или, может быть, их нужно запустить с вашего ~/public_html/
, где они могут быть настроены для работы под вашей учетной записью, а не под учетной записью сервера (например, apache
). А может, тебе вообще не разрешено. Или, может быть, вам просто нужно спросить, и они настроят для вас каталог выполнения CGI.