Я начинаю изучать Python сегодня вечером ...Когда я помещаю файл сценария Python CGI в ~/Sites/, они могут выполняться через localhost/~ USER_NAME/SCRIPT_FILE_NAME.py! Но мой корень проекта не находится под Sites/, поэтому каждый раз, когда мне нужно скопировать файл сценариев на Sites для тестирования. Вопрос в том, могу ли я обновить Apache conf, чтобы веб-сервер мог напрямую загружать скрипты из папки src моего проекта?

Я попытался отредактировать /etc/apache2/users/USER_NAME.conf и заменить /Users /USER_NAME /Sites / на /Users /USER_NAME / PATH_TO_PROJECT_SRC /. Но я всегда встречал ошибку «Отказано в доступе».

Может кто-нибудь сказать мне, что не так и как это исправить? Кстати, какова лучшая практика для разработки сценариев Python CGI?

Большое спасибо!

1 ответ1

0

Прежде всего, убедитесь, что Apache работает. URL http://localhost должен вернуть 'Это работает!». Если нет, то включите Apache:

sudo apachectl start

Теперь включите Сайты: создайте файл /etc/apache2/users/$USER.conf со следующим содержимым:

<Directory "/Users/$USER/Sites/">
    Options Indexes MultiViews FollowSymLinks ExecCGI
    AddHandler cgi-script .cgi
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>

(где $USER - ваше короткое имя пользователя). Затем выполните sudo apachectl restart . URL http://localhost/~$USER теперь должен возвращать хорошую веб-страницу.

Приведенный выше файл конфигурации инструктирует Apache следовать символическим ссылкам. Просто создайте символическую ссылку на ваш скрипт Python в вашей директории разработки. Не нужно копировать вещи вокруг.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .