Сценарии CGI на Apache2 дают 403 запрещенных, когда CGI находится в связанной папке

Я запускаю Ubuntu 16.04 как виртуальную машину. Мне установили Apache2 2.4.18.

У меня есть папка с cgi сценариями, которые я хочу использовать. Чтобы сделать это, я поместил символьную ссылку на ту папку в/usr/lib/cgi-bin.

Когда я называю сценарий из Firefox localhost/cgi-bin/linkName/script.cgi Я получаю 403 запрещенных ошибки.

Когда я копирую script.cgi в /usr/lib/cgi-bin и назовите его с localhost/cgi-bin/script.cgi, это выполняет, но дает программную ошибку, так как это испытывает недостаток в окружающих файлах и папках.

Я имею chmod 777 и ссылка и папка, с которой это связывается, но я все еще получаю ошибку.

Что еще может я делать кроме привыкания всех файлов и папок в /usr/lib/cgi-bin?

2
задан 1 December 2016 в 11:44

1 ответ

Это - потому что символьная ссылка указывает на каталог, который расположен за пределами каталогов, перечисленных в Вашем "virtualhost".conf файлы. Таким образом, необходимо записать необходимые директивы в Вашем /etc/apache2/apache2.conf (или /etc/apache2/sites-available/*.conf или /etc/apache2/conf-available/*.conf) файл к доступу /usr/lib/cgi-bin. Что-то как:

Alias /cgi-bin/linkName /usr/lib/cgi-bin

<Directory /usr/lib/cgi-bin>
        Options +ExecCGI FollowSymLinks
        DirectoryIndex disabled
        AllowOverride None
        Require all granted
        # etc..   
</Directory>

И возможно (но я не уверен, что это необходимо): sudo chown -R www-data:www-data /usr/lib/cgi-bin.

, Если Вы делаете Alias /cgi-bin/linkName /usr/lib/cgi-bin, Вы не должны делать символьную ссылку.

0
ответ дан 2 December 2019 в 09:41

Другие вопросы по тегам:

Похожие вопросы: