# [Solved] Apache2 localhost connection

## NTICompass

I have installed apache, php and mysql on gentoo.  I cannot open localhost in a web browser?  Did I miss a setting in a config file?

I have posted both apache conf. files for reference

/etc/conf.d/apache2

```
# /etc/conf.d/apache2: config file for /etc/init.d/apache2

# When you install a module it is easy to activate or deactivate the modules

# and other features of apache using the APACHE2_OPTS line. Every module should

# install a configuration in /etc/apache2/modules.d. In that file will have an

# <IfDefine NNN> directive where NNN is the option to enable that module.

#

# Here are the options available in the default configuration:

#

#  AUTH_DIGEST  Enables mod_auth_digest

#  AUTHNZ_LDAP  Enables authentication through mod_ldap (available if USE=ldap)

#  CACHE        Enables mod_cache

#  DAV          Enables mod_dav

#  ERRORDOCS    Enables default error documents for many languages.

#  INFO         Enables mod_info, a useful module for debugging

#  LANGUAGE     Enables content-negotiation based on language and charset.

#  LDAP         Enables mod_ldap (available if USE=ldap)

#  MANUAL       Enables /manual/ to be the apache manual (available if USE=docs)

#  MEM_CACHE    Enables default configuration mod_mem_cache

#  PROXY        Enables mod_proxy

#  SSL          Enables SSL (available if USE=ssl)

#  SUEXEC       Enables running CGI scripts (in USERDIR) through suexec.

#  USERDIR      Enables /~username mapping to /home/username/public_html

#

#

# The following two options provide the default virtual host for the HTTP and

# HTTPS protocol. YOU NEED TO ENABLE AT LEAST ONE OF THEM, otherwise apache

# will not listen for incomming connections on the approriate port.

#

#  DEFAULT_VHOST      Enables name-based virtual hosts, with the default

#                     virtual host being in /var/www/localhost/htdocs

#  SSL_DEFAULT_VHOST  Enables default vhost for SSL (you should enable this

#                     when you enable SSL)

#

APACHE2_OPTS="-D DEFAULT_VHOST -D INFO -D LANGUAGE -D SSL -D SSL_DEFAULT_VHOST -D PHP5"

# Extended options for advanced uses of Apache ONLY

# You don't need to edit these unless you are doing crazy Apache stuff

# As not having them set correctly, or feeding in an incorrect configuration

# via them will result in Apache failing to start

# YOU HAVE BEEN WARNED.

# PID file

#PIDFILE=/var/run/apache2.pid

# timeout for startup/shutdown checks

#TIMEOUT=10

# ServerRoot setting

#SERVERROOT=/usr/lib64/apache2

# Configuration file location

# - If this does NOT start with a '/', then it is treated relative to

# $SERVERROOT by Apache

#CONFIGFILE=/etc/apache2/httpd.conf

# Location to log startup errors to

# They are normally dumped to your terminal.

#STARTUPERRORLOG="/var/log/apache2/startuperror.log"

# A command that outputs a formatted text version of the HTML at the URL

# of the command line. Designed for lynx, however other programs may work.

#LYNX="lynx -dump"

# The URL to your server's mod_status status page.

# Required for status and fullstatus

#STATUSURL="http://localhost/server-status"

# Method to use when reloading the server

# Valid options are 'restart' and 'graceful'

# See http://httpd.apache.org/docs/2.2/stopping.html for information on

# what they do and how they differ.

#RELOAD_TYPE="graceful"

```

/etc/apache2/httpd.conf

```

# This is a modification of the default Apache 2.2 configuration file

# for Gentoo Linux.

#

# Support:

#   http://www.gentoo.org/main/en/lists.xml   [mailing lists]

#   http://forums.gentoo.org/                 [web forums]

#   irc://irc.freenode.net#gentoo-apache      [irc chat]

#

# Bug Reports:

#   http://bugs.gentoo.org                    [gentoo related bugs]

#   http://httpd.apache.org/bug_report.html   [apache httpd related bugs]

#

#

# This is the main Apache HTTP server configuration file.  It contains the

# configuration directives that give the server its instructions.

# See <URL:http://httpd.apache.org/docs/2.2> for detailed information.

# In particular, see

# <URL:http://httpd.apache.org/docs/2.2/mod/directives.html>

# for a discussion of each configuration directive.

#

# Do NOT simply read the instructions in here without understanding

# what they do.  They're here only as hints or reminders.  If you are unsure

# consult the online docs. You have been warned.

#

# Configuration and logfile names: If the filenames you specify for many

# of the server's control files begin with "/" (or "drive:/" for Win32), the

# server will use that explicit path.  If the filenames do *not* begin

# with "/", the value of ServerRoot is prepended -- so "var/log/apache2/foo_log"

# with ServerRoot set to "/usr" will be interpreted by the

# server as "/usr/var/log/apache2/foo.log".

# ServerRoot: The top of the directory tree under which the server's

# configuration, error, and log files are kept.

#

# Do not add a slash at the end of the directory path.  If you point

# ServerRoot at a non-local disk, be sure to point the LockFile directive

# at a local disk.  If you wish to share the same ServerRoot for multiple

# httpd daemons, you will need to change at least LockFile and PidFile.

ServerRoot "/usr/lib64/apache2"

# Dynamic Shared Object (DSO) Support

#

# To be able to use the functionality of a module which was built as a DSO you

# have to place corresponding `LoadModule' lines at this location so the

# directives contained in it are actually available _before_ they are used.

# Statically compiled modules (those listed by `httpd -l') do not need

# to be loaded here.

#

# Example:

# LoadModule foo_module modules/mod_foo.so

#

# GENTOO: Automatically defined based on APACHE2_MODULES USE_EXPAND variable.

#         Do not change manually, it will be overwritten on upgrade.

#

# The following modules are considered as the default configuration.

# If you wish to disable one of them, you may have to alter other

# configuration directives.

#

# Change these at your own risk!

LoadModule actions_module modules/mod_actions.so

LoadModule alias_module modules/mod_alias.so

LoadModule auth_basic_module modules/mod_auth_basic.so

LoadModule authn_alias_module modules/mod_authn_alias.so

LoadModule authn_anon_module modules/mod_authn_anon.so

LoadModule authn_dbm_module modules/mod_authn_dbm.so

LoadModule authn_default_module modules/mod_authn_default.so

LoadModule authn_file_module modules/mod_authn_file.so

<IfDefine AUTHNZ_LDAP>

LoadModule authnz_ldap_module modules/mod_authnz_ldap.so

</IfDefine>

LoadModule authz_dbm_module modules/mod_authz_dbm.so

LoadModule authz_default_module modules/mod_authz_default.so

LoadModule authz_groupfile_module modules/mod_authz_groupfile.so

LoadModule authz_host_module modules/mod_authz_host.so

LoadModule authz_owner_module modules/mod_authz_owner.so

LoadModule authz_user_module modules/mod_authz_user.so

LoadModule autoindex_module modules/mod_autoindex.so

<IfDefine CACHE>

LoadModule cache_module modules/mod_cache.so

</IfDefine>

LoadModule cgid_module modules/mod_cgid.so

<IfDefine DAV>

LoadModule dav_module modules/mod_dav.so

</IfDefine>

<IfDefine DAV>

LoadModule dav_fs_module modules/mod_dav_fs.so

</IfDefine>

<IfDefine DAV>

LoadModule dav_lock_module modules/mod_dav_lock.so

</IfDefine>

LoadModule deflate_module modules/mod_deflate.so

LoadModule dir_module modules/mod_dir.so

<IfDefine CACHE>

LoadModule disk_cache_module modules/mod_disk_cache.so

</IfDefine>

LoadModule env_module modules/mod_env.so

LoadModule expires_module modules/mod_expires.so

LoadModule ext_filter_module modules/mod_ext_filter.so

<IfDefine CACHE>

LoadModule file_cache_module modules/mod_file_cache.so

</IfDefine>

LoadModule filter_module modules/mod_filter.so

LoadModule headers_module modules/mod_headers.so

LoadModule include_module modules/mod_include.so

<IfDefine INFO>

LoadModule info_module modules/mod_info.so

</IfDefine>

<IfDefine LDAP>

LoadModule ldap_module modules/mod_ldap.so

</IfDefine>

LoadModule log_config_module modules/mod_log_config.so

LoadModule logio_module modules/mod_logio.so

<IfDefine CACHE>

LoadModule mem_cache_module modules/mod_mem_cache.so

</IfDefine>

LoadModule mime_module modules/mod_mime.so

LoadModule mime_magic_module modules/mod_mime_magic.so

LoadModule negotiation_module modules/mod_negotiation.so

LoadModule rewrite_module modules/mod_rewrite.so

LoadModule setenvif_module modules/mod_setenvif.so

LoadModule speling_module modules/mod_speling.so

<IfDefine SSL>

LoadModule ssl_module modules/mod_ssl.so

</IfDefine>

<IfDefine STATUS>

LoadModule status_module modules/mod_status.so

</IfDefine>

LoadModule unique_id_module modules/mod_unique_id.so

<IfDefine USERDIR>

LoadModule userdir_module modules/mod_userdir.so

</IfDefine>

LoadModule usertrack_module modules/mod_usertrack.so

LoadModule vhost_alias_module modules/mod_vhost_alias.so

# If you wish httpd to run as a different user or group, you must run

# httpd as root initially and it will switch.

#

# User/Group: The name (or #number) of the user/group to run httpd as.

# It is usually good practice to create a dedicated user and group for

# running httpd, as with most system services.

User apache

Group apache

# Supplemental configuration

#

# Most of the configuration files in the /etc/apache2/modules.d/ directory can

# be turned on using APACHE2_OPTS in /etc/conf.d/apache2 to add extra features

# or to modify the default configuration of the server.

#

# To know which flag to add to APACHE2_OPTS, look at the first line of the

# the file, which will usually be an <IfDefine OPTION> where OPTION is the

# flag to use.

Include /etc/apache2/modules.d/*.conf

# Virtual-host support

#

# Gentoo has made using virtual-hosts easy. In /etc/apache2/vhosts.d/ we

# include a default vhost (enabled by adding -D DEFAULT_VHOST to

# APACHE2_OPTS in /etc/conf.d/apache2).

Include /etc/apache2/vhosts.d/*.conf

# vim: ts=4 filetype=apache

```

Last edited by NTICompass on Mon Jan 19, 2009 4:33 am; edited 1 time in total

----------

## honp

Hi, you could provide:

/etc/apache2/vhosts.d/00_default_vhost.conf

then try

telnet 127.0.0.1 80 

GET

what it says?

And silly question: Have you turn it on?  :Smile:  (/etc/init.d/apache2 start)

----------

## NTICompass

Yea, I did start it  :Razz: 

What am I doing wrong? =(

```

nticompass@Hypercube ~ $ telnet 127.0.0.1 80

Trying 127.0.0.1...

telnet: connect to address 127.0.0.1: Connection refused

```

/etc/apache2/vhosts.d/00_default_vhost.conf 

```

# Virtual Hosts

#

# If you want to maintain multiple domains/hostnames on your

# machine you can setup VirtualHost containers for them. Most configurations

# use only name-based virtual hosts so the server doesn't need to worry about

# IP addresses. This is indicated by the asterisks in the directives below.

#

# Please see the documentation at

# <URL:http://httpd.apache.org/docs/2.2/vhosts/>

# for further details before you try to setup virtual hosts.

#

# You may use the command line option '-S' to verify your virtual host

# configuration.

<IfDefine DEFAULT_VHOST>

# see bug #178966 why this is in here

# Listen: Allows you to bind Apache to specific IP addresses and/or

# ports, instead of the default. See also the <VirtualHost>

# directive.

#

# Change this to Listen on specific IP addresses as shown below to

# prevent Apache from glomming onto all bound IP addresses.

#

#Listen 12.34.56.78:80

Listen 80

# Use name-based virtual hosting.

NameVirtualHost *:80

# When virtual hosts are enabled, the main host defined in the default

# httpd.conf configuration will go away. We redefine it here so that it is

# still available.

#

# If you disable this vhost by removing -D DEFAULT_VHOST from

# /etc/conf.d/apache2, the first defined virtual host elsewhere will be

# the default.

<VirtualHost *:80>

   ServerName localhost

   Include /etc/apache2/vhosts.d/default_vhost.include

   <IfModule mpm_peruser_module>

      ServerEnvironment apache apache

   </IfModule>

</VirtualHost>

</IfDefine>

# vim: ts=4 filetype=apache

```

/etc/apache2/vhosts.d/default_vhost.include

```

# ServerAdmin: Your address, where problems with the server should be

# e-mailed.  This address appears on some server-generated pages, such

# as error documents.  e.g. admin@your-domain.com

ServerAdmin root@localhost

# DocumentRoot: The directory out of which you will serve your

# documents. By default, all requests are taken from this directory, but

# symbolic links and aliases may be used to point to other locations.

#

# If you change this to something that isn't under /var/www then suexec

# will no longer work.

DocumentRoot "/var/www/localhost/htdocs"

# This should be changed to whatever you set DocumentRoot to.

<Directory "/var/www/localhost/htdocs">

   # Possible values for the Options directive are "None", "All",

   # or any combination of:

   #   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews

   #

   # Note that "MultiViews" must be named *explicitly* --- "Options All"

   # doesn't give it to you.

   #

   # The Options directive is both complicated and important.  Please see

   # http://httpd.apache.org/docs/2.2/mod/core.html#options

   # for more information.

   Options Indexes FollowSymLinks

   # AllowOverride controls what directives may be placed in .htaccess files.

   # It can be "All", "None", or any combination of the keywords:

   #   Options FileInfo AuthConfig Limit

   AllowOverride All

   # Controls who can get stuff from this server.

   Order allow,deny

   Allow from all

</Directory>

<IfModule alias_module>

   # Redirect: Allows you to tell clients about documents that used to

   # exist in your server's namespace, but do not anymore. The client

   # will make a new request for the document at its new location.

   # Example:

   #   Redirect permanent /foo http://www.example.com/bar

   # Alias: Maps web paths into filesystem paths and is used to

   # access content that does not live under the DocumentRoot.

   # Example:

   #   Alias /webpath /full/filesystem/path

   #

   # If you include a trailing / on /webpath then the server will

   # require it to be present in the URL.  You will also likely

   # need to provide a <Directory> section to allow access to

   # the filesystem path.

   # ScriptAlias: This controls which directories contain server scripts.

   # ScriptAliases are essentially the same as Aliases, except that

   # documents in the target directory are treated as applications and

   # run by the server when requested rather than as documents sent to the

   # client.  The same rules about trailing "/" apply to ScriptAlias

   # directives as to Alias.

   ScriptAlias /cgi-bin/ "/var/www/localhost/cgi-bin/"

</IfModule>

# "/var/www/localhost/cgi-bin" should be changed to whatever your ScriptAliased

# CGI directory exists, if you have that configured.

<Directory "/var/www/localhost/cgi-bin">

   AllowOverride None

   Options None

   Order allow,deny

   Allow from all

</Directory>

# vim: ts=4 filetype=apache

```

----------

## vaguy02

Could it possibly firewall related?

Also, can you post any log files that you may have on it? is it possible for you to do an nmap on localhost?

----------

## desultory

If nmap is not available, or if it is and does not find the expected open ports, try netstat -ltnp as root.

----------

## NTICompass

Why would my firewall (iptables) block a connection to localhost?

```

Hypercube apache2 # cat /var/log/apache2/error_log 

[Tue Jan 13 23:10:55 2009] [alert] (EAI 2)Name or service not known: mod_unique_id: unable to find IPv4 address of "Hypercube"

Configuration Failed

[Wed Jan 14 00:05:48 2009] [alert] (EAI 2)Name or service not known: mod_unique_id: unable to find IPv4 address of "Hypercube"

Configuration Failed

[Wed Jan 14 00:08:36 2009] [alert] (EAI 2)Name or service not known: mod_unique_id: unable to find IPv4 address of "Hypercube"

Configuration Failed

[Wed Jan 14 00:14:56 2009] [alert] (EAI 2)Name or service not known: mod_unique_id: unable to find IPv4 address of "Hypercube"

Configuration Failed

[Wed Jan 14 17:58:20 2009] [alert] (EAI 2)Name or service not known: mod_unique_id: unable to find IPv4 address of "Hypercube"

Configuration Failed

[Fri Jan 16 00:20:01 2009] [alert] (EAI 2)Name or service not known: mod_unique_id: unable to find IPv4 address of "Hypercube"

Configuration Failed

```

```

nticompass@Hypercube ~ $ nmap localhost

Starting Nmap 4.76 ( http://nmap.org ) at 2009-01-16 00:22 EST

Interesting ports on localhost (127.0.0.1):

Not shown: 999 closed ports

PORT    STATE SERVICE

631/tcp open  ipp

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

```

```

Hypercube apache2 # sudo netstat -ltnp

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:631           0.0.0.0:*               LISTEN     5467/cupsd

```

----------

## FlorianSchmidt

From this info I would say apache is not running.

Are there any error messages in the output of

```

/etc/init.d/apache2 start

```

?

----------

## NTICompass

```

nticompass@Hypercube ~ $ /etc/init.d/apache2 start 

 * /sbin/runscript.sh: must be root to run init scripts

nticompass@Hypercube ~ $ sudo /etc/init.d/apache2 start 

Password: 

 * Starting apache2 ...

apache2: apr_sockaddr_info_get() failed for Hypercube

apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName [ ok ]

```

----------

## cach0rr0

looks like it's running now

should be able to connect

NB should add apache to default runlevel via

rc-update add apache2 default

also: something that will make your .conf files considerably more readable for both yourself and for us when pasting into the forums -

```

grep -v ^\# /path/to/someconf.conf |grep -v ^$

```

which gives you a nice tidy config to paste for us, without comments and blank lines - 

For example:

```

gentoob0x scripts # grep -v ^\# /etc/apache2/vhosts.d/default_vhost.include |grep -v ^$

ServerAdmin meat@whitehathouston.com

DocumentRoot "/var/www/localhost/htdocs/insecure"

<Directory "/var/www/localhost/htdocs/insecure">

        Options Indexes FollowSymLinks

        AllowOverride All

        Order allow,deny

        Allow from all

</Directory>

<IfModule alias_module>

        ScriptAlias /cgi-bin/ "/var/www/localhost/cgi-bin/"

</IfModule>

<Directory "/var/www/localhost/cgi-bin">

        AllowOverride None

        Options None

        Order allow,deny

        Allow from all

</Directory>

```

Last edited by cach0rr0 on Fri Jan 16, 2009 12:33 pm; edited 3 times in total

----------

## cach0rr0

and if you really need to make that error go away (which, you probably should do)

/etc/apache2/modules.d/00_default_settings.conf:

```

ServerName yourhostname.yourdomain.com

```

----------

## NTICompass

Sorry about the way I've posted conf files. =(

Anyway, I still cannot connect to localhost (even after adding ServerName).  I haven't opened the port on my router, but I only want a localhost connection.

----------

## magic919

What's the output of ifconfig look like?

----------

## NTICompass

```

nticompass@Hypercube ~ $ /sbin/ifconfig

eth0      Link encap:Ethernet  HWaddr 00:30:1b:bd:11:25  

          inet addr:192.168.0.111  Bcast:192.168.0.255  Mask:255.255.255.0

          inet6 addr: fe80::230:1bff:febd:1125/64 Scope:Link

          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

          RX packets:19068 errors:0 dropped:0 overruns:0 frame:0

          TX packets:13447 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000 

          RX bytes:12481794 (11.9 MiB)  TX bytes:1653231 (1.5 MiB)

          Interrupt:17 

lo        Link encap:Local Loopback  

          inet addr:127.0.0.1  Mask:255.0.0.0

          inet6 addr: ::1/128 Scope:Host

          UP LOOPBACK RUNNING  MTU:16436  Metric:1

          RX packets:2018 errors:0 dropped:0 overruns:0 frame:0

          TX packets:2018 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:0 

          RX bytes:100924 (98.5 KiB)  TX bytes:100924 (98.5 KiB)

```

----------

## magic919

Ok.  Looks normal.

And I presume a netstat -tunlp shows no Apache?

----------

## Exil

remove mod_unique_id related lines from httpd.conf

----------

## vaguy02

 *Quote:*   

> apache2: apr_sockaddr_info_get() failed for Hypercube
> 
> apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName [ ok ] 
> 
> 

 

= 

DNS resolution problem. Add Hypercube to your /etc/hosts file.

----------

## NTICompass

 *Exil wrote:*   

> remove mod_unique_id related lines from httpd.conf

 

IT WORKS!  Thanks dude.  Why did that fix it though?

----------

## Exil

http://httpd.apache.org/docs/2.2/mod/mod_unique_id.html

last three chapters.

----------

## NTICompass

 *Exil wrote:*   

> http://httpd.apache.org/docs/2.2/mod/mod_unique_id.html
> 
> last three chapters.

 

Thanks.

----------

