Apache 已全新安装但无法通过局域网客户端访问

Apache 已全新安装但无法通过局域网客户端访问

我已经与这个问题斗争了几天,现在已经筋疲力尽了,所以任何帮助都会非常有帮助。我在办公室有几台电脑。其中一台现在是 Ubuntu 服务器,我正在为基于 Web 的应用程序设置它。其余的是 Windows 7 和 Apple 的混合体。我无法通过具有 IP 的其他客户端浏览器访问 Ubuntu LAMP。旋转一段时间后,我收到“页面未找到”错误。我对从 WAN 访问 Ubuntu 服务器不感兴趣,只对从 LAN 访问感兴趣。

在 Ubuntu 服务器上设置:我删除了一个硬盘并安装了新版本的 15.04,因此它是系统上唯一的操作系统。我安装了 xrdp 以启用远程桌面控制。安装过程顺利。我运行此命令apt-get install lamp-server^来安装 LAMP 堆栈。安装过程顺利。我没有更改任何文件conf。这是我运行时显示的内容ufw status

root@ubuntuserver:/# ufw status
Status: inactive

这是iptables我跑步时的样子iptables -L

root@ubuntuserver:/# iptables -L
Chain INPUT (policy ACCEPT)
target    prot  opt  source          destination
ACCEPT    tcp   --   anywhere        anywhere           tcp dpt:ssh
ACCEPT    tcp   --   anywhere        anywhere           tcp dpt:http

Chain FORWARD (policy ACCEPT)
target    prot  opt  source          destination

Chain OUTPUT (policy ACCEPT)
target    prot  opt  source          destination

以下是所netstat展示的内容netstat -ntlp

root@ubuntuserver:/# netstat -ntlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN      17201/mysqld   
tcp        0      0 127.0.1.1:53            0.0.0.0:*               LISTEN      1227/dnsmasq   
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      11437/sshd     
tcp        0      0 127.0.0.1:5910          0.0.0.0:*               LISTEN      1742/Xvnc      
tcp        0      0 127.0.0.1:3350          0.0.0.0:*               LISTEN      1594/xrdp-sesman
tcp        0      0 0.0.0.0:3389            0.0.0.0:*               LISTEN      1590/xrdp      
tcp6       0      0 :::80                   :::*                    LISTEN      19199/apache2  
tcp6       0      0 :::22                   :::*                    LISTEN      11437/sshd

有时,如果我service apache2 reload先尝试访问该页面,我可以It Works从我的 Windows 7 计算机访问该页面一次。但只有一次。如果我尝试导航到该phpinfo.php页面,它会超时。反之亦然,如果我phpinfo.php先尝试访问该页面,那么我就无法访问该It Works页面。

在 Ubuntu 服务器上,我可以通过localhostIP访问任意数量的页面172.19.0.15。不过,我在办公室的其他电脑上却没有取得同样的成功。而且由于这是一个他们需要访问的基于 Web 的应用程序,所以我需要这种访问权限。

我错过了什么?

编辑1

根据 Ben 的建议,我编辑了该ports.conf文件如下:

#Listen 80
Listen 0.0.0.0:80

我已经重新启动了 Apache2 服务,netstat 现在如下所示:

tcp    0    0  0.0.0.0:80    0.0.0.0:*     LISTEN     9342/apache2

但是,我仍然遇到相同的问题。我曾经能够访问该phpinfo.php页面It Works!,但之后就无法导航到另一个页面了。

我确实读过关于编辑<Directory>条目的内容apache2.conf。目前内容如下:

<Directory />
    Options FollowSymLinks
    AllowOverride None
    Require all denied
</Directory>
<Directory /usr/share>
    AllowOverride None
    Require all denied
</Directory>
<Directory /var/www>
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>

但同样,我并没有更改默认设置。这样,本地主机就可以正常工作...还有其他想法吗?

编辑2

这是我的文件的内容000-default.conf

<VirtualHost *:80>
    # The ServerName directive sets the request scheme, hostname and port t$
    # the server uses to identify itself. This is used when creating
    # redirection URLs. In the context of virtual hosts, the ServerName
    # specifies what hostname must appear in the request's Host: header to
    # match this virtual host. For the default virtual host (this file) this
    # value is not decisive as it is used as a last resort host regardless.
    # However, you must set it for any further virtual host explicitly.
    #ServerName www.example.com

    ServerAdmin webmaster@localhost
    DocumentRoot /var/www

    # Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
    # error, crit, alert, emerg.
    # It is also possible to configure the loglevel for particular
    # modules, e.g.

    #LogLevel info ssl:warn
    #LogLevel info ssl:warn

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

    # For most configuration files from conf-available/, which are
    # enabled or disabled at a global level, it is possible to
    # include a line for only one particular virtual host. For example the
    # following line enables the CGI configuration for this host only
    # after it has been globally disabled with "a2disconf".
    #Include conf-available/serve-cgi-bin.conf
</VirtualHost>

# vim: syntax=apache ts=4 sw=4 sts=4 sr noet

我重新启动了服务器,但仍然无法使用 LAN 计算机的 IP 访问它。

答案1

问题不在于您的防火墙,而在于您的 apache 配置。

正如 muru 正确解释的那样,你可以通过这一行看到:

tcp6       0      0 :::80                   :::*                    LISTEN      19199/apache2  

Apache 正在监听两个都ipv4 和 ipv6。

由于您提到它是从本地主机运行的,我建议您检查您的网络配置。

相关内容