Para poder criar subdomínios, você precisará se certificar de várias coisas:
DNS
Para que outros possam alcançar test.my.address.com
, primeiro 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 na address.com
zona, que aponta my
para o endereço IP da sua VM.
Por enquanto, tudo bem. Mas que tal test.my
? Pode não ter uma entrada ainda.
Seu amigo pode simplesmente adicionar *.my
à zona também (e apontar para o mesmo endereço IP). Todas as solicitações something.my.address.com
serão enviadas para sua VM. Ótimo!
Hosts Virtuais Apache
Assim que sua VM for acessada, o Apache precisará saber como lidar com a solicitação. É aqui que usamos o recurso Hosts Virtuais do servidor HTTP Apache.
Eu normalmente corro no Debian, então vou explicar isso com um exemplo de configuração no /etc/apache2/sites-available
. Vamos chamar um arquivo test.my.address.com
e preenchê-lo com informações.
<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>
A configuração da chave dentro deste arquivo é a ServerName
diretiva . Isso informa ao Apache sob qual nome esse servidor deve estar disponível. Nomes adicionais podem ser fornecidos com a diretiva ServerAlias .
Caso você esteja usando o Debian também, não esqueça sudo a2ensite test.my.address.com
depois de criar o arquivo e sudo invoke-rc.d apache2 restart
.
Listen
, olhar Apaches hosts virtuais: httpd.apache.org/docs/2.2/vhosts