1

I am running an Apache web server on a desktop machine running Trisquel 8 (based on Ubuntu). I would like to make the server accessible to other machines/devices on my local network, but I can't figure out how.

When I try to connect from another device, using the local IP address of the Apache server, I get error messages in the browser, such as: in Firefox on a Mac, I get 'Unable to connect. Firefox can't establish a connection to the server at localhost.'. If I try to connect using the DuckDuckGo browser on an Android phone, I get 'Webpage not available. The webpage at http://localhost/ could not be loaded because: net::ERR_CONNECTION_REFUSED'.

One of the answers suggested using nmap to see which ports are open, which returned the following result:

$ nmap [LOCAL IP ADDRESS]

Starting Nmap 7.01 ( https://nmap.org ) at 2019-10-12 09:25 EDT
Nmap scan report for [LOCAL IP ADDRESS]
Host is up (0.00013s latency).
Not shown: 998 closed ports
PORT   STATE SERVICE
22/tcp open  ssh
80/tcp open  http

Nmap done: 1 IP address (1 host up) scanned in 0.09 seconds

So, it shows that port 80 is open for http. It's probably also worth mentioning that I can ping the machine from another on the local network and, as the nmap output shows, I have another port open for ssh. I have been ssh-ing to this machine for several months and that works just fine. For that, I just installed the ssh-server and it pretty much worked out of the box.

So, does that imply that something is wrong with the Apache2 setup (as opposed to iptables/firewall), given that ssh is working with no problems?

Contents of iptables:

$ sudo iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:http ctstate NEW,ESTABLISHED

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         

Contents of apache2.conf:

# This is the main Apache server configuration file.  It contains the
# configuration directives that give the server its instructions.
# See http://httpd.apache.org/docs/2.4/ for detailed information about
# the directives and /usr/share/doc/apache2/README.Debian about Debian specific
# hints.
#
#
# Summary of how the Apache 2 configuration works in Debian:
# The Apache 2 web server configuration in Debian is quite different to
# upstream's suggested way to configure the web server. This is because Debian's
# default Apache2 installation attempts to make adding and removing modules,
# virtual hosts, and extra configuration directives as flexible as possible, in
# order to make automating the changes and administering the server as easy as
# possible.

# It is split into several files forming the configuration hierarchy outlined
# below, all located in the /etc/apache2/ directory:
#
#       /etc/apache2/
#       |-- apache2.conf
#       |       `--  ports.conf
#       |-- mods-enabled
#       |       |-- *.load
#       |       `-- *.conf
#       |-- conf-enabled
#       |       `-- *.conf
#       `-- sites-enabled
#               `-- *.conf
#
#
# * apache2.conf is the main configuration file (this file). It puts the pieces
#   together by including all remaining configuration files when starting up the
#   web server.
#
# * ports.conf is always included from the main configuration file. It is
#   supposed to determine listening ports for incoming connections which can be
#   customized anytime.
#
# * Configuration files in the mods-enabled/, conf-enabled/ and sites-enabled/
#   directories contain particular configuration snippets which manage modules,
#   global configuration fragments, or virtual host configurations,
#   respectively.
#
#   They are activated by symlinking available configuration files from their
#   respective *-available/ counterparts. These should be managed by using our
#   helpers a2enmod/a2dismod, a2ensite/a2dissite and a2enconf/a2disconf. See
#   their respective man pages for detailed information.
#
# * The binary is called apache2. Due to the use of environment variables, in
#   the default configuration, apache2 needs to be started/stopped with
#   /etc/init.d/apache2 or apache2ctl. Calling /usr/bin/apache2 directly will not
#   work with the default configuration.


# Global configuration
#

#
# ServerRoot: The top of the directory tree under which the server's
# configuration, error, and log files are kept.
#
# NOTE!  If you intend to place this on an NFS (or otherwise network)
# mounted filesystem then please read the Mutex documentation (available
# at <URL:http://httpd.apache.org/docs/2.4/mod/core.html#mutex>);
# you will save yourself a lot of trouble.
#
# Do NOT add a slash at the end of the directory path.
#
#ServerRoot "/etc/apache2"

#
# The accept serialization lock file MUST BE STORED ON A LOCAL DISK.
#
Mutex file:${APACHE_LOCK_DIR} default

#
# PidFile: The file in which the server should record its process
# identification number when it starts.
# This needs to be set in /etc/apache2/envvars
#
PidFile ${APACHE_PID_FILE}

#
# Timeout: The number of seconds before receives and sends time out.
#
Timeout 300

#
# KeepAlive: Whether or not to allow persistent connections (more than
# one request per connection). Set to "Off" to deactivate.
#
KeepAlive On

#
# MaxKeepAliveRequests: The maximum number of requests to allow
# during a persistent connection. Set to 0 to allow an unlimited amount.
# We recommend you leave this number high, for maximum performance.
#
MaxKeepAliveRequests 100

#
# KeepAliveTimeout: Number of seconds to wait for the next request from the
# same client on the same connection.
#
KeepAliveTimeout 5


# These need to be set in /etc/apache2/envvars
User ${APACHE_RUN_USER}
Group ${APACHE_RUN_GROUP}

#
# HostnameLookups: Log the names of clients or just their IP addresses
# e.g., www.apache.org (on) or 204.62.129.132 (off).
# The default is off because it'd be overall better for the net if people
# had to knowingly turn this feature on, since enabling it means that
# each client request will result in AT LEAST one lookup request to the
# nameserver.
#
HostnameLookups Off

# ErrorLog: The location of the error log file.
# If you do not specify an ErrorLog directive within a <VirtualHost>
# container, error messages relating to that virtual host will be
# logged here.  If you *do* define an error logfile for a <VirtualHost>
# container, that host's errors will be logged there and not here.
#
ErrorLog ${APACHE_LOG_DIR}/error.log

#
# LogLevel: Control the severity of messages logged to the error_log.
# Available values: trace8, ..., trace1, debug, info, notice, warn,
# error, crit, alert, emerg.
# It is also possible to configure the log level for particular modules, e.g.
# "LogLevel info ssl:warn"
#
LogLevel warn

# Include module configuration:
IncludeOptional mods-enabled/*.load
IncludeOptional mods-enabled/*.conf

# Include list of ports to listen on
Include ports.conf


# Sets the default security model of the Apache2 HTTPD server. It does
# not allow access to the root filesystem outside of /usr/share and /var/www.
# The former is used by web applications packaged in Debian,
# the latter may be used for local directories served by the web server. If
# your system is serving content from a sub-directory in /srv you must allow
# access here, or in any related virtual host.
<Directory />
        Options FollowSymLinks
        AllowOverride None
        Require all denied
</Directory>

<Directory /usr/share>
        AllowOverride None
        Require all granted
</Directory>

<Directory /var/www/>
        Options Indexes FollowSymLinks
        AllowOverride All
#       Require local
#       Require ip 192.168.1
        Require all granted
</Directory>

#<Directory /srv/>
#       Options Indexes FollowSymLinks
#       AllowOverride None
#       Require all granted
#</Directory>




# AccessFileName: The name of the file to look for in each directory
# for additional configuration directives.  See also the AllowOverride
# directive.
#
AccessFileName .htaccess

#
# The following lines prevent .htaccess and .htpasswd files from being
# viewed by Web clients.
#
<FilesMatch "^\.ht">
        Require all denied
</FilesMatch>


#
# The following directives define some format nicknames for use with
# a CustomLog directive.
#
# These deviate from the Common Log Format definitions in that they use %O
# (the actual bytes sent including headers) instead of %b (the size of the
# requested file), because the latter makes it impossible to detect partial
# requests.
#
# Note that the use of %{X-Forwarded-For}i instead of %h is not recommended.
# Use mod_remoteip instead.
#
LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined
LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %O" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent

# Include of directories ignores editors' and dpkg's backup files,
# see README.Debian for details.

# Include generic snippets of statements
IncludeOptional conf-enabled/*.conf

# Include the virtual host configurations:
IncludeOptional sites-enabled/*.conf

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

I need the AllowOverride All under /var/www because I am trying to run an instance of Wordpress, and it needs to be able to write to the Apache server.

Apache2 is definitely running, as I can access the web content using 'localhost' from a browser on the local machine. Also, systemctl status apache2 shows it is running:

~$ systemctl status apache2
● apache2.service - LSB: Apache2 web server
   Loaded: loaded (/etc/init.d/apache2; bad; vendor preset: enabled)
  Drop-In: /lib/systemd/system/apache2.service.d
           └─apache2-systemd.conf
   Active: active (running) since Thu 2019-10-10 20:01:44 EDT; 5min ago
     Docs: man:systemd-sysv-generator(8)
  Process: 1562 ExecStart=/etc/init.d/apache2 start (code=exited, status=0/SUCCESS)
   CGroup: /system.slice/apache2.service
           ├─1621 /usr/sbin/apache2 -k start
           ├─1624 /usr/sbin/apache2 -k start
           ├─1625 /usr/sbin/apache2 -k start
           ├─1626 /usr/sbin/apache2 -k start
           ├─1627 /usr/sbin/apache2 -k start
           ├─1628 /usr/sbin/apache2 -k start
           └─2102 /usr/sbin/apache2 -k start

Oct 10 20:01:42 lee-Desktop systemd[1]: Starting LSB: Apache2 web server...
Oct 10 20:01:42 lee-Desktop apache2[1562]:  * Starting Apache httpd web server apache2
Oct 10 20:01:43 lee-Desktop apache2[1562]: AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message
Oct 10 20:01:44 lee-Desktop apache2[1562]:  *
Oct 10 20:01:44 lee-Desktop systemd[1]: Started LSB: Apache2 web server.

As suggested in the comments, I tried netstat --inet -a | grep apache2, but it returned nothing. Apparently this is unusual if apache2 is running, as it should be listening on port 80. I ran netstat -plunt | grep :80 and got the following output:

$ sudo netstat -plunt | grep :80
tcp6       0      0 :::80                   :::*                    LISTEN      1557/apache2    

Does this mean Apache is listening, but not hearing anything?

In terms of the virtualhost configs, which were also requested, the only file in /etc/apache2/sites-enabled/ is 000-default.conf, the contents of which is:

<VirtualHost *:80>
        # The ServerName directive sets the request scheme, hostname and port that
        # 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/html

        # 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

        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

I have also tried running tail -f /var/log/apache2/*.log, but nothing is being printed to the logs when I try to connect from a remote machine.

So, how can I troubleshoot what is blocking the connection? Is there a log anywhere that might enlighten me as to why the connection is being refused, and for what reason?

I tried the suggestions made by Jacob in his answer, but unfortunately it didn't resolve the problem. Any other suggestions or guidance would be greatly appreciated!

  • "connection refused" is a great error. It implies that you reached the machine, and it was willing to tell you that it wasn't listening on that port. That means that your firewall isn't dropping the traffic ( it could be rejecting the traffic but it's standard practice to drop disallowed traffic, and that manifests as an eventual timeout). So for that reason, my money is on apache only listening on local host. – Daniel Farrell Oct 8 at 5:06
  • @DanielFarrell ok, thanks for your comment. I will try the things Jacob suggests below and see if it helps. – Time4Tea Oct 8 at 13:16
  • 2
    Can you add the output of netstat --inet -a | grep apache2? – Hermann Oct 10 at 2:46
  • 1
    @Time4Tea We can ignore the ServerName warning for now (it is important to virtual name-based servers). Unfortunately, I have no idea how an opened listen socket would be invisible to netstat. If that really is the case, you found yourself in a really exotic situation. – Hermann Oct 10 at 5:36
  • 2
    "httpd" refers to any HTTP server or a HTTP daemon in general. "apache2" is a "httpd" (and sometimes referred to as apache2-httpd). Nowadays, there is no "actual" stand-alone httpd in Ubuntu (I don't about non-Debian based distributions, though). As for the complexity of setting up a web-server for development purposes: I usually just install apache2 and I am good to go. – Hermann Oct 10 at 14:47
1
+50

When I try to connect from another device, using the local IP address of the Apache server

  • Please post the output of ip addr (or ifconfig) command run as root on the server
  • Please indicate which exact local IP address you tried to connect from other devices at that time.
  • Please indicate the LAN IP address of each other devices you use at the time of connection.

Reasons below, also see Postscript for other far-fetching possibilities regarding your router and server configuration.


I did type the local IP of the apache server into the browser, but for some reason, after it tried to connect and gave the error, it showed http://localhost/ in the address bar.

This smells really fishy, it says that local IP address you used for connecting is very, very, wrong.

  • An alternate explanation: the request successfully got through, but resulted in a nonsensical HTTP redirect— skip to read Postscript number 3.

If said local IP address in question is something closely resembling 127.0.0.1 or ::1, the address itself is likely to be the root cause of your problem. Because that is not a "real" IP address...

  • IPv4 address 127.0.0.1 or abbreviated IPv6 address ::1 means this device, and host name localhost is always locally defined as synonym of this address.

    • When you tried to connect to this address from any device other than the server itself, you are instructing it to connect to port 80 of itself (not the port 80 of server machine).

    • Since your other device did not run HTTP server on itself, the connection attempt will certainly end with TCP RST failure, i.e. the "Connection refused" error you got on your browser.

For a remedy: you must use a correct LAN IP address when connecting from other machines: certainly not localhost, not 127.0.0.1, and not ::1...

  1. Run a command ifconfig as root on the server, and look for a block that is NOT named lo. The IP address will be a field called inet addr: .

    • If the server is connected to local network by wire, the block to use will be named eth followed by number, e.g. eth0.
    • If the server is connected to local network wirelessly, the block to use will be named wlan followed by number, e.g. wlan0.
    • The block you use must also contain RUNNING status (which shows that the LAN connection is enabled and usable).
    • The address in question should look like 192.168.x.x, 10.x.x.x, or ranged from 172.16.x.x to 172.31.x.x.
  2. Try starting a browser on the server, then enter that IP address you found in step 1 in the address bar, press Enter.

  3. If your web page shown up correctly, process to next step.
  4. On the other device, make sure they are connecting to the same LAN (not cellular Internet).
  5. Start a browser on the other device, then enter the IP address you found in step 1, press "Go".
  6. Your web page should show up correctly.

Postscript

If the IP address you used is correct, then there might be other less-obvious reasons that could cause this problem, like:

  1. You home router may be configured with "Virtual LAN" or port isolation— which would isolate each LAN port and each wireless LAN device in its own little network. Each device is confined and cannot connect to each other (and is only allowed to go straight to the Internet).

    • In this configuration, it is theoretically possible that in each virtual LAN, each device got assigned the same IP address. Thus when you entered "server's IP address" into the other device, it turned out to be "coincidentally" the same as device's own LAN IP address— instructing it to connect to itself which doesn't run HTTP server— resulting in "Connection refused" error.
    • If this is the case, disable port isolation and virtual LAN option on your router.
  2. Your home router might incorporate layer 3 switch functionalities and is configured with access control list (i.e. firewall) to reject any "incoming connection" to any private LAN IP address, no matter of traffic's origin.

    Thus, when your device tried to connect to your server, the router (or rather, the switch) intercepted, and replied back with TCP RST instead— resulting in "Connection refused" error.

    • If this is the case, change the router's access control list to apply only to traffic originated from the Internet/PPPoE; or provide proper exceptions for local IP address ranges.
  3. There might be something on your server that produces HTTP 301/302 redirect to http://localhost/. This could explain why your other device shown localhost in the address bar even when you entered a real LAN IP address.

    Namely, the first request went all right; but due to some misconfiguration/misperception occurred on the server or server-side scripts, the client got redirected to http://localhost/, which is an incorrect address for reasons already lined in the main section of the answer...

    The end result is "Connection refused" error in the second request, and http://localhost/ being in the address bar.

    Don't debug this with browser, since HTTP 301 redirect is cached. Use GNU wget or similar tools to issue request from other device, and look at its output carefully. If you see a redirection status came up before the "Connection refused" error— then that is not a network problem, but rather a server problem.

    If this happen to be the case, you will need find out what caused the server to produce the redirect, and fix it.

    • If you got this web root from somewhere else, it might contain a configuration which produces a redirection when it found that client accessed it using non-canonical host name. (This is very common, like when you go to www.stackexchange.com, it would produce a HTTP 301 redirect to stackexchange.com)

      If your web application perceived its canonical host name to be just localhost, then it would inadvertently produce problematic redirection to http://localhost/ .

      In this case, specifically check your .htaccess and application's configuration; then disable said redirect.

  • Hi, thanks for your detailed suggestions. One reason I think the browser side is not the problem is because I am able to access the setup page of my wireless router from both devices, using the same method of typing the IP into the browser. I will try your suggestions though and let you know. – Time4Tea Oct 13 at 11:40
  • Also, I am a bit reluctant to post specific IP addresses of my local network on the internet, for security reasons. Can't we talk in more general terms, i.e. IP_addr1, IP_addr2? – Time4Tea Oct 13 at 11:41
  • Your local IP addresses are likely 192.168.0.x (as they are for me and for most people reading this from home). For anyone able to access your network, its very quick to scan the 256 addresses. But to access your network, one would have to 1) know the general internet address of your router, and 2) find your router misconfigured (because router are normally configured to let only outpbound connections happen). – xenoid Oct 13 at 12:12
  • @Time4Tea, exact private IP address need not be given, if sensitive; but their anonymized class prefix, redacted+labeled suffix, and suffix length should still be specified, like "wired server: 192.168.(N).(W)/24 , wired PC: 192.168.(N).(X)/24 , wireless Android: 192.168.(N).(Y)/24" so people could distinguish that (N) is the same number, but (W), (X), (Y) are different. (This will ward off the "127.0.0.1 local IP address" suspicion as well) – xwindows -on strike- Oct 13 at 12:13
  • 1
    Ok, I figured it out. I ran curl --verbose [local IP] from my mac terminal and it was getting to the Apache server, but Wordpress was redirecting it. I had the 'website URL' set to http://localhost/ in the Wordpress settings. Thanks for your help! :-) – Time4Tea Oct 13 at 12:28
2

First, check that httpd is running with sudo systemctl httpd status. Before we accidentally add a duplicate rule, let's check the iptables rules with iptables -L

To be sure we accept all incoming http let's add an ACCEPT to our table

sudo iptables -A INPUT -p tcp --dport 80 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT

if this doesn't solve the issue, be sure to check the apache settings found in /etc/apache2/apache2.conf. We should have a basic security model at the bottom of the conf file. For instance, this is what is found in mine

<Directory />
        Options FollowSymLinks
        AllowOverride None
        Require all denied
</Directory>

<Directory /usr/share>
        AllowOverride None
        Require all granted
</Directory>

<Directory /var/www/>

        Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted
</Directory>

In ports.conf be sure that we are listening to port 80 on all devices (for now until we get you set up) Listen *:80

If none of these are causing an issue, check that apache2 is running aswell

  • Hi, thanks for your answer. I will check these later on (when I get home) and let you know the result. Is it worth using firewalld though, or should I disable that and just use iptables? – Time4Tea Oct 8 at 13:15
  • httpd doesn't seem to be running. In fact, I don't appear to have one installed and I can't find 'httpd' in the Trisquel repository. However, apache2 is running. – Time4Tea Oct 8 at 23:40
  • I tried your other suggestions and it still doesn't work. Although, as I mentioned above, httpd isn't running (but apache2 is). I will edit my question to add the data in iptables and apache2.conf. – Time4Tea Oct 8 at 23:55
  • The firewall portion is not applicable according to the question, because each chain is set to accept. – Christopher Oct 11 at 16:01
1

When I try to connect from another device, using the local IP address of the Apache server, I get error messages in the browser, such as: in Firefox on a Mac, I get 'Unable to connect. Firefox can't establish a connection to the server at localhost.'. If I try to connect using the DuckDuckGo browser on an Android phone, I get 'Webpage not available. The webpage at http://localhost/ could not be loaded because: net::ERR_CONNECTION_REFUSED'.

If you use localhost as a host name from other machines, they try to connect to themselves... On the other machines you have to use the actual address of your server. So

  • on your server do: ip address show this will list all your net interfaces and the addresses (inet lines that look like: inet 192.168.0.44/24 brd 192.168.0.255 scope global dynamic enp0s31f6). Ignore the lo interface (which is the one at address 127.0.0.1), and use the enp* or wlp* ones. These will likely have address starting with 192.168...
  • use the address from the inet line on your Mac/or Android: http://192.168.0.44/

Using the address directly has two inconvenients:

  1. it could change (although normally, as long as there are more addresses than computers, computers are reassigned the same addresses)
  2. it's not really mnemonic.

On the Mac you can likely fix problem #2 by adding your server name and address in the /etc/hosts file (or whatever its equivalent on OSX). This may no be doable on Android.

For #1, if you are extremely lucky all your devices support NETBIOS name resolution and you can use their NETBIOS names (usually their host name).

  • Hi, I did type the local IP of the apache server into the browser, but for some reason, after it tried to connect and gave the error, it showed http://localhost/ in the address bar. That happened with different browsers on Android and Mac. – Time4Tea Oct 12 at 22:31
  • 1
    Use the network debug mode on your browser on the mac and see of this comes from a redirect (HTTP return code 30x, usually 301). This will also tell you if you reached the server and could establish a HTTP connection with it. You can also use CLI wget --verbose http://192.168.0.28 or curl --verbose http://192.168.0.28 to see all the connections that occur. In that case please add the output to your initial question. – xenoid Oct 12 at 22:41
  • Thanks for your helpful suggestion. I used curl and it was clear that Wordpress was redirecting the connection. I have changed the settings and resolved the issue now :-) – Time4Tea Oct 13 at 12:38
0

Posting my own answer, just to clarify what the problem was:

I used curl --verbose [local-IP] from the terminal of my Mac and it was clear from the output that it was getting to the Apache server, but Wordpress was redirecting to http://localhost/. So, I checked the Wordpress settings and it had http://localhost/ set as the 'site address'. I changed that to http://[local-IP] and it now works fine. Thanks to everyone who made helpful suggestions!

(I guess the moral of this story is to use command-line tools for debugging next time ...)

-2

You could use nmap from a remote computer to see if port 80 is being filtered.

$ nmap 10.0.0.11 -p 80

Starting Nmap 7.01 ( https://nmap.org ) at 2019-10-10 17:14 EDT
Nmap scan report for 10.0.0.11
Host is up (0.070s latency).
PORT   STATE SERVICE
80/tcp open  http
MAC Address: B4:75:0E:24:E8:7E (Belkin International)

Nmap done: 1 IP address (1 host up) scanned in 1.10 seconds
  • 2
    Please note that requests for further clarification, such as "paste the output of these commands" belong in comment on the question, not in Answers. Note further that the OP already provided iptables output as well as "netstat --inet -a | grep apache2, returned nothing." – Jeff Schaller Oct 11 at 16:08
  • @JeffSchaller I understand that, but I'm unable to request more information on the main post due to reputation. – Heysus Escobar Oct 11 at 16:16
  • 2
    Understood; you're only 16 points away from the comment anywhere privilege, which is only two or three up-votes away (on questions or answers). My best advice is to find a question that you can answer directly (and uniquely), or to post a good question, and you'll soon be on your way! – Jeff Schaller Oct 11 at 16:21
  • I tried nmap just now and I will add the output to my question. The result looks similar to what you posted - says port 80 is open for http. – Time4Tea Oct 12 at 13:39

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.