Я установил 2 разных веб-приложения на свой выделенный Debian 6. Первое из них находится внутри /var /www /cast, а URL-адрес назначен:

example.example.com/cast

`

Я установил второй, который называется Airtime. Во второй установке не предлагался путь установки, поэтому он устанавливался где-то автоматически ... теперь, когда я пытаюсь ввести первый, я получаю второй ... если я пытаюсь

example.example.com/cast

это приводит к эфирному времени. если я пойду в

example.example.com

это также приведет там ..

Это запись в файле airtime-vhost

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

      ServerAdmin example@gmail.com

      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> 

Любые мысли о том, как я могу дать им обоим уникальный URL-адрес?

1 ответ1

2

Звучит так, будто Airtime поставляется с собственным веб-сервером, но «кастинг (что бы это ни было) не делает. Это правильно?

В любом случае, с общей проблемой можно справиться разными способами:

  • Вы можете запустить оба приложения на одном веб-сервере, если это возможно. Это было бы невозможно только в том случае, если одно из приложений зависит от очень конкретной версии веб-сервера (при условии, что Apache основан на конфигурационном файле Airtime), которая несовместима с другим приложением. Но если вы можете загрузить все необходимые модули Apache в один экземпляр Apache, достаточный для запуска обоих приложений, тогда да, вам просто нужно поместить каждое приложение в отдельный путь в корне документа, например /var /www /airtime и /var /www /cast, и это будет "просто работать". Кроме того, вы можете сопоставить любой каталог в файловой системе с корнем документа, либо с помощью ссылки в /var /www, либо с помощью директив конфигурации Apache.

  • Вы можете запускать два разных веб-сервера, но запускать их на разных портах. Это изменит URL-адрес хотя бы на один из экземпляров, требующих номер порта после домена, например, http://example.com:8080/blah где :8080 - это порт (я рекомендую выбрать значение больше 1024, но меньше 65000, и Google номер перед использованием, чтобы убедиться, что это не очень известный порт для службы, которую вы уже используете).

  • Вы можете запускать два разных веб-сервера, но запускать их на разных IP-адресах. Таким образом, вы можете оставить порт по умолчанию равным 80 (или 443 для https), но вам понадобятся два разных IP-адреса.

  • Вы можете запускать два разных веб-сервера, но запускать их на одном IP-адресе, но на разных поддоменах. Затем можно использовать перезапись URL-адресов для автоматической сопоставления запросов на http://airtime.example.com с приложением эфирного времени и с http://cast.example.com с приложением приведения.

  • Для всего вышеперечисленного вы можете даже сделать это на одном веб-сервере, если конфигурация достаточно надежна, а веб-сервер Apache достаточно надежен, чтобы выполнять все вышеперечисленное в одном экземпляре веб-сервера, хотя вам потребуется больше экзотические настройки конфигурации для некоторых вариантов. Обратите внимание, что я настоятельно рекомендую сначала попытаться запустить все это в пределах одного экземпляра веб-сервера, поскольку этот способ более гибок и проще в управлении, плюс вы, вероятно, можете настроить его, не беспокоясь о портах или IP-адресах, что усложнит для ваших пользователей в первом случае и для вас в последнем случае.

Проблема с конфигурацией Airtime заключается в том, что она пытается быть vhost для *:80 что означает, что каждый запрос к вашему серверу через порт 80 будет отображаться в корневой каталог документа для эфирного времени, т.е. /usr/share/airtime/public , Вы должны получить как приложение cast и применение airtime в пределах того же виртуальный хост, или же, ограничить виртуальные хосты эфирного времени от *:80 на что - то вроде airtime.example.com:80 так , что только запросы к этой подобласти получит передается эфирное время.

Ваша конфигурация Apache, встроенная в Debian, находится в каталоге /etc/apache2/ , поэтому зайдите туда и посмотрите apache.conf . Обратите внимание, что он также имеет директиву <VirtualHost *:80> . Ну, у вас не может быть двух виртуальных хостов, претендующих на обработку всех запросов на порту 80; только один из них может победить. В этом и заключается проблема.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .