Есть у нас крутые Linux'оиды? :) По Apache 2.0 вопрос.

 
+
-
edit
 

Balancer

администратор
★★★★★
Извечная проблема. PHP запускается как модуль и работает от юзверя Апача. Всё хорошо, но если брать народ на хостинг, то это уже не годится. "Враги" будут иметь доступ к "нашим" файлам :)

Как CGI его запускать не хочу, и глючновато, и загрузка ожидается приличная, нужен модуль. И тут раскопал, что Apache 2.0 позволяет запускать виртуальные сервера от заданных юзверей.

Скачал, сконфигурил с --with-mpm=perchild, PHP с этим же ключиком. Всё замечательно. Но при попытке запуска логи забиты вот таким:

[Thu Apr 17 20:03:42 2003] [emerg] (13)Permission denied: apr_proc_mutex_lock failed. Attempting to shutdown process gracefully.

Куда копать, никто не подскажет?

Или с PHP как-то иначе можно поступить? :)
 

TbMA

опытный

'AcceptMutex fcntl' в httpd.conf ставил?
 
+
-
edit
 

Balancer

администратор
★★★★★
TbMA>'AcceptMutex fcntl' в httpd.conf ставил?

Конечно же, нет :) В доках такого не видел.
Поставил.
Ошибки в локах исчезли, но страницу не отдаёт!
Браузер висит и ждёт ответа. И всё :)
 

TbMA

опытный

Balancer>Ошибки в локах исчезли, но страницу не отдаёт!
Balancer>Браузер висит и ждёт ответа. И всё :)

фича новая, так что ... не ты один мучаешься
но заставить ее работать можно ;)

тут посмотри: http://nagoya.apache.org/bugzilla/show_bug.cgi?id=7921

p.s. и пермишны должны быть правильные
p.s.p.s. то что ошибки исчезли, уже обнадеживает ;)
 

TbMA

опытный

Получилось чего-нибудь?
 
+
-
edit
 

Balancer

администратор
★★★★★
Ни сном, ни духом. Включил LogLevel debug, выключил виртхосты и вот что появляется:

AcceptMutex: fcntl (default: sysvsem)
Determining if request should be passed. Child Num: 1, SD: 16, sd from table: -1
Passing request.
passing request to another child. Vhost: airbase.ru:8000, child 1 17
Writing message to 17, passing sd: 21
Writing message succeeded 39
Determining if request should be passed. Child Num: 4, SD: 16, sd from table: 16
Determining if request should be passed. Child Num: 2, SD: 16, sd from table: -1
Passing request.
passing request to another child. Vhost: airbase.ru:8000, child 2 17
Writing message to 17, passing sd: 21
Writing message succeeded 39
Determining if request should be passed. Child Num: 4, SD: 16, sd from table: 16
Determining if request should be passed. Child Num: 3, SD: 16, sd from table: -1
Passing request.
passing request to another child. Vhost: 217.106.229.110:8000, child 3 17
Writing message to 17, passing sd: 21
Writing message succeeded 44

При коннекте висит, пока прокси по таймауту не вырубает связь. В access.log - пусто.
 
+
-
edit
 

Balancer

администратор
★★★★★
TbMA>p.s. и пермишны должны быть правильные

На каталог LockFile? Аж 777 стоит :)
Кстати, AcceptMutex flock тоже пробовал. Никакой разницы...
 

TbMA

опытный

Balancer>AcceptMutex: fcntl (default: sysvsem)
Balancer>Determining if request should be passed. Child Num: 1, SD: 16, sd from table: -1
Balancer>При коннекте висит, пока прокси по таймауту не вырубает связь. В access.log - пусто.

Это все не выглядит как ошибки. чего /var/log/messages или secure говорят?

Имелись ввиду пермишны для юзера на его каталоги, но она бы сказала чего. имхо
 
+
-
edit
 

Balancer

администратор
★★★★★
И в messages и в secure чисто :-/
 

TbMA

опытный

Balancer>И в messages и в secure чисто :-/
Какая версия ядра? Чей линукс вообще?
Апач с апачевской странички брал просто в исходниках?

>Permission denied: apr_proc_mutex_lock

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

[ 19-04-2003: Message edited by: TbMA ]
 
+
-
edit
 

Balancer

администратор
★★★★★
Linux RH 7.3
Ядро перекомпилёное и исходников, 2.4.20
Апач и PHP из исходников, самые последние.
"Боевой", правда, пока 1.3.27-2, пакетный.

А что за apr?
В пакетах, вроде, ничего с таким названием нет.
 

TbMA

опытный

Для суся есть, для редхата они медленно делают. Перчайлд вообще на нем пока нету.

Apache Portable Runtime это.

Index of /dist/apr
 
+
-
edit
 

Balancer

администратор
★★★★★
Блин. Короче, перевёл всех на 2-й Апач (и сразу и аплоады заработали и один хитрый глюк с phpBB2 прошёл) опять от одного юзверя... Пока так поработаем, потенциальных врагов на хостинг брать не будем :) А там, глядишь, perchild и заработает ещё :)
 
RU Валерий Еремеев #22.04.2003 10:53
+
-
edit
 
Balancer>... и один хитрый глюк с phpBB2 прошёл...
А какой глюк, если не секрет?
 
+
-
edit
 

Balancer

администратор
★★★★★
Balancer>>... и один хитрый глюк с phpBB2 прошёл...
В.Е.>А какой глюк, если не секрет?

В некоторых случаях не проходило обновление MySQL базы. Молча, без ондикации ошибок. В одном экземпляре доски нельзя было свой профиль изменить, в другом - зарегистрироваться :) Кроме того, после аплоада файлов (через method=POST enctype="multipart/form-data") все переменные аплоада в PHP приходили пустые (и глобальные, локальные), в то время, как просто GET и POST отрабатывались на ура... При чём пакеты были "родные"... В общем, разочаровываюсь я в RedHat с каждым годом всё больше :D
 
+
-
edit
 

Balancer

администратор
★★★★★
Кстати, всем. Сейчас возможны периодические подглючивания сервера. Я тут с библиотеками PHP вожусь и перекомпилирую его каждые минут 15 :D
 
+
-
edit
 

timochka

опытный

Balancer>Кстати, всем. Сейчас возможны периодические подглючивания сервера. Я тут с библиотеками PHP вожусь и перекомпилирую его каждые минут 15 :D

Бог в помощь!
Когда устанещь возится погляди на это чудо - РУССКИЙ ЛИНУКС

Взято тут

И печаль пройдет.

[ 22-04-2003: Message edited by: timochka ]
 
+
-
edit
 

Balancer

администратор
★★★★★
Ну, вот, попробовал ещё разок perchild. Фиг там, в новых версиях Apache та же фигня.
 

в начало страницы | новое
 
Поиск
Настройки
Твиттер сайта
Статистика
Рейтинг@Mail.ru