День добрый, Alex,
среда, 10 Июнь 98, you wrote to me:
>> абонентами) работают из-под других пользователей, прописанных соответственно
>> в virtual host config.
> В доке про User/Group написано, что
> Special note: Use of this directive in <VirtualHost> requires a properly
> configured suEXEC wrapper. When used inside a <VirtualHost> in this
> manner, only the user that CGIs are run as is affected. Non-CGI requests are
> still processed with the user specified in the main User directive.
> Т.е. у вас используется suexec или нет ? Если используется, то пропадание
> REQUEST_URI и UNIQUE_ID странно, а CHARSET_* - вполне ожидаемо :)
ну конечно используется :)
я вообще то по английски читать умею
Так что самое интересное, проапгрейдил до 25.3, не меняя конфигурации
поставил - REQUEST_URI и UNIQUE_ID тут же появились (фаза Луны, да? ;))
а CHARSET_* - так и непроявились.
начал разбираться в чем причина. В исходнике suexec.c написано
#ifdef RUSSIAN_APACHE
несмотря на свое достаточно слабое знание языка С, я вроде как
сообразил, что должна быть определена RUSSIAN_APACHE
Запускаем "make build-support"
Начинается самое интересное. Весь вывод на экран цитировать не буду,
только две строки.
Вот так компилируются практически все файлы:
gcc -funsigned-char -DSTATUS -DRUSSIAN_APACHE -DRUSSIAN_APACHE_TEST \
`../apaci` ab.o -o ab -L../ap -lap -lcrypt
А вот так компилируется suexec:
gcc -c -I../os/unix -I../include -funsigned-char -DSTATUS \
-DHTTPD_USER=\"wwwadm\" -DUID_MIN=1000 -DGID_MIN=100 \
-DUSERDIR_SUFFIX=\"public_html\" \
-DLOG_EXEC=\"/m1/www/apache/logs/suexec_log\" \
-DDOC_ROOT=\"/m1/www/apache/htdocs\" \
-DSAFE_PATH=\"/usr/local/bin:/usr/bin:/bin\" suexec.c
Не здесь ли собака порылась? насколько я понимаю, как раз при
компиляции suexec RUSSIAN_APACHE и не определена.
(кстати, у меня еще вопросы относительно suexec'а. Каким образом
переопределить -DLOG_EXEC и -DDOC_ROOT? )
в configure таких ключей нет, и он постоянно сам ставит имя логфайла
suexec_log и в DOC_ROOT прибавляет htdocs
правка suexec.h нужного результата не дает, потому как configure
сама создает эти значения в Makefile и компилирует с ними.
Приходится после запуска configure лезть в Makefile и править там
вручную.
>> P.S. А еще пропала переменная REMOTE_HOST. Причем если я захожу на страницу
>> с тачки, которая прописана в DNS, то переменная есть и равна доменному
>> имени тачки. Как только я захожу с непрописанной тачки, переменная пропадает,
>> (раньше насколько я помню в таких случаях REMOTE_HOST просто становилась
>> эквивалентной REMOTE_ADDR)
> Она и сейчас должна заменяться таковой. Точнее, REMOTE_ADDR должна быть
> всегда
Дык REMOTE_ADDR то есть всегда. А вот REMOTE_HOST появляется почему
то только тогда, когда мой REMOTE_ADDR прописан в DNS
А раньше REMOTE_HOST в таком случае просто имела значение айпи-адреса
Немножко сумбурно, но это потому что спешу.
P.S. А еще pl25_3-25_4.diff не меняет
#define SERVER_BASEVERSION "Apache/1.3.0 rus/PL25.3"
Кроме этого после установки 25.4
в логи посыпалось
[Thu Jun 11 14:42:16 1998] [notice] httpd: child pid 25962 exit signal
Segmentation fault (11)
Поставил 25.5 - та же фигня :(
Извиняюсь сразу, что не шлю полную и подробную информацию об ошибке,
core и все прочее. Я и так сглупил, что прямо на работающем сервере
днем править начал :)
Пришлось все быстренько на 25.3 вернуть.
Вот такие дела
Virtually Yours,
---
San Sanych Timofeev, webmaster of INTERCOM ______ _____ _____
Saratov, RUSSIA, phone: +7 8452 506599 UIN (_____ (_____ |
e-mail: sst@sst.ru http://sansanych.com 1528150 ______)______) |
"Russian Apache" includes software developed
by the Apache Group for use in the Apache HTTP server project
(http://www.apache.org/) See
Apache LICENSE.
Copyright (C) 1995-2001 The Apache Group. All rights reserved.
Copyright (C) 1996 Dm. Kryukov; Copyright (C)
1997-2009 Alex Tutubalin. Design (C) 1998 Max Smolev.