Apache & mod_suexec

Статус
В этой теме нельзя размещать новые ответы.

tlittle

Постоялец
Регистрация
26 Мар 2009
Сообщения
74
Реакции
13
Купил себе VPS, настраиваю апач. В связи с этим вопрос возник следующий. С учетом того, что сайтов на сервере планируется размещать много, не хочется, чтобы (в случае выявления какой-либо уязвимости в скриптах) скрипты с одного сайта могли взаимодействовать со скриптами другого сайта.

Побегал по инету, решил - mod_suexec должен помочь. Настроил виртуальные хостинги, задаю vhost для очередного сайта так:
PHP:
<VirtualHost *:80>
    DocumentRoot "/home/gorup1/mysite1/public_html"
    ServerName mysite1.ru
    SuexecUserGroup group1 group1
    <Directory "/home/group1/mysite1/public_html">
        Options Indexes FollowSymLinks
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>
group1 - это сайты, пересечение скриптов которых для меня не важно и для которых, по идее, апач должен запускаться под этим юзером.
Ну и получаю, соответственно ошибку 403: "You don't have permission to access / on this server.".
Меняем юзера /home/group1 на apache:apache (при этом /home/group1/mysite1 остается group1:group1) - все работает хорошо.

Индексный файл - .php, работает через mod_php. Что я делаю не так и что надо сделать, чтобыл работало "так"? :)
 
Купил себе VPS, настраиваю апач. В связи с этим вопрос возник следующий. С учетом того, что сайтов на сервере планируется размещать много, не хочется, чтобы (в случае выявления какой-либо уязвимости в скриптах) скрипты с одного сайта могли взаимодействовать со скриптами другого сайта.
Побегал по инету, решил - mod_suexec должен помочь. Настроил виртуальные хостинги, задаю vhost для очередного сайта так:
PHP:
<VirtualHost *:80>
    DocumentRoot "/home/gorup1/mysite1/public_html"
    ServerName mysite1.ru
    SuexecUserGroup group1 group1
    <Directory "/home/group1/mysite1/public_html">
        Options Indexes FollowSymLinks
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>
group1 - это сайты, пересечение скриптов которых для меня не важно и для которых, по идее, апач должен запускаться под этим юзером.
Ну и получаю, соответственно ошибку 403: "You don't have permission to access / on this server.".
Меняем юзера /home/group1 на apache:apache (при этом /home/group1/mysite1 остается group1:group1) - все работает хорошо.
Индексный файл - .php, работает через mod_php. Что я делаю не так и что надо сделать, чтобыл работало "так"? :)

Что бы работало так, php должен быть установлен как CGI, а не как модуль apache :)

Хотя лично мне больше нравится пользоваться не suexec, а mpm-itk, тогда действительно apache работает под другим юзером, а не только cgi, и php можно оставлять модулем apache


ЗЫ: Только причем тут " Mod Rewrite / htaccess / ЧПУ" ? ;)
 
Что бы работало так, php должен быть установлен как CGI, а не как модуль apache :)
Хотя лично мне больше нравится пользоваться не suexec, а mpm-itk, тогда действительно apache работает под другим юзером, а не только cgi, и php можно оставлять модулем apache
Не подскажете, где посмотреть доку по установке в Федору? Под CentOS нашел, а под Федору не знаю, где брать РПМ-ки итд. К тому же, у меня опыта работы с рпм-бейзд ноль, я все больше на Генту сидел.
ЗЫ: Только причем тут " Mod Rewrite / htaccess / ЧПУ" ? ;)
Да я практически сразу попросил модеров перенести куда надо. Первоначально нужный раздел не увидел - сильно глубоко спрятали в дереве.
 
Не подскажете, где посмотреть доку по установке в Федору? Под CentOS нашел, а под Федору не знаю, где брать РПМ-ки итд. К тому же, у меня опыта работы с рпм-бейзд ноль, я все больше на Генту сидел.

Да наверное вряд ли сильно отличается от CentOS. Я и сам честно сказать как то больше предпочитаю BSD и Debian :)
 
Как его поставить? Под какую версию апача он подходит? Распаковываю rpm-ку, захожу нужную директорию, запускаю патч:
Код:
$ patch -p1 < apache2.2-mpm-itk-20090414-00.patch
Она патчит несколько файлов, затем говорит:
Код:
]$ patch --strip=1 --backup --remove-empty-files --suffix=.itk < apache2.2-mpm-itk-20090414-00.patch
patching file server/mpm/experimental/itk/Makefile.in
patching file server/mpm/experimental/itk/config.m4
patching file server/mpm/experimental/itk/itk.c
patching file server/mpm/experimental/itk/mpm.h
patching file server/mpm/experimental/itk/mpm_default.h
can't find file to patch at input line 1920
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|unchanged:
|--- apache2.2.orig/server/mpm/config.m4        2007-01-29 21:30:26.000000000 +0100
|+++ apache2.2/server/mpm/config.m4     2007-01-29 21:30:35.000000000 +0100
--------------------------
File to patch:
Как правильно наложить этот патч?
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху