Apache中直接使用IP地址或域名访问特定目录,虚拟主机

需求分析

针对此课题的应用,本次具体是在GLPI的配置过程中。配置好GLPI的环境后,需要在浏览器地址栏键入“IP/GLPI”,例如“192.168.1.76/glpi”,而在GLPI的配置中,实际上只有这一个目录,所以希望在直接键入“192.168.1.76”之后便出现GLPI界面。

另外,在配置的服务器具有多个目录路径时,也往往有一个main页面。在这种时候,我们也倾向于将IP地址或者域名直接指向这个页面。

本课题只涉及IP地址指向特定页面。

具体实现

使用IP地址

直接修改根目录

最简单粗暴的方法,打开httpd.conf,直接修改其根目录:

vim /etc/httpd/conf/httpd.conf

找到DocumentRoot,它的作用是“定义该目录、及子目录的配置属性,指定一种URL映射的根目录路径”[^1]。将其直接修改为你所想指向的路径,如:

DocumentRoot "/var/www/html/glpi"

在监听端口处加上你的IP地址,找到

Listen 80

将其修改为如下格式:

Listen 192.168.1.76:80

打开浏览器,键入你配置的IP地址,即可打开所需的界面。

利用虚拟主机

首先,在httpd.conf中添加包含关系:

Include conf/vhost/*.conf

这里的“vhost并不是固定名称,只需和下一步新建的目录名一致即可。”

然后在 /etc/httpd/conf/ 目录下新建虚拟主机目录:

mkdir vhost

进入,新建一个 *.conf 文件,打开编辑:

cd vohost
vim glpitest.conf

在其中添加虚拟主机信息:

<VirtualHost 192.168.1.76:80>
        ServerName glpi.com
        DocumentRoot    /var/www/html/glpi
        <Directory "/var/www/html/glpi">
                 AllowOverride ALL
                 # Allow open access:
                 Require all granted
        </Directory>
</VirtualHost>

配置完成。

使用域名

这种方法,目前也采用虚拟主机的配置。和IP地址不同的是,要将虚拟主机信息中的IP地址改为使用的域名:

<VirtualHost glpi.com>
        ServerName glpi.com
        DocumentRoot    /var/www/html/glpi
        <Directory "/var/www/html/glpi">
                 AllowOverride ALL
                 # Allow open access:
                 Require all granted
        </Directory>
</VirtualHost>

所遇问题

在上次配置过程中,无论是哪种方式配置,都会显示

The requested URL /glpi/front/ was not found on this server.

一般情况下这是在配置好IP直接访问目录的情况下,访问 “IP/路径” 时才会出现的情况。

关闭各个路径的安全策略,允许所有访问请求,重启多次apache,仍然无法解决,至今没有发现原因。

次日重新连接,莫名其妙可以访问了。这是待解决的疑问。

文中如有错误,欢迎指出。欢迎提问交流。

[^1]《Apache中DocumentRoot和Directory的区别》
https://blog.csdn.net/dxcyber409/article/details/80942389

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值