По-умолчанию у suexec DOC_ROOT в CentOS (и других дистрибутивах) установлен /var/www, что не позволяет apache запускать скрипты с других мест (например, /home).
Единственный нормальный вариант сделать это в linux - перекомпилировать suexec с новыми настройками.
Команды приведены для Centos 6.0. В принципе инструкция подойдёт для других версий linux, с небольшими поправками.
Узнаём установленную версию Apache:
# httpd -v Server version: Apache/2.2.15 (Unix) Server built: Feb 13 2012 22:31:42
Скачиваем и распаковываем исходники с http://archive.apache.org/dist/httpd/
# wget http://archive.apache.org/dist/httpd/httpd-2.2.15.tar.gz # tar -xzf httpd-2.2.15.tar.gz
Смотрим настройки установленной версии suexec:
# /usr/sbin/suexec -V -D AP_DOC_ROOT="/var/www" -D AP_GID_MIN=100 -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="public_html"
Настраиваем (меняем AP_DOC_ROOT, остальные настройки те же):
# cd httpd-2.2.15
# ./configure --enable-suexec --with-suexec-caller=apache --with-suexec-userdir=public_html --with-suexec-docroot=/home --with-suexec-uidmin=500 --with-suexec-gidmin=100 --with-suexec-logfile=/var/log/httpd/suexec.log
и собираем suexec (не устанавливаем!)
# make
Смотрим права и владельца на установленную версию suexec:
# ls -l /usr/sbin/suexec -r-s--x--- 1 root apache 14K Feb 14 02:33 /usr/sbin/suexec
Копируем новую версию, устанавливаем права:
# cp ./support/suexec /usr/sbin/suexec # chown root:apache /usr/sbin/suexec # chmod 4510 /usr/sbin/suexec
Проверяем права:
# ls -l /usr/sbin/suexec -r-s--x--- 1 root apache 27K Apr 25 10:35 /usr/sbin/suexec
Проверяем новые настройки suexec:
# /usr/sbin/suexec -V -D AP_DOC_ROOT="/home" -D AP_GID_MIN=100 -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="public_html"
Видно, что все настройки остались старые, изменился только DOC_ROOT.
Перезагружаем httpd для загрузки нового suexec.
Всё.
Оставить комментарий