Dos aplicaciones web en el mismo dominio

Dos aplicaciones web en el mismo dominio

Instalé 2 aplicaciones web diferentes en mi Debian 6 dedicado. La primera se encuentra dentro de /var/www/cast y la URL asignada es `

ejemplo.ejemplo.com/cast

`

Instalé el segundo que se llama Airtime. La segunda instalación no ofrecía una ruta de instalación, por lo que se instaló automáticamente en algún lugar... ahora, cada vez que intento ingresar el primero, aparece el segundo... si lo intento

ejemplo.ejemplo.com/cast

conduce a tiempo aire. si voy a

ejemplo.ejemplo.com

también lleva allí..

Estas son las entradas del archivo airtime-vhost

<VirtualHost *:80>
      ServerName example.example.com
      #ServerAlias www.example.com

      ServerAdmin [email protected]

      DocumentRoot /usr/share/airtime/public
      DirectoryIndex index.php

      SetEnv APPLICATION_ENV "production"

      <Directory /usr/share/airtime/public>
              Options -Indexes FollowSymLinks MultiViews
              AllowOverride All
              Order allow,deny
              Allow from all
      </Directory>
</VirtualHost> 

¿Alguna idea sobre cómo puedo darles a ambos una URL única?

Respuesta1

Parece que Airtime viene con su propio servidor web, pero "cast (sea lo que sea) no. ¿Es correcto?

De todos modos, el problema general se puede solucionar de muchas formas:

  • Puede ejecutar ambas aplicaciones dentro del mismo servidor web, si es posible. Esto sólo sería imposible si una de las aplicaciones depende de una versión muy específica del servidor web (suponiendo que Apache esté basado en el archivo de configuración de Airtime) que sea incompatible con la otra aplicación. Pero si puede cargar todos los módulos de Apache necesarios en una única instancia de Apache, suficiente para ejecutar ambas aplicaciones, entonces sí, sólo tiene que colocar cada aplicación en una ruta separada dentro de la raíz del documento, por ejemplo, /var/www/airtime. y /var/www/cast, y "simplemente funcionará". Alternativamente, puede asignar cualquier directorio en el sistema de archivos a la raíz del documento, ya sea mediante un enlace sim a /var/www o mediante directivas de configuración de Apache.

  • Puede ejecutar dos servidores web diferentes, pero ejecutarlos en puertos diferentes. Esto cambiará la URL a al menos una de las instancias para requerir un número de puerto después del dominio, por ejemplo, http://example.com:8080/blahdónde :8080está el puerto (recomiendo elegir un valor mayor que 1024 pero menor que 65000, y buscar en Google el número antes de usarlo para hacer (seguro que no es un puerto conocido para un servicio que ya estás ejecutando).

  • Puede ejecutar dos servidores web diferentes, pero ejecutarlos en direcciones IP diferentes. Puedes mantener el puerto predeterminado en 80 (o 443 para https) de esta manera, pero necesitarás dos IP diferentes.

  • Puede ejecutar dos servidores web diferentes, pero ejecutarlos en la misma dirección IP pero en diferentes subdominios. Luego puede usar la reescritura de URL para asignar automáticamente solicitudes a http://airtime.example.comla aplicación de tiempo aire y desde http://cast.example.comla aplicación de transmisión.

  • Para todo lo anterior, incluso puede hacerlo dentro de un servidor web si la configuración es lo suficientemente sólida, y el servidor web Apache es lo suficientemente sólido como para hacer todo lo anterior dentro de una instancia de servidor web, aunque necesitará algo más. ajustes de configuración exóticos para algunas de las opciones. Tenga en cuenta que recomiendo intentar ejecutarlo todo dentro de una instancia de servidor web.primero, porque de esta manera es más flexible y fácil de administrar, además probablemente puedas configurarlo sin tener que preocuparte por puertos o direcciones IP, que complican las cosas a tus usuarios en el primer caso y a ti en el segundo.

El problema con la configuración de Airtime es que intenta ser un vhost, lo *:80que significa que cada solicitud a su servidor en el puerto 80 se asignará a la raíz del documento para Airtime, es decir /usr/share/airtime/public. Debe obtener tanto la castaplicación como la airtimeaplicación dentro del mismo vhost o, de lo contrario, restringir el vhost de tiempo aire *:80a algo así airtime.example.com:80como para que solo las solicitudes a ese subdominio pasen a tiempo aire.

Su configuración de Apache que viene integrada con Debian está en /etc/apache2/el directorio, así que vaya allí y mire apache.conf. Observe que también tiene una <VirtualHost *:80>directiva. Bueno, no se pueden tener dos hosts virtuales que afirmen manejar todas las solicitudes en el puerto 80; sólo uno de ellos puede ganar. Ahí yace el problema.

información relacionada