Чтобы иметь возможность создавать субдомены, вам нужно убедиться в нескольких вещах:
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и заполним его информацией.
<VirtualHost *:80>
ServerName test.my.address.com
ServerAdmin webmaster@my.address.com
DocumentRoot /var/www/test.my.address.com/
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/test.my.address.com/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/test.my.address.com.error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/test.my.address.com.access.log combined
</VirtualHost>
Ключевой параметр внутри этого файла является ServerNameдиректива . Это сообщает Apache, под каким именем этот сервер должен быть доступен. Дополнительные имена могут быть даны с помощью директивы ServerAlias .
Если вы также используете Debian, не забудьте sudo a2ensite test.my.address.comпосле того, как вы создали файл и sudo invoke-rc.d apache2 restart.
Listen, посмотрите виртуальные хосты Apache