Apache-2.2

如何將 suexec 根目錄從“/var/www”更改為“/home”?

  • November 21, 2012

嗨,我已經在 ubuntu 12.04 上安裝了 suexec:

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”?

您正在使用 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 到帶有 apache 源的 dir 並在文件中的--with-suexec-docroot選項中更改 dir 路徑。debian/rules所以現在你需要建構包。你可以用

debuild -us -uc

就是這樣。現在你有固定路徑的 apache deb 包。只需安裝它sudo dpkg -i。但請注意更新。更新會抹去你所有的努力。因此,執行aptitude hold apache2以禁止更新,並且不要忘記每次手動重新編譯它(或編寫腳本 fpr)。

祝你好運。

引用自:https://serverfault.com/questions/402418