Apache配置,无法连接到Localhost

时间:2016-08-18 11:27:12

标签: macos httpd.conf apache2.4

我遇到了Apache 2.4.18(在OS X El Capitan 10.11.6上)的问题,我无法确定原因是什么。我花了4天的时间试图解决这个问题(包括在这里搜索),但是我只是在撒谎,只是问。

我在这里没什么经验。在上周末的一些指南之后,我尝试设置我的系统以允许我开发一个网站,因为我正在学习HTML / Javascript / PHP。按照一些指南,我安装了dnsmasq并尝试配置httpd.conf和httpd-vhosts.conf。最初,localhost将我引导到“It Works”页面,我的虚拟主机home.dev和sites.dev也是如此。无论我做了什么,我都无法将任何* .dev网站直接发送到我的virtualdocumentroot中的实际index.html文件。

我试过

  • home.dev添加到/etc/hosts
  • 启用网络共享
  • 已检查的防火墙 - 端口80已打开
  • httpd.conf中的DocumentRoot更改为虚拟主机文件中使用的root
  • 尝试了许多不同的httpd-vhosts.conf配置。
  • 检查我的目录周围的引号 - 最初使用textedit它们是不同的,在sublime 2中更改。
  • 运行apachectl configtest - 语法正常

现在问题变得更糟了。在使用配置文件试图解决这个问题时,我已经破坏了一些东西,我不知道是什么。意外地覆盖了原始文件夹中的httpd.conf文件。尝试使用httpd.conf文件,我发现搜索默认值,不起作用。在这一点上,我很高兴再次看到'It Works'......

  • Localhost,127.0.0.1,home.dev等都打开“不可用”或拒绝连接页面。
  • 运行sudo netstat -an | grep ':80'什么都不返回,所以从我理解的一点点来看,即使在listen 80中有明确的声明httpd.conf,看起来apache也没有在80上听。
  • 运行apachectl configtest - 语法仍然正常
  • 运行sudo apachectl restart - 似乎已开始
  • 读到某个地方,有人提到/ var / log / apache2可能会丢失并导致错误,它就在那里。错误日志没有任何内容

我不确定是否应该在这里发布我的.conf,有什么建议吗?

谢谢!

更新8/20:

仍然没有找到解决方案,但感觉我正在取得进展:

  • ping localhost成功(来自127.0.0.1的64个字节)
  • curl -v http://localhost/在所有尝试(:: 1,fe80 :: 1,127.0.0.1等)上返回'拒绝连接'。

在某个地方,似乎apache正在运行(对吗??),我只是不明白在哪里或如何弄明白。

  • sudo lsof -i -P | grep -i "listen"不会在*:80上回复任何内容。也看不到任何听起来像apache的进程(只有launchd,dnsmasq,mysqld,kdc和Skype)。

  • 我的主机文件设置如下:

    127.0.0.1 localhost
    255.255.255.255 broadcasthost
    :: 1 localhost
    fe80 :: 1%lo0 localhost

  • httpd.conf(以前是Listen 80,此更改没有修复任何内容)

    Listen 0.0.0.0:80

  • 自从2天前我不小心从httpd.conf中删除了ServerName(添加回来)后,错误日志中没有错误:)

是否有netstat / lsof命令我可以输入并找出apache正在侦听的端口?也许这会让我开始朝着正确的方向前进。

1 个答案:

答案 0 :(得分:4)

更新

对于遇到此事的任何其他人,希望我可以节省你花在试图解决这个问题的那一周。

选中控制台以查找httpd的“ReportCrashes”(即使sudo apachectl start似乎有效,并且当再次运行该命令时,我会收到service already loaded消息。)搜索我遇到的碎屑{{ 3}}。

听起来很简单,在httpd.conf LoadModule php5_module libexec/apache2/libphp5.so中注释掉加载PHP模块修复了所有问题。我现在可以访问localhost。在我为自己创建的混淆中进行更改时,我认为它位于.conf文件中,但没有原始文件可以恢复或查看问题。明显的建议 - 在更改.conf文件之前进行备份。

现在,当然,我不能使用PHP,所以如果有人有任何提示,那将是非常棒的。 Libphp5.so存在于/ libexec / apache2中,但我也在/ usr / local / php5 /中找到了Libphp7.so(版本问题??)