Привет, я установил suexec, используя ubuntu 12.04:
apt-get install apache2 apache2-suexec libapache2-mod-fcgid php5-cgi
Однако когда я запускаю следующую команду:
sudo /usr/lib/apache2/suexec -V
Я получаю следующую информацию:
-D AP_DOC_ROOT="/var/www"
-D AP_GID_MIN=100
-D AP_HTTPD_USER="www-data"
-D AP_LOG_EXEC="/var/log/apache2/suexec.log"
-D AP_SAFE_PATH="/usr/local/bin:/usr/bin:/bin"
-D AP_UID_MIN=100
-D AP_USERDIR_SUFFIX="public_html"
Я использую «/ home / user / public_html» для обслуживания пользовательского контента в сети, а не «/ var / www». Как я могу изменить корневой каталог на «/ home»?
Или вы можете
apt-get install apache2-suexec-custom
после установки перейдите в
cd /etc/apache2/suexec
редактировать файл vi www-data
Вы можете увидеть первые 2 строки, внести изменения: заменить /var/www
с участием /home
esc
:wq
после перезапустите apache
/etc/init.d/apache2 restart
Вы используете Ubuntu. Поэтому перекомпилировать довольно просто.
Добавьте исходный репозиторий в свой /etc/apt/sources.list. За 12.04 пробега
echo "deb-src http://de.archive.ubuntu.com/ubuntu/ precise main"|sudo tee -a /etc/apt/sources.list
изменение de.archive.ubuntu.com
в любую страну, в которой вы находитесь. После этого обновите свой репозиторий.
apt-get update
Измените каталог и источники загрузки:
mkdir ~/apache_new ; cd ~/apache_new
apt-get source apache2
apt-get build-dep apache2
Он загрузит и извлечет исходный код apache и установит все зависимости, поэтому вы сможете собрать apache. Но вам нужно исправить AP_DOC_ROOT. Итак, cd to dir с источником apache и измените путь к dir в --with-suexec-docroot
вариант в debian/rules
файл. Итак, теперь вам нужно собрать package. Вы можете сделать это с
debuild -us -uc
Вот и все. Теперь у вас есть deb-пакет apache с фиксированным путем. Просто установите его с помощью sudo dpkg -i
. Но следите за обновлениями. Обновление сведет на нет все ваши усилия. Так беги aptitude hold apache2
запретить обновления и не забывать каждый раз перекомпилировать вручную (или писать скрипт fpr that).
Удачи.
Я использую "/ home / user / public_html" для обслуживания пользовательского контента в Интернете, а не "/ var / www" Как я могу изменить корневой каталог на "/ home"?
на самом деле вы можете использовать mod_userdir
в этом случае suexec будет порождать скрипты от владельца / home / user - в этом примере "user"
поэтому вам не нужно определять SuexecUserGroup в конфигурации apache
UPD: просто включите модуль userdir
и добавляем в основную конфигурацию vhost
UserDir / home / * / public_html
и
<Directory /home/*/public_html/ >
AllowOverride All
Options +ExecCGI
AddHandler cgi-script .cgi .pl .py .rb
</Directory>
Вам нужно перекомпилировать его из suexec.c, в идеале вы могли бы установить virtualmin, чтобы он делал это автоматически через install.sh, а также создавал учетные записи, домены и т. Д.