Apache2——以用户账户运行 Apache

Apache2——以用户账户运行 Apache

我刚刚获得了自己的 Linux(Debian Stable)服务器,并安装了 Apache2、PHP5 和 MySQL。它应该用于托管我自己和其他人的网站。

现在,Apache 以自己的用户身份运行。这意味着我需要将 webroot 中的所有文件和文件夹“chown”给 Apache 用户,否则 Apache 无法编辑和/或删除它们。在安装插件等时,这是 Wordpress 中的一个大问题。

我稍微 Google 了一下,发现一个网站,上面说你需要以用户自己的用户身份运行用户的 Apache 实例,而不是以 Apache 自己的用户身份运行。

我怎么做?

答案1

出于安全性和兼容性的原因,这不是一个好主意。

更好的想法可能是使用 suexec,它会以每个人的身份执行他们的 cgi。

如果你真的想这样做

添加

User youruserid
Group yourgroupid

到你的 /etc/apache2/apache.conf

如果您不知道这个文件位于何处,或者认为它可能是一个不同的文件,请扫描字符串 User 和 Group。可能已经有一个设置。


以下是一些你可能会喜欢的文档

用户指令 http://httpd.apache.org/docs/2.0/mod/mpm_common.html#user

常规 apache2 http://httpd.apache.org/docs/2.0/

答案2

使用 apache2,您可以使用ITK 多处理模块。这会生成在目标用户的 uid 和 gid 下运行的新进程。我在我的托管解决方案中使用它,效果很好。

应该有适用于所有主要发行版的软件包。

答案3

我强烈建议不要以任何真实用户的身份运行 Apache。如果在您的站点中发现漏洞,恶意用户可以读取或更改您的个人文件。

如果您的文件归您的用户帐户所有,并且 Apache 以不同的用户身份运行,WordPress 将正常运行。有一些文件和路径您应该chgrp与 Apache 服务器放在同一个组中,并使组可写。这样,Apache 就可以进行必要的更改,而不会出现用户完全访问您其余文件的风险。

您应该阅读 WordPress 文档更改文件权限

答案4

mpm-itk 运行良好,它也可以用于非 php 虚拟主机。

如果您需要更好的可扩展性和性能,fastcgi 池是更好的选择。

如果你想尝试一些新的东西,请查看 php-fpmhttp://php-fpm.org/,debian lenny 软件包可用http://www.dotdeb.org/

相关内容