Para criar subdomínios, você precisa ter certeza de várias coisas:
DNS
Para que os outros alcancem test.my.address.com
, primeiro eles precisam resolver esse nome para o endereço IP da sua máquina virtual. Como isso pode ser feito?
O que seu amigo provavelmente já fez, foi criar um registro a address.com
zone, que aponta my
para o endereço IP da sua VM.
Até agora, tudo bem. Mas e quanto a test.my
? Pode não ter uma entrada ainda.
Seu amigo poderia simplesmente adicionar *.my
à zona (e apontar para o mesmo endereço IP). Então todo pedido para something.my.address.com
seria enviado para sua VM. Ótimo!
Hosts virtuais do Apache
Quando sua VM puder ser acessada, o Apache precisa saber como lidar com a solicitação. É aqui que usamos o recurso Hosts Virtuais do servidor HTTP Apache.
Eu geralmente corro no Debian, então vou explicar isso com um exemplo de configuração em /etc/apache2/sites-available
. Vamos ter um arquivo chamado test.my.address.com
e preenchê-lo com informações.
<VirtualHost *:80>
ServerName test.my.address.com
ServerAdmin [email protected]
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>
A definição de chave dentro deste ficheiro é a ServerName
directiva . Isso informa ao Apache sob qual nome este servidor deve estar disponível. Nomes adicionais podem ser dados com a diretiva ServerAlias .
Caso você esteja usando o Debian também, não esqueça de sudo a2ensite test.my.address.com
depois de criar o arquivo e sudo invoke-rc.d apache2 restart
.