如何配置Apache httpd为多用户设置多站点?

时间:2010-12-22 10:29:22

标签: django centos apache

我有一个带Django和MySQL的系统CentOS。

/home/user1/
    -/vhost/*.conf
    -/webapps/
        abc.com
        xyz.com

/home/user2/
    -/vhost/*.conf
    -/webapps/
        123.com
        789.com

感谢您的帮助!

更新1: 在httpd.conf中:

User user1
Group apache

httpd无法访问/ home / user2 / webapps。

1 个答案:

答案 0 :(得分:1)

您需要阅读Apache Vhost Configuration

告诉我们您的尝试,工作内容,不起作用或您不理解的内容。

最常见的配置

如果您的系统拥有所有网站的1个IP地址,那么您将需要以下内容:

#This is your 'default' host, 
#people accessing the site via IP-address will see this site.
<VirtualHost *:80>
        ServerName abc.com
        ServerAlias xyz.com
        DocumentRoot /home/user1/webapps/
</VirtualHost>

#This is the 123 and 789 vhost
<VirtualHost *:80>
        ServerName 123.com
        ServerAlias 789.com
        DocumentRoot /home/user2/webapps/
</VirtualHost>

您可以按照<VirtualHost> Directive

的说明添加所有指令

编辑:更新了问题

  1. 允许使用apache module called perchild 在下运行不同的线程 不同的用户,可配置 虚拟主机。该模块未被考虑 功能性,而不是当前的 发展。除非你知道什么 你正在或正在愿意接受 风险,你可能不应该使用 它。
  2. 另一个解决方案可能是mpm-itk, 这看起来更可靠。 阅读this serverfault question 了解更多信息,或访问他们的 homepage
  3. 如果您不想同时使用这两个模块中的任何一个,则可以始终创建新用户和组,在该用户下运行两个vhost,并通过将其组设置为新组来使两个homedirs对用户可读。