Apache 服务器使用不同目录托管多个站点 (CentOS)

Apache Server Hosting Multiple Sites Using Different Directories (CentOS)

请帮我在 apache 服务器上设置正确的配置。我不知道它叫什么,但我想在我的服务器(Amazon EC2 (CentOS) 服务器)上设置多个站点。它还没有域名。

我已经安装了所需的软件,包括 php(已使用 phpinfo.php 检查)。它工作正常。

现在,我想在我的机器上托管两个不同的 php 网站。
假设,我的 IP 地址是 x.y.z.a

目录:
/var/www/html/crm
/var/www/html/crm面板
/var/www/html/mysite

在我的 httpd.conf 中,我有:

名称虚拟主机 *:80
服务器名称 x.y.z.a
DocumentRoot“/var/www/html”

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    ServerName x.y.z.a
    ServerAlias x.y.z.a

    DocumentRoot "/var/www/html/crm"

    ErrorLog  /var/log/httpd/error_log
    CustomLog /var/log/httpd/access_log combined

</VirtualHost>

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    ServerName x.y.z.a
    ServerAlias x.y.z.a

    DocumentRoot "/var/www/html/crmpanel"

    ErrorLog  /var/log/httpd/error_log
    CustomLog /var/log/httpd/access_log combined

</VirtualHost>

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    ServerName x.y.z.a
    ServerAlias x.y.z.a

    DocumentRoot "/var/www/html/mysite"

    ErrorLog  /var/log/httpd/error_log
    CustomLog /var/log/httpd/access_log combined

</VirtualHost>


如果我运行"httpd -S",它returns'Syntax OK'。 Apache 服务器启动时没有任何错误。

请帮助我了解我的配置有什么问题。

您需要设置ServerNameServerAlias (域名而不是ip)相应的虚拟主机条目以及正确的DocumentRoot.

ServerAlias 是可选的。

ServerName : xyz.com
ServerAlias  : www.xyz.com

请参阅此blog post以获得详细说明。