Oud*_*din 6 mod-fcgid suexec apache-2.2
嗨,我已经在 ubuntu 12.04 上安装了 suexec:
apt-get install apache2 apache2-suexec libapache2-mod-fcgid php5-cgi
Run Code Online (Sandbox Code Playgroud)
但是,当我运行以下命令时:
sudo /usr/lib/apache2/suexec -V
Run Code Online (Sandbox Code Playgroud)
我得到以下信息:
-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"
Run Code Online (Sandbox Code Playgroud)
我正在使用“/home/user/public_html”来为用户提供网络上的内容而不是“/var/www” 如何将根目录更改为“/home”?
小智 16
或者你可以
apt-get install apache2-suexec-custom
Run Code Online (Sandbox Code Playgroud)
安装后转到
cd /etc/apache2/suexec
Run Code Online (Sandbox Code Playgroud)
编辑文件 vi www-data
您可以看到前两行,进行更改:替换/var/www
为/home
esc
:wq
Run Code Online (Sandbox Code Playgroud)
之后,重启apache
/etc/init.d/apache2 restart
Run Code Online (Sandbox Code Playgroud)
您正在使用 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
Run Code Online (Sandbox Code Playgroud)
更改de.archive.ubuntu.com
为您所在的任何国家/地区。之后更新您的存储库。
apt-get update
Run Code Online (Sandbox Code Playgroud)
更改目录和下载源:
mkdir ~/apache_new ; cd ~/apache_new
apt-get source apache2
apt-get build-dep apache2
Run Code Online (Sandbox Code Playgroud)
它将下载并提取 apache 源并安装所有依赖项,因此您将能够构建 apache。但是您需要修复 AP_DOC_ROOT。所以cd到带有apache源的目录并--with-suexec-docroot
在debian/rules
文件中的选项中更改目录路径。所以现在你需要构建包。你可以用
debuild -us -uc
Run Code Online (Sandbox Code Playgroud)
就是这样。现在你有了固定路径的 apache deb 包。只需安装它sudo dpkg -i
。但要注意更新。更新会抹去你所有的努力。所以运行aptitude hold apache2
以禁止更新并且不要忘记每次手动重新编译它(或编写脚本 fpr )。
祝你好运。