Одновременный запуск РНР как модуля и CGI

Роберт

Аналитик
Одновременный запуск РНР как модуля и CGI

Интересно , а можно запустить один и тот же РНР в апачи одновременно как модуль и как CGI?
Я понимаю что это без проблем , если указать апачу что файлы с расширением .phpM запускается как модуль , а файлы .phpC будут запущены как CGI , но у меня несколько иная идея...
У меня ввыставлены виртуальные хосты в Apache2. И для всех работает одно расширение .php , которое запускается как модуль. Но есть "провинившиеся" пользователи , для которых хотелось бы запустить РНР как CGI (чтобы он черех suexec создавал файлы только от их имени и это контролировалось бы линуксовыми квотами).
Или как ещё можно контролировать размер занимаемого пользователями пространсва? (кроме вывода его на отдельный партишн)
Я , может и ошибочно , считаю что через CGI работать медленней , а при работе РНР как модуль , он работает от имени apache и ни как не проконтролируешь то что пользователь насоздавал в своём каталоге файлов на 200Мб (например: написал на РНР программу для Upload'а и балдеет) при его дисковой квоте в 50Мб.
Я просто в отчаянии...
Целую неделю разбирался с mtm_perchild (надеялся что получится запускать модуль РНР от имени пользователя) , но так и не удалось её корректно запустить.
Краем уха слышал что провайдеры как-то делают так что для каждого пользователя запускается свой собственный Апачи+РНР+MySQL , но ни где не могу найти документацию - как это сделать. Может кто-то знает как это делается (только если можно НЕ на английском).
 

Роберт

Аналитик
iliah
Ну и что ты тут дал? Любой кто Linux запускал знает про квоты. Но это квоты на пользователя! Закачаешь ты 20Мб в систему через FTP под своим именем , и это они смогут контролировать. А закчаешь маленький РНР скриптик , который будет Upload'ы принимать и закачаешь чрез него хоть Гигабайт , потому что РНР как модуль будет выполняться от имени пользователя apache...
Вначаеле вопрос прочёл бы , а потом ссылками бросался... :(
 

ForJest

- свежая кровь
Роберт
А не легче ли тебе раз в сутки проверять объём данных всех пользователей и отрубать умников?
 

Роберт

Аналитик
ForJest
Но ведь если кому-то захочется пошутить (или даже просто по ошибке что-то сделает) , то 10Гб общего дискового пространства за несколько часов заполнит можно и вся система навернётся... И замечу я это лишь вечером , а удалить мусор вместе с пользователем только через пару суток смогу...
А вообще - мне кажется не стоит отрубать. За переполнение почты вас ведь не отрубают - просто сообщают что вы моглибы получить письмо , но не получили такак как у вас уже занято 98%
 

ys

отодвинутый новичок
Роберт

Примонтируй home через какой-нибудь loopback на какую-нить
file FS с заданным размером и все.
 

Роберт

Аналитик
ForJest
Представь - ты послал письмо размером больше чем тебе разрешено , и тебя сразу за это банят :) Несерьёзно

ys
Это тоже самое что если делать через партишин! Получается что если я хочу выделить по 1Гб на человека , и у меня винчестер 10Гб , то я могу выделить пространство только десяти пользователям...

Впрочем как я понял Linux'ы не способны обеспечить квоты на каталоги , а значит надо будет ставить РНР на Windows , у него судя по описаниям есть такие возможности...
 

ys

отодвинутый новичок
Роберт

А что делать. А если они захотят свои законные 1G?
То всяко полочится свои 9G они сьедят.
 

ForJest

- свежая кровь
Роберт
У тебя смысл в том, чтобы узнать, не переполнилась ли квота, которую ты установил. Если она переполнилась - ты волен делать что тебе заблагорассудится - высылать уведомления себе, пользователю, форматировать винчестер, посылать пинги на microsot.
 

Роберт

Аналитик
ys
Ты представляешь что будет если все пользователи на Гугле захотят полностью использовать свой законный 1гигабайт почтового пространства? :) Или что у ValueHost.ru все займут всё пространство... Тогда и те и другие просто обанкротятся... Я не обладаю точной статистикой , но думаю что в среднем на почте пользователи используют 5% от своего пространства , а на хостинг-серверах чуть меньше 30%. Для этого квоты и создаются.

ForJest
Я действительно выразился так что якобы хочу только контролировать , но на самом деле это подразумевало - не дать возможность выйти за пределы. Признаю , не точно сформулировал цель. :)
 

tony2001

TeaM PHPClub
да-да.
на Виндовс, конечно, Апач выполняется сразу под несколькими юзерами, угу..
 

Роберт

Аналитик
tony2001
Нет , ты не так понял - в Windows'e мне обсалютно не надо знать что за пользователь и кому пренадлежит файл. Этот гиморой есть только в *nix'e. А в Windows'e я просто создаю директорию MoiKlieny\Andrej , в ней создам директории:
www
log
db
tmp
и устанавливаю на директорию Andrej квоту в 100Мб.
Базы данных перенаправляю в MoiKlieny\Andrej\db
Сессии и временные файлы в MoiKlieny\Andrej\tmp
VirtualHost и DocumentRoot указаны на MoiKlieny\Andrej\www
а FTP для Андрея будет направлено в MoiKlieny\Andrej
и всё! Никаких проблем никогда не возникнет! Пользователь всё сможет сделать в своём каталоге , но в приделах 100Мб , и никогда не вылезет за его пределы...
Была бы Linux'e квота на каталог - было бы классно и быстро! А так прийдётся ограничиться только словом "классно" , так как будет медленней чем на *nix'е :(
 
Сверху