Макс

Родной город: Омск

Фото галерея: смотреть

Контакты: написать

О себе:

Интересы:

- программирование

- интернет

- психология

- менеджмент

- автоматизация

Погляди
Голосование

Нравиться ли вам блог

  Да
  Нет
  Я тут случайно

 

ГлавнаяКарта сайтаПечать страницы

Настройка Suexec для Apache и изменение DOC_ROOT (CentOS, Red Hat)

Довольно часто , при переносе сайтов с виртуального хостинга на VPS , нужно менять DOC_ROOT в suexec.

Вот нашел в просторах инета инструкцию и дополнил ее.


Устанавливаем gcc (если не установлен):

# yum install gcc

Сначала узнаем какой версии установленный у нас Apache:

serv# httpd -v
Server version: Apache/2.2.3
Server built: Aug 30 2010 12:32:08

Потом скачиваем исходники нужного apache, например отсюда :


# wget http://archive.apache.org/dist/httpd/httpd-2.2.3.tar.gz


Распаковываем и конфигурируем с нужными параметрами (так как нам нужен только suexec - указываем параметры только для suexec):

# tar -xzf ./httpd-2.2.3.tar.gz
# cd httpd-2.2.3
# ./configure --enable-suexec --with-suexec-caller=apache --with-suexec-userdir=cgi-bin --with-suexec-docroot=/home --with-suexec-uidmin=500 --with-suexec-gidmin=500 --with-suexec-logfile=/var/log/httpd/suexec.log


И собираем, !но не устанавливаем! :

# make

Дальше смотрим права и владельца на установленный в системе suexec

# ls -lah /usr/sbin/suexec
-r-s--x--- 1 root apache 12K Aug 30 2010 /usr/sbin/suexec

Копируем на место старого новый suexec, ставим нужные права и владельца, и проверяем:

# cp ./support/suexec /usr/sbin/suexec
# chown root:apache /usr/sbin/suexec
# chmod 4510 /usr/sbin/suexec


# ls -lah /usr/sbin/suexec
-r-s--x--- 1 root apache 23K Mar 9 12:45 /usr/sbin/suexec


Иногда требуеться расширенные права, тогда используем это:

# chown root:root/usr/sbin/suexec

# chmod 4755 /usr/sbin/suexec


Рестартуем apache и все

До модификации:

# suexec -V
-D AP_DOC_ROOT="/var/www"
-D AP_GID_MIN=500
-D AP_HTTPD_USER="apache"
-D AP_LOG_EXEC="/var/log/httpd/suexec.log"
-D AP_SAFE_PATH="/usr/local/bin:/usr/bin:/bin"
-D AP_UID_MIN=500
-D AP_USERDIR_SUFFIX="cgi-bin"

После:


# suexec -V
-D AP_DOC_ROOT="/home"
-D AP_GID_MIN=500
-D AP_HTTPD_USER="apache"
-D AP_LOG_EXEC="/var/log/httpd/suexec.log"
-D AP_SAFE_PATH="/usr/local/bin:/usr/bin:/bin"
-D AP_UID_MIN=500

-D AP_USERDIR_SUFFIX="cgi-bin"


Если вдруг выпадает ошибка«Warning: SuexecUserGroup directive requires SUEXEC wrapper».Проверяем права, если не помагает значит делаем это:


#httpd -V | grep SUEXEC_BIN


Если в выводе увидите -D SUEXEC_BIN=/usr/sbin/suexec, то все ок, а если -D SUEXEC_BIN=/usr/bin/suexec, то нужно сделать линк:
#ln -s /usr/sbin/suexec /usr/bin/suexec


Далее назначаем права (см. выше)