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

文章目录

  • 需求分析
  • 具体实现
    • 使用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

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


        ServerName glpi.com
        DocumentRoot    /var/www/html/glpi
        
                 AllowOverride ALL
                 # Allow open access:
                 Require all granted
        


配置完成。

使用域名

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


        ServerName glpi.com
        DocumentRoot    /var/www/html/glpi
        
                 AllowOverride ALL
                 # Allow open access:
                 Require all granted
        


所遇问题

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

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

你可能感兴趣的:(Apache)