新手,关于Linux下Apache的配置问题,基于名称的虚拟主机配置

2024-12-03 17:23:09
推荐回答(4个)
回答(1):

完整的应该是这样,在httpd.conf末位添加,或者取消注释NameVirtualHost xxx

NameVirtualHost 192.168.56.2

DocumentRoot /usr/local/apache2/manual
DirectoryIndex index.html.en
ServerName www.a.com

AllowOverride None
Options indexes
DirectoryIndex index.html.en
Order allow,deny
Allow from all



同时要关闭SELinux,否则Apache会找不到DocumentRoot

刚刚想到一个问题啊,你的IP地址是内网IP,但是Apache的VirtualHost是根据域名区分的,也就是说你要有个DNS能正确的把www.a.com解析成你局域网内的 192.128.*.*,如果不自己在局域网内开DNS服务器的话这应该是办不到的,也就是说,即便Apache成功的开启了VirtualHost,你也很难进行测试

还有一个方案,就是如果你用路由器上网的话,路由器应该会有一个功能叫端口映射,它可以把来自外部特定端口的TCP请求转发到你的机器上。这样你可以在域名供应商那里把DNS记录指向你的路由器IP,这应该是一个公网IP,然后设置路由器把80号端口的请求转发到 192.168.56.2上,这样就可以测试VirtualHost啦

回答(2):

ServerName www.a.com
DocumentRoot /usr/local/apache2/manual
这里都是大写的

你可以把一些基本的写上,把没必要的东西先注释掉,然后再一次开启,看是那个语句的事

你加我个Q聊下被 734113663

回答(3):

documentroot 改为DocumentRoot
directoryindex 改为DirectoryIndex

顺便注意一下主页文件是不index.html.en

回答(4):

还是找技术人员处理吧。。