Nivlako.ru

Мой уголок интернета - чтобы не потерять

Вход

Новые записи

Реклама

Вторник, 01 сентября 2015 16:07

Установка apache mpm-itk на CentOS

Если у вас не виртуальный хостинг, а выделенный виртуальный сервер или вообще железный сервер, то вам это может быть полезно.

В чем суть проблемы. При работе cms на хостинге все скрипты запускаются от имени apache и все файлы которые в процессе создаются принадлежат пользователю apache. Если вы создаете FTP доступ для какого-нибудь сайта, то вы не сможете через FTP ничего делать с файлами, созданными apache, потому что они вам не принадлежат. Можно конечно пользоваться root доступом через SSH, но если привычнее FTP или у вас есть клиенты, которым вы сдаете в аренду часть сервера, то это решение для вас.

Упрощенно mpm-itk — это Apache с запуском виртуальных хостов под указанными User и Group. Чаще всего используется на шаред хостингах. Процесс, работающий от пользователя root, анализирует, какому виртуальному хосту пришел запрос, после чего форкает самого себя с setuid на того пользователя, который указан в настройках данного виртуального хоста.

В результате всё, что далее вызывается апачем (в т.ч. mod_php, mod_python и прочие прелести) работают уже от имени пользователя данного виртуалхоста. Данная технология позволяет не использовать обходные пути типа mod_cgi, mod_fcgi, mod_fcgid и php-cgi.

Конечно, можно использовать php-cgi, mod_fcgi или suphp, но все они потребляют слишком много ресурсов (mod_fcgi и suphp) или же медленны (как php-cgi). Поэтому на серверах где ресурсы хочется съэкономить стоит устанавливать имеено apache с mpm-itk.
Привожу один из вариантов установки apache mpm-itk, опробованный мною лично.

Подключаем репозиторий CentALT

rpm -ihv http://centos.alt.ru/repository/centos/5/i386/centalt-release-5-3.noarch.rpm

Также требуется репозиторий EPEL, который у меня уже был подключен

rpm -ihv http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm

Проверить, какие репозитории подключены можно командой

yum repolist

Устанавливаем Apache MPM-ITK

yum update httpd

При этом должно отобразиться, что установка будет выполнена из репозитория CentALT.

Подтверждаете установку вводом «y»

Будет установлен Apache из репозитория CentALT, больше он не потребуется, рекомендуем его отключить чтобы автоматически другое ПО из него не устанавливалось и не обновлялось автоматически, для этого пропишите в файле /etc/yum.repos.d/centalt.repo enabled=0 вместо enabled=1.

Далее отредактируйте /etc/sysconfig/httpd — пропишите или раскоментируйте в нем строку

HTTPD=/usr/sbin/httpd.itk

Отредактируйте конфигурацию Apache — исправьте файл /etc/httpd/conf.d/php.conf — пропишите в него


 LoadModule php5_module modules/libphp5.so

Отредактируйте /etc/httpd/conf/httpd.conf — если есть какие-либо VirtualHost в нем, то поменяйте в нем SuexecUserGroup на AssignUserID например командой

perl -p -i -e 's/SuexecUserGroup/AssignUserID/g' /etc/httpd/conf/httpd.conf

или sвиртуалхостам необходимо добавить директиву AssignUserID с указанием пользователя и группы данного виртуального хоста.

Здесь же пропишите настройки также для модуля itk.c (все по аналогии с , просто скопируйте его строки или исправьте в конфигурации). Например, так


StartServers 1
MinSpareServers 1
MaxSpareServers 5
ServerLimit 110
MaxClients 100
MaxRequestsPerChild 4000

Перезапустите Apache

service httpd restart

И убедитесь что запущен httpd.itk

ps ax|grep http

Должен появиться список процессов с адресом /usr/sbin/httpd.itk

Для проверки пользователя под которым выполняются скрипты на виртуальном хосте необходимо в корень этого виртуального хоста записать файл php такого содержания:

echo exec('id');

и запустить.

После вот установки великого mpm-itk увидим вот такое:

uid=500(test2) gid=502(test2) groups=501(mgrsecure),502(test2) -где test2 -- имя юзера.

Прочитано 500 раз

Недостаточно прав для комментирования.

Реклама

Поиск по сайту

Новое в галерее!

Популярное

Календарь

« Декабрь 2017 »
Пн Вт Ср Чт Пт Сб Вс
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

Моя галерея

  • Фотографий - 757
  • Просмотров - 28853

Мое облако

Мои счетчики

Рейтинг@Mail.ru Индекс цитирования

Мой уголок интернета © 2008