linux - (13) В доступе отказано: доступ к/cgi-bin/test.cgi запрещен



apache (3)

Я пробую CGI-скрипты впервые, но безуспешно. Я прочитал много уроков и следил за темами на разных форумах, но не могу заставить его работать. Я использую веб-сервер appache на машине с Fedora 10. У меня всегда проблемы с

[Wed Oct 21 20:47:36 2009] [notice] SELinux policy enabled; httpd running as context unconfined_u:system_r:httpd_t:s0
[Wed Oct 21 20:47:36 2009] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Wed Oct 21 20:47:36 2009] [notice] Digest: generating secret for digest authentication ...
[Wed Oct 21 20:47:36 2009] [notice] Digest: done
[Wed Oct 21 20:47:36 2009] [notice] Apache/2.2.11 (Unix) DAV/2 PHP/5.2.9 mod_ssl/2.2.11 OpenSSL/0.9.8g configured -- resuming normal operations

Мне нужна помощь. Вот так выглядит моя среда.

uname -a
Linux localhost.localdomain 2.6.27.5-117.fc10.i686 #1 SMP Tue Nov 18 12:19:59 EST 2008 i686 i686 i386 GNU/Linux

ls -l /var/www/cgi-bin/
total 36
-rwxrwxrwx 1 root root   106 2009-10-21 18:29 index.html
-rwxr-xr-x 1 root root 11089 2009-02-24 20:11 squidGuard.cgi
-rwxr-xr-x 1 root root  5720 2009-02-24 20:11 squidGuard-simple.cgi
-rwxr-xr-x 1 root root  5945 2009-02-24 20:11 squidGuard-simple-de.cgi
-rwxrwxrwx 1 root root   110 2009-10-21 17:38 test.cgi

apachectl -v
Server version: Apache/2.2.11 (Unix)
Server built:   Mar  6 2009 09:12:25

perl -version
This is perl, v5.10.0 built for i386-linux-thread-multi
Copyright 1987-2007, Larry Wall

Мой сценарий

cat test.cgi
#!/usr/bin/perl
print "Content-Type: text/html\n\n";
print "Hello, world!\n";

Сообщение об ошибке I gen, когда я пытаюсь получить доступ к серверу веб-страниц « http://192.168.50.29/cgi-bin/test.cgi », выглядит следующим образом:

[Wed Oct 21 21:00:27 2009] [error] [client 192.168.50.69] (13)Permission denied: access to /cgi-bin/test.cgi denied

Я добавил строку:

ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"

в /etc/httpd/conf/httpd.conf

Я просто не могу заставить это работать. Может кто-нибудь мне помочь?

https://ffff65535.com


SELinux препятствовал доступу Apache к сценарию cgi в моем случае. Быстрое исправление, которое работало для меня, отключало SELinux:

vim /etc/sysconfig/selinux
set "SELINUX=disabled"
reboot

проверьте ваш fstab, если у смонтированной файловой системы есть разрешение на выполнение

UUID=xxx-xxx-xxx-xx-xx     /mnt/mountpoint     ext4     rw,user,exec      0      0

важная часть важна


1 ПЕРВЫЙ ПРОВЕРЬТЕ ФАЙЛ HTTPD.CONF. Установите каталог скриптов следующим образом в файле httpd.conf.
Здесь вам нужно убедиться, что вы нашли правильный файл httpd.conf. Например, в моем Debian httpd.conf по умолчанию это / etc / apache2 / sites-avaialbe / default.

<Directory "dir_name">
    Options All
    AllowOverride All
    Order allow,deny
    Allow from all
<Directory>

ИЛИ вы можете просто использовать папку по умолчанию / cgi-bin.

2. Установите разрешение на выполнение тестового сценария.

chmod +x script_name




apache