您好,我已经在 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”?
或者你可以
安装后去
编辑文件 vi www-data
您可以看到前两行,进行更改:替换
/var/www
为/home
之后,重启apache
你正在使用 ubuntu。因此重新编译非常简单。
将源存储库添加到您的 /etc/apt/sources.list 。对于 12.04 运行
更改
de.archive.ubuntu.com
为您所在的国家/地区。之后更新您的存储库。更改目录和下载源:
它将下载并提取 apache 源并安装所有依赖项,因此您将能够构建 apache。但是您需要修复 AP_DOC_ROOT。
--with-suexec-docroot
所以 cd 到带有 apache 源的目录,并在文件中的选项中更改目录路径debian/rules
。所以现在你需要构建包。你可以用而已。现在你有了固定路径的 apache deb-package。只需安装它
sudo dpkg -i
。但要注意更新。更新会抹杀你所有的努力。所以运行aptitude hold apache2
以禁止更新并且不要忘记每次手动重新编译它(或编写脚本 fpr)。祝你好运。
实际上你可以使用 mod_userdir
在这种情况下,suexec 将从 /home/user 的所有者生成脚本 - 在本例中为“用户”
所以你不需要在 apache 配置中定义 SuexecUserGroup
UPD:只需启用 userdir 模块
并添加到主虚拟主机配置
UserDir /home/*/public_html
和
你需要从 suexec.c 重新编译它,理想情况下你可以安装 virtualmin,所以它会通过 install.sh 自动执行它,它还会创建帐户、域等。