Не может изменить путь cgi-мусорного-ведра в Apache

Установленный Apache и веб-корень по умолчанию были/var/www, на который я хотел изменить cgi-мусорное-ведро где-нибудь в/var/www, но я не могу. Это только работает в/usr/lib/cgi-bin.

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

VirtualHost:

<VirtualHost *:80>
   ServerAdmin webmaster@localhost

    #DocumentRoot /var/www
    DocumentRoot /home/aj/public_html

    <Directory />
            Options FollowSymLinks
            AllowOverride None
    </Directory>
    #<Directory /var/www/>
    <Directory /home/aj/public_html/>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride None
            Order allow,deny
            allow from all  
            AddHandler mod_python .py
            PythonHandler mod_python.publisher
            PythonDebug On
    </Directory>

    ScriptAlias /cgi-bin/ /home/aj/public_html/cgi-bin/
    #ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    #<Directory /usr/lib/cgi-bin/>
    <Directory /home/aj/public_html/cgi-bin/>
            AllowOverride None
            Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
            Order allow,deny
            Allow from all
    </Directory>

    ErrorLog /var/log/apache2/error.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel debug

    CustomLog /var/log/apache2/access.log combined

    Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
            Options Indexes MultiViews FollowSymLinks
            AllowOverride None
            Order deny,allow
            Deny from all
            Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>
</VirtualHost>

Журнал Apache имеет эту ошибку:

script not found or unable to stat: /home/aj/public_html/cgi-bin

Еще некоторая информация:

После выполнения "PS - AF | grep AP" управляет, чтобы я вернул результат, и я думаю, что процессы Apache работают или как корень или как www-данные. Вот дамп:

root     22762     1  0  8543  8952   0 00:30 ?        00:00:00 /usr/sbin/apache2 -k start
www-data 22764 22762  0  8669  5928   0 00:30 ?        00:00:00 /usr/sbin/apache2 -k start
www-data 22765 22762  0  8543  5152   0 00:30 ?        00:00:00 /usr/sbin/apache2 -k start
www-data 22766 22762  0  8669  5928   0 00:30 ?        00:00:00 /usr/sbin/apache2 -k start

Помогите.Спасибо.

0
задан 03.10.2013, 12:35

3 ответа

Получил его!

PythonHandler mod_python.publisher 

потребности быть

PythonHandler mod_python.cgihandler

Затем можно запустить Python как CGI.

0
ответ дан 24.11.2019, 12:25

Если учетная запись пользователя, под которой работает Apache (гость? никто?) не имеет доступа к /home/aj/public/cgi-bin затем Вы видели бы ту ошибку.

Исследуйте настройки User и Group в httpd.conf, и также исследуйте вывод этой команды:

ls -ld /home/aj /home/aj/public_html /home/aj/public_html/cgi-bin

Пользователь Apache смог бы видеть cgi-каталог-bin?

Каким образом делает использование, например. /var/www/cgi-bin не работают?
Было ли на запуске некоторое сообщение об ошибке, или Вы видели ошибку в браузере при отправлении запроса к сценарию?

Возможно у Вас есть та же проблема с /var/www как с Вашим корневым каталогом; а именно, то, что процесс Apache не имеет доступа к той папке.

Обратите внимание, что это - вся догадка, пока мы не знаем то, что учетные записи пользователей и полномочия в действительности.

1
ответ дан 24.11.2019, 12:25

Если cou являются profficiend с strace, я предполагаю, что Вы выполняете не разветвленный экземпляр httpd через strace и видите, почему ошибки появляются. Strace скажет Вам, если это будет проблема разрешения, или неправильно соедините каналом.

0
ответ дан 24.11.2019, 12:25

Теги

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