配置 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 On
和RewriteRule
s。有关 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 <NAME_OF_FILE>
轻松完成此操作。在您的平台上,此过程可能会有所不同,因此请查看(“添加虚拟服务器”将是一个开始). 添加虚拟服务器后,您需要重新加载您的 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 上添加新站点的主要内容,如果未能解决你的问题,请参考以下文章