Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
配置httpd.conf以在Apache Red Hat Linux上添加新站点_Linux_Apache_Httpd.conf - Fatal编程技术网

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

配置httpd.conf以在Apache Red Hat Linux上添加新站点,linux,apache,httpd.conf,Linux,Apache,Httpd.conf,我已经安装了带有apache的linux服务器(Red Hat Enterprise linux server 5.3版(Tikanga))。它已经用于浏览某些文档。现在我想添加一个新目录(带有html页面),这样每当浏览目录时,它都可以显示html页面 但是我不确定在哪里编辑httpd.conf文件 现有httpd.conf: 当我点击url“”时,它显示文件夹列表 现在,我想向这个现有网站添加一个网站,因此当用户点击url“”时,它应该在浏览器中显示一个html页面。我已经在/var/ww

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

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

现有httpd.conf:

当我点击url“”时,它显示文件夹列表

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

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


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

您可以通过几种不同的方式进行修改

  • index.html
    放入
    /build

    这要求您具有以下设置:

    DirectoryIndex index.html
    
    (在大多数平台上,默认情况下它应该在那里。)

    同样,为了使其工作,您应该将
    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_重写实现。在Apache的配置中启用
    mod\u rewrite
    模块,确保
    example.com
    可以拥有
    .htaccess
    文件,方法是确保在
    example.com
    配置中正确输入
    AllowOverride
    ,创建
    /var/www//example.com/public\u html/.htaccess
    (或类似)文件,并将其填入所需的
    RewriteEngine
    RewriteRule
    s。有关mod_重写的更多信息,请访问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>
    
    
    ServerName builds.example.com
    DocumentRoot/var/www/builds.example.com/public\u html/
    
    把这个放在哪里?嗯,这取决于平台。对于Debian,您可以将其放在
    /etc/apache2/sites available/
    中的一个新文件中,例如
    /etc/apache2/sites available/example.com
    ,并将其符号链接到
    /etc/apache2/sites available
    中(在Debian上,您可以使用
    a2ensite
    轻松完成此操作。在您的平台上,此过程可能会有所不同,请查看它)(添加虚拟服务器之后,您需要重新加载Apache配置


  • 请让我知道这是否满足您的问题,如果不满足,我将相应地编辑答案。

    感谢您的详细解释。根据您的第一点,我添加了
    构建
    文件夹(带有index.html)在出现
    eng
    的同一位置。现在,当我尝试浏览
    servername/builds
    时,我遇到了一个错误
    403禁止。您没有权限访问此服务器上的/builds/index.html。
    您确定Apache有权访问它吗?(最简单的测试方法是
    chmod 0777
    此文件夹。这可能是明智的,也可能是不明智的,这取决于您是否是此机器的唯一用户。)