Problema con Apache

Buenas tardes;
Tengo el seguiente problema;
Diseñé una aplicación para la empresa basada en PHP, esta la querían publicar en la red, así que configuré un equipo con Xp (le quité el Firewall) y le instalé el appserv.
Configuré todo y funciona correctamente desde dentro de la red local. Pero la empresa ahora quiere que también esté accesible desde fuera de la empresa, así que llamé a nuestro proveedor de dominios y les hice crear un MX para que desde Internet, llamando a la URL aplicación. Dominio.com:8080, se publicara mi aplicación, pero no funciona.
Cuando tecleo la URL, me sale página no encontrada, pero si le hago un PING al MX, este me redirecciona correctamente, si no le pongo lo del puerto 8080, puedo entrar a la configuración del CISCO, osea que la configuración hasta ahí esta bien.
Mi pregunta es, porque creo que los tiros van por ahí... Que archivos y que tengo que modificar del servidor Apache para que cuando este equipo reciba una petición del router, ¿vaya a la carpeta www\aplicacion y me publique la aplicación?
La instalación de Appserv es por defecto, no he modificado ninguna ruta, ni del Apache, ni del PHP ni del MYSQL.
Muchas gracias.

1 Respuesta

Respuesta
1
Como bien dices tendrás que modificar apache si quieres que te salga directamente la aplicación en el dominio ya que ahora mismo te saldrá en www.dominio.com/aplicacion en vez de en www.dominio.com, para ello tendrás que indicar la ruta de tu web en el archivo httpd.conf que se encuentra dentro de la carpeta de instalación de appserv en la carpeta apache. Ahí buscas tu dominio y verás hacia a donde apunta, seguramente ahora lo tendrás en /www lo tienes que poner en /www/aplicacion.
Buenas;
Ante todo muchas gracias por tu ayuda.
Eso ya funcionaba desde dentro de la red, el problema viene cuando las peticiones se hacen desde fuera de la red, cuando haces la petición desde fuera de la red, (osea pasa a través del router) la petición pasa por el puerto 8080 del equipo.
Y cuando haces la petición desde Internet sale el mensaje de página no encontrada.
En el fichero httpd.conf he modificado el puerto de escucha al 8080 (Listen 8080) y como bien dices el DocumentRoot al directorio de mi aplicación, pero sigue sin encontrarla. Además haciendo esta corrección del puerto ya falla todo, osea el index.php si que lo pilla, pero cuando haces cualquier petición, ya sale página no encontrada y es que verificando la URL, esta pasa de server:8080 a server, osea que le vuelve a cambiar el puerto de escucha de la 8080 a la 80 y entonces el Apache se hace un lio.
Lo que te comento:
He cambiado el:
Listen 8080
ServerName servidor.dominio.com -> la URL responde a ping
DocumentRoot "C:/AppServ/www/programa"
Ya no he cambiado nada más, ¿hay qué modificar algún parámetro más? ¿Cómo puedo hacer para hacer la conexión posible desde fuera de la compañía? ¿Cómo puedo resolver el problema de que al cambiar el puerto de escucha solo funcione el index.php y el resto falle?
Muchas gracias de nuevo.
Saludos
En Apache ya no debes configurar nada más. Respecto al puerto, si mi URL es http://pepito.com y el puerto que cambie fue al 8080, tendré que escribir la dirección http://pepito.com:8080, siempre debe estar agregado el puerto, pues no estamos utilizando el puerto 80 por default. Así que en la aplicación tendrás que cambiar los enlaces a pepito.com/loquesea:8080 para que así no te ponga página no encontrada.
En cuanto a que no se pueda ver la web desde fuera, lo único que queda es... ¿le has indicado al dominio las DNS de tu servidor en este caso el local? Me imagino que tendrás un servidor DNS instalado en el mismo ordenador si notendrás que instalar uno o mirar si donde compraste el dominio ofrece el servicio de servidor DNS.
Buenas tardes;
Gracias de nuevo, lo único que veo que podría ser es lo de las DNS, pero tampoco creo que tenga nada que ver, porque ya configuré el Router Cisco y tengo redirigido que todo el tráfico que viene por la replicación DNS de Internet servidor. Dominio.com:8080 a la IP interna 192.168.1.166:8080 y entonces las DNS creo que no tienen nada que ver ya que lo resuelvo por IP, ¿no?
En fin, el temilla me ha superado y eso que creía que iba a ser más fácil, ya que en todo lo relacionado con sistemas tengo bastante experiencia, pero nunca me había metido con el Apache y parece que me ha ganado la batalla... je je
Si se te ocurre algo, me lo comentas, muchas gracias.
Creo que ya sé lo que pasa veamos... La situación más frecuente al montar tu propio servidor en tu red local es que, al intentar acceder a él usando tu dominio en Internet, aparece la configuración del router. ¿Por qué? Pues por que al intentar resolver la IP del dominio retorna la IP pública del router, y éste no trata de salir a Internet puesto que la llamada está dentro de la propia red. No sé porque no me he dado cuenta antes, quizá no leí del todo bien cuando me dijiste que te salía la configuración del CISCO.
La solución que creo que te servirá:
Usar el archivo HOSTS. Éste es un archivo especial de Windows que permite poner nombre a direcciones IP de tu red. Normalmente se encuentra en:
C:\Windows\System32\Drivers\Etc\hosts
Este archivo empareja nombres con direcciones IP. Por ejemplo, podemos configurar el archivo hosts del siguiente modo:
# Copyright (c) 1993-1999 Microsoft Corp.
#
# Éste es un ejemplo de archivo HOSTS usado por Microsoft TCP/IP para Windows.
#
# Este archivo contiene las asignaciones de las direcciones IP a los nombres de
# host. Cada entrada debe permanecer en una línea individual. La dirección IP
# debe ponerse en la primera columna, seguida del nombre de host correspondiente.
# La dirección IP y el nombre de host deben separarse con al menos un espacio.
#
#
# También pueden insertarse comentarios (como éste) en líneas individuales
# o a continuación del nombre de equipo indicándolos con el símbolo "#"
#
# Por ejemplo:
#
# 102.54.94.97 rhino.acme.com # servidor origen
# 38.25.63.10 x.acme.com # host cliente x
127.0.0.1 localhost
200.10.10.2 www.dominio.com
Tal y como explica al comienzo del archivo, a partir del carácter de la almohadilla, comienzan comentarios, que son ignorados.
La parte que nos interesa es:
127.0.0.1 localhost
200.10.10.2 www.dominio.com
En este ejemplo, establecemos que el nombre localhost pertenece a la dirección local del equipo (127.0.0.1) y que el nombre de dominio www.dominio.com vincule a la dirección del servidor principal dentro de la red que es 200.10.10.2, por ejemplo.
También es preciso indicar que si queremos permitir que funcione el dominio con www y sin www, es preciso poner dos líneas, una con www y la otra sin www, ambas líneas direccionando a la misma dirección IP.
A ver si esto te funciona si no lo has probado antes.
No me sale la configuración del router, si le pongo http://dominio.com, me resuelve la IP de mi dominio y me pide autentificación, le pongo usuario y contraseña y puedo acceder a la configuración. Configuré un MX dentro del Cisco para la redirección de http://servidor.dominio.com:8080, si pongo eso en el navegador, no me pide autentificación, pero o no llega al servidor o como bien dices no llega a salir otra vez hacia fuera, tampoco se porque, porque lo del HOST y el LMHOSTS ya lo había hecho, pero tampoco funciona.
¿A parte del ordenador lo configuraste en el dominio?
Más soluciones no se me ocurren sin mirarlo, y creo que esa es la principal.
Lo siento pero ya no puedo ayudarte más.
Si dedico tanto tiempo a una persona y son varias personas no me va a quedar más remedio que poner el experto en no disponible ya que dejo mucho tiempo aquí.
No importa, acabo de detectar el problema.
El problema estaba en un conflicto entre los routers Cisco, el MX entraba por la dirección de Internet (en la LAN era la dirección IP 1.5), el servidor que contenía el programa tenía como gateway otro de los Cisco (la 1.6) y el router 1.5 tenía restricciones de acceso a la 1.6, por lo que desde la 1.6 si entraba a la red, pero no tenía posibilidad de salir por la 1.5, he modificado esa regla y ya funciona bien. Bueno, ahora me queda lo de que al poner el puerto 8080 casca al cambiar de página, pero eso ya lo modificaré.
Muchas gracias por tu ayuda, al menos lo has intentado, que es lo importante.
Tienes un 5, ya que yo también se que es ayudar a la gente y que después o pasen de puntuar o como no has solucionado el tema aunque lo has intentado te puntúan bajo, no saben o no quieren saber que en vez de estar haciendo otras cosas, estás dedicando tu tiempo a solucionar los problemas que tienen y que en la mayoría de los casos no se han molestado ni en usar Google para intentar solucionar el tema.
Lo dicho, muchas gracias de nuevo.
Un saludo

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas