我在 ubuntu 13.10 机器上运行 LAMP,上面有一些网站(个人项目)。现在我想让我们网络中的人能够输入我的 ip/site 并查看我一直在做的事情。我已经在我的服务器上设置了虚拟主机来运行这个网站。目前,如果我将手机连接到网络并输入我的 ip,我会看到默认的 apache“它有效”,但如果我输入 ip/site,我会得到一个未找到的结果。我不太懂系统,所以我很感激任何帮助。
答案1
发出请求的机器必须按名称询问虚拟主机,作为请求的一部分,以便 apache 知道要为哪个站点提供服务。
如果虚拟主机名不是可以通过 DNS 解析的实际主机名,那么您需要将这些名称添加到客户端计算机的“hosts”文件或等效文件中。
例如,您的服务器可能有 192.168.1.17 作为 IP,并且您在其上的 apache 中设置了几个虚拟主机,并将它们命名为“testsite”和“experiment.whatever.tld”。
只需在请求中使用没有主机名的 IP(例如通过在浏览器中输入),apache 就会为其找到的第一个虚拟主机提供服务。
但听起来你可能实际上并没有使用虚拟主机?你想要显示的文件位于例如 /var/www/somecoolsite/index.html 中?你可能需要确保在 URL 中包含尾部斜杠:http://ipaddress/somecoolsite/,除非你已将 apache 配置为根据需要默认添加它。
答案2
这文档根目录Apache Web Server 的默认 IP 地址是/var/www
。当您输入计算机的网络 IP 地址时,它会定向到索引.html(默认页面)位于文档根目录中。但是IP/site
您需要在 /var/www 中创建一个名为 site 的目录。尝试以下操作:
sudo mkdir /var/www/site
sudo touch /var/www/site/testFile.txt
现在尝试输入 IP/站点;您应该得到一个带有标题的页面/site 索引以及其下索引的 testFile.txt。