配置 httpd.conf 以在 Apache Red Hat Linux 上添加新站点

Posted

技术标签:

【中文标题】配置 httpd.conf 以在 Apache Red Hat Linux 上添加新站点【英文标题】:Configure httpd.conf to add new site on Apache Red Hat Linux 【发布时间】:2015-08-26 01:56:59 【问题描述】:

我有安装了 apache 的 linux 服务器(Red Hat Enterprise Linux Server 版本 5.3 (Tikanga))。它已经用于浏览一些文档。现在我想添加一个新的目录(带有一个 html 页面),所以每当浏览该目录时,它都可以显示 html 页面。

但我不确定在哪里编辑 httpd.conf 文件

现有的 httpd.conf:

当我点击网址“http://servername/eng”时,它会显示文件夹列表。

现在,我想在这个现有的网站上添加一个网站,所以当用户点击 url “http://servername/builds”时,它应该在浏览器中显示一个 html 页面。我已经在位置添加了我的“index.html”页面“/ var/www/html/builds/"

为此,我将以下代码添加到 httpd.conf 文件中

请让我知道 conf 文件中需要进行哪些修改

【问题讨论】:

【参考方案1】:

您可以通过几种不同的方式来做到这一点。

    index.html 放入/build

    这需要您进行以下设置:

    DirectoryIndex index.html
    

    (它应该在大多数平台上默认存在。)

    同样为了使这个工作,而不是放置新的<Directory>,您应该将build/ 目录放在保存您的http://example.com/ 文件的目录中。例如:

    /var/www/example.com/public_html/eng/
    /var/www/example.com/public_html/builds/
    /var/www/example.com/public_html/builds/index.html
    

    build/ 存储在与example.com 完全无关的文件夹中,但仍然可以通过example.com/builds 访问它

    为此,您需要重写 URL,以便 example.com/builds 将用户重定向到最终 URL。这最容易通过 mod_rewrite 实现。您在 Apache 的配置中启用 mod_rewrite 模块,通过确保 example.com<Directory> 配置中正确的 AllowOverride 条目,确保 example.com 可以拥有 .htaccess 文件,创建 /var/www//example.com/public_html/.htaccess(或类似)文件,然后填写您需要的RewriteEngine OnRewriteRules。有关 mod_rewrite 的更多信息,请参见 Internet 和文档。

    完全独立的虚拟服务器,例如builds.example.com/

    在这种情况下,您要寻找的是虚拟服务器。这些没有在httpd.conf 或配置本身中定义,但通常有专门的目录。

    例如,要添加适用于端口 80 的 builds.example.com,您需要创建以下条目:

    <VirtualHost *:80>
        ServerName builds.example.com
        DocumentRoot /var/www/builds.example.com/public_html/
    </VirtualHost>
    

    把这个放在哪里?好吧,这取决于平台。对于 Debian,您将其放入 /etc/apache2/sites-available/ 的新文件中,例如/etc/apache2/sites-available/example.com,并在 /etc/apache2/sites-available 中对其进行符号链接(在 Debian 上,您可以使用 a2ensite &lt;NAME_OF_FILE&gt; 轻松完成此操作。在您的平台上,此过程可能会有所不同,因此请查看(“添加虚拟服务器”将是一个开始). 添加虚拟服务器后,您需要重新加载您的 Apache 配置。

如果这满足您的问题,请告诉我,如果没有,我会相应地编辑答案。

【讨论】:

感谢您提供如此详细的解释。根据您的第一点,我已在eng 所在的同一位置添加了builds 文件夹(带有index.html)。现在当我尝试浏览时servername/builds我收到错误403 Forbidden.You don't have permission to access /builds/index.html on this server. 你确定 Apache 可以访问它吗? (测试它的最简单方法是 chmod 0777 这个文件夹。这可能是明智的或不明智的,这取决于你是否是这台机器的唯一用户。)

以上是关于配置 httpd.conf 以在 Apache Red Hat Linux 上添加新站点的主要内容,如果未能解决你的问题,请参考以下文章

httpd.conf文件夹在哪里,需要apache 配置完httpd.conf

Apache主配置文件httpd.conf

Apache主配置文件httpd.conf 详解

Apache主配置文件httpd.conf 详解

Apache主配置文件httpd.conf 详解

Apache配置文件httpd.conf细说