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/blah
dónde:8080
está 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.com
la aplicación de tiempo aire y desdehttp://cast.example.com
la 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 *:80
que 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 cast
aplicación como la airtime
aplicación dentro del mismo vhost o, de lo contrario, restringir el vhost de tiempo aire *:80
a algo así airtime.example.com:80
como 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.