Duas aplicações web no mesmo domínio

0

Eu instalei 2 aplicações web diferentes no meu Debian dedicado 6. o primeiro fica dentro de / var / www / cast e o URL designado é '

example.example.com/cast

'

Eu instalei o segundo que é chamado Airtime. A segunda instalação não ofereceu um caminho de instalação, então ele foi instalado automaticamente em algum lugar. Agora, sempre que eu tento entrar no primeiro, eu obtenho o segundo ... se eu tentar

example.example.com/cast

leva ao tempo de antena. se eu for para

example.example.com

também leva lá ..

Esta é a enries no arquivo 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> 

Tem alguma ideia de como posso dar a eles uma URL única?

    
por Trance84 15.08.2012 / 16:13

1 resposta

2

Parece que o Airtime vem com seu próprio servidor web, mas "elenco (o que quer que seja) não é. Isso está correto?

De qualquer forma, o problema geral pode ser tratado de várias maneiras:

  • Você pode executar os dois aplicativos no mesmo servidor da Web, se possível. Isso só seria impossível se um dos aplicativos dependesse de uma versão muito específica do servidor da Web (assumindo o Apache com base no arquivo de configuração do Airtime) que é incompatível com o outro aplicativo. Mas se você puder obter todos os módulos necessários do Apache carregados em uma única instância do Apache, suficiente para rodar ambos os aplicativos, então sim, você apenas terá que colocar cada aplicativo em um caminho separado dentro da raiz do documento, por exemplo, / var / www / airtime e / var / www / cast, e isso "funcionará". Como alternativa, você pode mapear qualquer diretório no sistema de arquivos para a raiz do documento, seja simlinking em / var / www, ou por diretivas de configuração do Apache.

  • Você pode executar dois servidores da Web diferentes, mas executá-los em portas diferentes. Isso mudará o URL para pelo menos uma das instâncias para exigir um número de porta após o domínio, por exemplo, http://example.com:8080/blah em que :8080 é a porta (eu recomendo escolher um valor maior que 1024 mas menor que 65000 e usar o número do Google antes de usá-lo para garantir que não seja uma porta bem conhecida para um serviço que você já está executando).

  • Você pode executar dois servidores da Web diferentes, mas executá-los em endereços IP diferentes. Você pode manter o padrão da porta em 80 (ou 443 para https ) dessa forma, mas precisará de dois IPs diferentes.

  • Você pode executar dois servidores da Web diferentes, mas executá-los no mesmo endereço IP, mas em subdomínios diferentes. Você pode usar a regravação de URL para mapear automaticamente as solicitações para http://airtime.example.com para o aplicativo de tempo de transmissão e de http://cast.example.com para o aplicativo de transmissão.

  • Por todos os itens acima, você pode até mesmo fazer isso em um servidor da Web se a configuração for robusta o suficiente - e o servidor da Web Apache é robusto o suficiente para fazer tudo isso em uma instância do servidor da Web, embora você precisará de configurações mais exóticas para algumas das escolhas. Observe que é altamente recomendável tentar executar tudo em uma instância do servidor da Web primeiro , porque dessa forma é mais flexível e fácil de gerenciar, além disso, é possível configurá-lo sem ter que se preocupar com portas ou endereços IP , o que complica as coisas para seus usuários no primeiro caso e para você no último caso.

O problema com a configuração do Airtime é que ele está tentando ser um vhost para *:80 , o que significa que cada solicitação para o seu servidor na porta 80 será mapeada na raiz do documento por tempo de transmissão, ou seja, /usr/share/airtime/public . Você precisa obter o aplicativo cast e o aplicativo airtime dentro do mesmo vhost, ou então, restringir o vhost de tempo de execução de *:80 a algo como airtime.example.com:80 , de modo que somente solicitações para esse subdomínio sejam passadas para tempo de antena.

Sua configuração do Apache que vem embutida no Debian está no diretório /etc/apache2/ , então vá lá e veja apache.conf . Observe que também tem uma diretiva <VirtualHost *:80> . Bem, você não pode ter dois hosts virtuais que afirmam tratar todas as solicitações na porta 80; apenas um deles pode ganhar. Aí reside o problema.

    
por 15.08.2012 / 16:56