Xpoint
   [напомнить пароль]

Помогите настроить cgi-bin для виртуальных хостов на apache 2.4

Метки: [без меток]
2019-02-13 16:25:14 [обр] German[досье]

Помогите настроить cgi-bin для виртуальных хостов на apache 2.4

Все работает, включая запуск скрипта из директории www, а из cgi тот же скрипт не запускается
E:\apache\home\mysite\cgi вот один из сайтов виртуальных, cgi-bin
 Not Found /n The requested URL /cgi-bin/pe.pl was not found on this server.
Конфигурация:

<VirtualHost *:80>
    ServerAdmin german@***.ru
    DocumentRoot "${SRVROOT}/home/mysite/www"
    ServerName mysite
ScriptAlias "mysite/cgi-bin/" "${SRVROOT}/home/mysite/cgi"
    <Directory "mysite/cgi-bin/">
     AllowOverride None
     Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
     Order allow,deny
     Allow from all
    </Directory>
    ScriptAlias /cgi-bin/ "${SRVROOT}/home/mysite/cgi"
    ErrorLog "${SRVROOT}/home/mysite/www/mysiteErrors.log"
    CustomLog "${SRVROOT}/home/mysite/www/mysiteaccess.log" common
</VirtualHost>

Все, что можно и нельзя, перечитал и попробовал
скрипт, который пытаюсь запустить

#!/usr/bin/perl
use strict;
use warnings;
print "Content-type: text/plain;\n\n";
foreach my $var (sort(keys(%ENV))) { my $val = $ENV{$var};
    $val =~ s|\n|\\n|g;
    $val =~ s|"|\\"|g;
    print "${var}=\"${val}\"\n"; }

этот скрипт работает из директории www

спустя 3 часа 21 минуту [обр] German[досье]

Может кто-нибудь помнит: апач 2.2 уже «усовершенствовали» до того, сто включить нармально нельзя?
или он нормально работает?

Делать нечего, нормальных настроек не сделали, простейших и распространенных нет нигде. Никогда такого не было
На старый придется переходить

спустя 4 часа 34 минуты [обр] Jared(0/26)[досье]

German[досье] для начала попробуйте посмотреть в логи.

apt-get install apache2

дает вполне вменяемую конфируция по-умолчанию -)

спустя 22 минуты [обр] German[досье]
вообще-то у меня апач для виндовс.
Но мне бы увидеть вменяемую конфигурацию даже для линуха. В основном-то подойдет.
спустя 3 часа 46 минут [обр] Евгений Седов aka KPbIC(8/187)[досье]
сообщение промодерировано
German[досье] Мне кажется, вы это не читали: http://httpd.apache.org/docs/2.4/mod/mod_alias.html#scriptalias
спустя 7 часов [обр] German[досье]
спасибо огромное!
Читаю. Кажется, я все просматривал, но слона-то я и не приметил...
спустя 3 часа 35 минут [обр] German[досье]

Работает доступ к виртуальным серверам, выполняются скрипты на виртуальных серверах... Что не работает:

  1. не пишется errors.log и access.log И вообще никуда ничего не пишется
  2. не выполняются скрипты в cgi-bin

Настройки сейчас выглядят так:

Define SRVROOT "e:/apache" # это в самом верху, но, по-моему, лишнее, так как есть в основном файле
<VirtualHost *:80>
    ServerAdmin german@itkm.ru
    DocumentRoot "${SRVROOT}/home/localhost/www"
    ServerName localhost
    ScriptAlias "/cgi-bin/" "${SRVROOT}/home/localhost/cgi"
    ErrorLog "${SRVROOT}/home/mysite/localhosterror.log"
    CustomLog "${SRVROOT}/home/mysite/localhostaccess.log" common
</VirtualHost>

Я так понял, что этого достаточно, мне нужно выполнение скриптов — и ничего больше. Но не работает.

спустя 18 минут [обр] German[досье]
да ответ сервера на http://localhost/cgi-bin/pe.pl
Not Found
The requested URL /cgi-bin/pe.pl was not found on this server.
спустя 38 минут [обр] Евгений Седов aka KPbIC(8/187)[досье]
German[досье] Где лежит pe.pl, покажите полный путь.
спустя 14 минут [обр] Евгений Седов aka KPbIC(8/187)[досье]
German[досье] У вас неправильно написана директива ScriptAlias.
спустя 16 минут [обр] German[досье]
Где лежит pe.pl, покажите полный путь.
E:\apache\home\localhost\cgi\pe.pl  # полагаю именно это эквивалентно http://localhost/cgi-bin/pe.pl 
E:\apache\home\localhost\www\pe.pl   # а вот это такой же точно файл работает как http://localhost/pe.pl
У вас неправильно написана директива ScriptAlias.
я её раз 50 по разному написал, что еще пробовать уже не представляю
Спасибо
спустя 7 минут [обр] Евгений Седов aka KPbIC(8/187)[досье]

Я вам уже давал ссылку: http://httpd.apache.org/docs/2.4/mod/mod_alias.html#scriptalias

ScriptAlias "/cgi-bin/" "/web/cgi-bin/"

Видите завершающие слеши?

The ScriptAlias directive has the same behavior as the Alias directive

Идем по ссылке: http://httpd.apache.org/docs/2.4/mod/mod_alias.html#alias

Note that if you include a trailing / on the URL-path then the server will require a trailing / in order to expand the alias. That is, if you use...
спустя 1 час 9 минут [обр] German[досье]

все заработало с завершающим слешем
И как просто, господи! Чего только не перепробовал!

Спасибо огромное!

спустя 7 минут [обр] German[досье]
правда ошибки пока в логи не пишутся
но это следующая тема
попробую сначала разобраться сам
спустя 21 минуту [обр] German[досье]

в логи все пишется

просто из-за разбильона переделок у меня логи не туда попали.
Это видно в коде.

Все проблемы на сегодняшний день решены

Спасибо вам, Евгений, за терпение, внимание и глубокие познания!

спустя 1 час 38 минут [обр] Евгений Седов aka KPbIC(8/187)[досье]
German[досье] Да какие тут познания... Я уже не помню когда последний раз видел голый CGI и настраивал апач. Просто, если читать доку, жизнь вообще становится прекрасна.
спустя 22 часа [обр] German[досье]

Документацию к перлу (точнее к модулям) я читаю спокойно. Обычно ничего лишнего.
А апач менее конкретен, читать сложнее. Но если время не жалеть — то времени много сэкономишь... И у Апача есть ещё одно преимущество: язык такой простой, что иногда забываешь: по-русски только что читал или по-английски.

директивы CGI пока не выполняются

<!--#config timefmt="Дата: %d-%m-%y, время: %T"-->

они мне и не нужны вроде, кроме <!--#include virtual="cgi-bin/xshtml.pl" --> а include virtual выполняется.
Но это я потом буду настраивать... Может куда-то выложить все настроенное потом, чтобы копировали прямо, ничего не спрашивая?

спустя 5 часов [обр] Евгений Седов aka KPbIC(8/187)[досье]
Сомневаюсь, что "надо раскомментировать нужную директиву" и "директивы надо писать правильно" тянет на священные знания.
Powered by POEM™ Engine Copyright © 2002-2005