# problemas con apache

## natxoblogg

Hola a todos, estoy intentando instalarme y configurarme el LAMP, y todo ha ido rordado.

He estado siguiendo la guia que el queridisimo sefirotsama hizo en su momento, (muchas gràcias). Pero el problem es que no puedo acceder a http://localhost/, de echo el navegador tira a buscarlo en google. Tengo el apache en marcha y ya no se si es por el navegador (chronium) o por que la configuración del apache está mal echa.

Esta es la configuración que tengo para el apache:

/etc/conf.d/apache2

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

```

Y esta es la del /etc/init.d/apache2

```
#!/sbin/runscript

# Copyright 1999-2007 Gentoo Foundation

# Distributed under the terms of the GNU General Public License v2

opts="configdump configtest fullstatus graceful gracefulstop modules reload virtualhosts"

#need net -> need net.lo

depend() {

   need net.lo

   use mysql dns logger netmount postgresql

   after sshd

}

configtest() {

   ebegin "Checking ${SVCNAME} configuration"

   checkconfig

   eend $?

}

checkconfd() {

   PIDFILE="${PIDFILE:-/var/run/apache2.pid}"

   TIMEOUT=${TIMEOUT:-10}

   SERVERROOT="${SERVERROOT:-/usr/lib/apache2}"

   if [ ! -d ${SERVERROOT} ]; then

      eerror "SERVERROOT does not exist: ${SERVERROOT}"

      return 1

   fi

   CONFIGFILE="${CONFIGFILE:-/etc/apache2/httpd.conf}"

   [ "${CONFIGFILE#/}" = "${CONFIGFILE}" ] && CONFIGFILE="${SERVERROOT}/${CONFIGFILE}"

   if [ ! -r "${CONFIGFILE}" ]; then

      eerror "Unable to read configuration file: ${CONFIGFILE}"

      return 1

   fi

   APACHE2_OPTS="${APACHE2_OPTS} -d ${SERVERROOT}"

   APACHE2_OPTS="${APACHE2_OPTS} -f ${CONFIGFILE}"

   [ -n "${STARTUPERRORLOG}" ] && APACHE2_OPTS="${APACHE2_OPTS} -E ${STARTUPERRORLOG}"

   APACHE2="/usr/sbin/apache2"

}

checkconfig() {

   checkconfd || return 1

   ${APACHE2} ${APACHE2_OPTS} -t 1>/dev/null 2>&1

   ret=$?

   if [ $ret -ne 0 ]; then

      eerror "${SVCNAME} has detected a syntax error in your configuration files:"

      ${APACHE2} ${APACHE2_OPTS} -t

   fi

   return $ret

}

start() {

   checkconfig || return 1

   [ -f /var/log/apache2/ssl_scache ] && rm /var/log/apache2/ssl_scache

   ebegin "Starting ${SVCNAME}"

   ${APACHE2} ${APACHE2_OPTS} -k start

   i=0

   while [ ! -e "${PIDFILE}" ] && [ $i -lt ${TIMEOUT} ]; do

      sleep 1 && i=$(expr $i + 1)

   done

   test $i -le ${TIMEOUT}

   eend $?

}

stop() {

   checkconfd || return 1

   ebegin "Stopping ${SVCNAME}"

   ${APACHE2} ${APACHE2_OPTS} -k stop

   i=0

   while pidof "${APACHE2}" >/dev/null && [ $i -lt ${TIMEOUT} ]; do

      sleep 1 && i=$(expr $i + 1)

   done

   test $i -le ${TIMEOUT}

   eend $?

}

reload() {

   RELOAD_TYPE="${RELOAD_TYPE:-graceful}"

   checkconfig || return 1

   service_started "${SVCNAME}" || return

   if [ "${RELOAD_TYPE}" = "restart" ]; then

      ebegin "Restarting ${SVCNAME}"

      ${APACHE2} ${APACHE2_OPTS} -k restart

      eend $?

   elif [ "${RELOAD_TYPE}" = "graceful" ]; then

      ebegin "Gracefully restarting ${SVCNAME}"

      ${APACHE2} ${APACHE2_OPTS} -k graceful

      eend $?

   else

      eerror "${RELOAD_TYPE} is not a valid RELOAD_TYPE. Please edit /etc/conf.d/${SVCNAME}"

   fi

}

graceful() {

   checkconfig || return 1

   service_started "${SVCNAME}" || return

   ebegin "Gracefully restarting ${SVCNAME}"

   ${APACHE2} ${APACHE2_OPTS} -k graceful

   eend $?

}

gracefulstop() {

   checkconfig || return 1

   # zap!

   if service_started "${SVCNAME}"; then

      mark_service_stopped "${SVCNAME}"

   fi

   ebegin "Gracefully stopping ${SVCNAME}"

   ${APACHE2} ${APACHE2_OPTS} -k graceful-stop

   eend $?

}

modules() {

   checkconfig || return 1

   ${APACHE2} ${APACHE2_OPTS} -M 2>&1

}

fullstatus() {

   LYNX="${LYNX:-lynx -dump}"

   STATUSURL="${STATUSURL:-http://localhost/server-status}"

   if ! service_started "${SVCNAME}"; then

      eerror "${SVCNAME} not started"

   elif ! type -p $(set -- ${LYNX}; echo $1) 2>&1 >/dev/null; then

      eerror "lynx not found! you need to emerge www-client/lynx"

   else

      ${LYNX} ${STATUSURL}

   fi

}

virtualhosts() {

   checkconfd || return 1

   ${APACHE2} ${APACHE2_OPTS} -S

}

configdump() {

   LYNX="${LYNX:-lynx -dump}"

   INFOURL="${INFOURL:-http://localhost/server-info}"

   checkconfd || return 1

   if ! service_started "${SVCNAME}"; then

      eerror "${SVCNAME} not started"

   elif ! type -p $(set -- ${LYNX}; echo $1) 2>&1 >/dev/null; then

      eerror "lynx not found! you need to emerge www-client/lynx"

   else

      echo "${APACHE2} started with '${APACHE2_OPTS}'"

      for i in config server list; do

         ${LYNX} "${INFOURL}/?${i}" | sed '/Apache Server Information/d;/^[[:space:]]\+[_]\+$/Q'

      done

   fi

}

# vim: ts=4 filetype=gentoo-init-d
```

Dónde he cambiado el need net, por need net.lo para trabajar en local.

Por último tengo que añadir que al realizar el emerge --config apache me apareció lo siguiente:

```
Configuring pkg...

 * pkg_config() is not defined: 'apache-2.2.14-r1.ebuild'

```

¿Podeis ver algo extraño?, gracias por adelantado.

----------

## Inodoro_Pereyra

No veo nada raro, van algunas ideas:

Localhost es el nombre de host para la interface loopback que tiene como número de IP 127.0.0.1. En definitiva, si no puedes acceder por http://localhost, puerba por http://127.0.0.1. Prueba también hacerle ping a loopback, debería responder:

```
ping localhost

PING localhost (127.0.0.1) 56(84) bytes of data.

64 bytes from localhost (127.0.0.1): icmp_seq=1 ttl=64 time=0.056 ms
```

Si el servicio apache está corriendo, tiene que estar escuchando en el puerto 80, verificable con nmap:

```
nmap -vv localhost -p 80

Interesting ports on localhost (127.0.0.1):

PORT   STATE SERVICE

80/tcp open  http
```

Si el puerto está abierto, entonces el servidor debería poder responder a peticiones http, verificable con curl, debería responder algo parecido a esto:

```
curl localhost

<html><body>It works!</body></html>
```

Pega el resultado de esas pruebas y vamos viendo...

Salud!

----------

## esteban_conde

/etc/init.d/apache2 start && rc-update add apache2 default, si lo tienes puesto perdona pero a mi se me sigue olvidando.

----------

## cameta

Mira el fichero /etc/hosts y ponlo aquí

----------

## natxoblogg

Aquí va el fichero /etc/hosts

```
# /etc/hosts: Local Host Database

#

# This file describes a number of aliases-to-address mappings for the for 

# local hosts that share this file.

#

# In the presence of the domain name service or NIS, this file may not be 

# consulted at all; see /etc/host.conf for the resolution order.

#

# IPv4 and IPv6 localhost aliases

127.0.0.1   ganyan

::1      ganyan

#

# Imaginary network.

#10.0.0.2               myname

#10.0.0.3               myfriend

#

# According to RFC 1918, you can use the following IP networks for private 

# nets which will never be connected to the Internet:

#

#       10.0.0.0        -   10.255.255.255

#       172.16.0.0      -   172.31.255.255

#       192.168.0.0     -   192.168.255.255

#

# In case you want to be able to connect directly to the Internet (i.e. not 

# behind a NAT, ADSL router, etc...), you need real official assigned 

# numbers.  Do not try to invent your own network numbers but instead get one 

# from your network provider (if any) or from your regional registry (ARIN, 

# APNIC, LACNIC, RIPE NCC, or AfriNIC.)

#

```

----------

## lanshor

Tal y como lo tienes podrías acceder por http://ganyan/ y si quieres, puedes añadir otro alias en /etc/hosts (reinicia el navegador cuando hagas cambios).

Además de eso, comprueba que apache esté escuchando por el puerto 80.

----------

## cameta

 *Quote:*   

> ::1      ganyan 

 

Juraria que el problema es ese

Si pones esto te deberia de funcionar

# IPv4 and IPv6 localhost aliases

127.0.0.1	tux.homenetwok tux localhost

::1		localhost

----------

## natxoblogg

Ok gracias a todos. El problema residia en el navegador, el chronium. cuando he accedido con http://ganyan, me ha salido el gran titulo de IT's Works!!!

Así que todo solucionado. Se ve que el navegador primero tira buscar en google antes que ver si reside el apache rulando.

----------

