У меня есть хостинг на основе имени, давайте позвоним my.address.com
. У моего друга есть «простой» адрес address.com
и он дал мне виртуальную машину, к которой я могу получить доступ через SSH.
Он также сделал немного магии с портами, и теперь, после установки Apache, я смог получить доступ /var/www
через my.address.com
.
Итак, вопрос в том, как сделать подобранный поддомен test.my.address.com
?
Должна быть какая-то магия с Директивой Слушания Apache , но я не могу понять это. Также я знаю, как создавать локально доступные сайты с Apache, но это не одно и то же.
apache-http-server
virtual-host
subdomain
scythargon
источник
источник
Listen
, посмотрите виртуальные хосты ApacheОтветы:
Чтобы иметь возможность создавать субдомены, вам нужно убедиться в нескольких вещах:
DNS
Чтобы другие могли связаться
test.my.address.com
, они должны сначала разрешить это имя в IP-адресе вашей виртуальной машины. Как это можно сделать?Скорее всего, ваш друг уже создал запись A в
address.com
зоне, которая указываетmy
на IP-адрес вашей виртуальной машины.Все идет нормально. Но как насчет
test.my
? Возможно, еще нет записи.Ваш друг может просто добавить
*.my
в зону (и указать его на тот же IP-адрес). Тогда все запросыsomething.my.address.com
будут отправлены на вашу виртуальную машину. Большой!Виртуальные хосты Apache
Как только ваша виртуальная машина будет доступна, Apache должен знать, как обрабатывать запрос. Здесь мы используем функцию виртуальных хостов HTTP-сервера Apache.
Я обычно работаю на Debian, поэтому я объясню это на примере конфигурации в
/etc/apache2/sites-available
. Давайте назовем там файлtest.my.address.com
и заполним его информацией.Ключевой параметр внутри этого файла является
ServerName
директива . Это сообщает Apache, под каким именем этот сервер должен быть доступен. Дополнительные имена могут быть даны с помощью директивы ServerAlias .Если вы также используете Debian, не забудьте
sudo a2ensite test.my.address.com
после того, как вы создали файл иsudo invoke-rc.d apache2 restart
.источник
test.my.address.com
идет,my.address.com
а затем мой сервер Apache на ВМ обрабатывает его. Но вы сказали, что DNS-сервер на address.com должен знать обоtest.my
всем этом раньше и независимо от тогоmy
, почему?