Configuração do Apache
O que você precisa é da diretiva Apache VirtualHost. Veja a Documentação do Apache e algumas Exemplos .
Basicamente, o que você quer fazer no Ubuntu é certificar-se de que a porta que você deseja usar (normalmente: 80) está habilitada em /etc/apache2/ports.conf assim:NameVirtualHost *:80
Listen 80
Em seguida, você terá que criar um novo arquivo conf em / etc / apache2 / sites-available. Eu sugiro nomear proj1.conf ou proj1.mydomain.conf.
Lá você pode configurar o VirtualHost da seguinte forma:
<VirtualHost *:80>
ServerName proj1.subdomain.domain.com
DocumentRoot /var/www/proj1
ServerAdmin [email protected]
# Write a seperate log per Virtualhost
CustomLog /var/log/apache2/proj1.subdomain.access_log combined
ErrorLog /var/log/apache2/proj1.subdomain.error_log
# Maybe you want to put some restrictions on the directory
<Directory /var/www/proj1>
Options -Indexes +FollowSymLinks + Includes
AllowOverride All
# Restrict Access to certain IP's
Order Deny,Allow
Deny from All
Allow from 127.0.0.1 IP IP IP
Satisfy ALL
</Directory>
</VirtualHost>
Consulte o Manual do Apache para ver o que você poderia fazer com a Diretiva.
Para ativar este site, vincule-o a / etc / apache2 / sites-enabled
ln -s /etc/apache2/sites-available/proj1.conf /etc/apache2/sites-enabled/proj1
Agora, tudo o que você precisa fazer é certificar-se de que sua configuração é válida e, em seguida, reiniciar o Apache:
apache2ctl configtest && /etc/init.d/apache2 restart
DNS
Se você estiver executando uma máquina virtual, o DNS provavelmente é fornecido pelo seu host, para que você possa falar com ele sobre configurar o DNS.
Naturalmente, você terá que configurar o subdomínio em seu DNS de uma forma que aponte para esse servidor. Para isso, você pode criar um Registro A ou CNAME para cada subdomínio e apontá-lo para o seu servidor.
É assim que seu arquivo Bind Zone pode parecer:
$TTL 2h
@ IN SOA dns1.example.com. emailaddress.domain.com. (
2011120701 ; serial number YYMMDDNN
1h ; Refresh
20m ; Retry
2w ; Expire
2h ; Min TTL
)
@ IN NS dns1.example.com.
@ IN NS dns2.example.com.
@ IN MX 10 mx1.domain.com.
@ IN MX 20 mx2.domain.com.
@ IN A 999.999.999.999
subdomain IN A 666.666.666.666
proj1.subdomain IN CNAME subdomain
*.subdomain IN CNAME subdomain
Obviamente, você teria que substituir domain.com pelo seu domínio, 999.999 ... e 666.666 pelos IPs apropriados, alterar os registros NS e MX, etc.
Consulte o Manual de ligação para obter mais detalhes.
Para fins de teste, você também pode editar o arquivo hosts em seu computador local. Dessa forma, apenas o seu computador irá resolver o subdomínio para este servidor, para que você possa verificar se tudo funciona e apenas alterar o DNS, se isso acontecer.
Editar: Se você deseja criar "sub-subdomínios" que apontam para o mesmo diretório que o subdomínio, você pode adicionar um ServerAlias à sua configuração do Apache2, ao lado do Nome do servidor:
ServerName subdomain.mydomain.ain
ServerAlias proj.subdomain.mydomain.ain
ServerAlias *.subdoamaind.mydomain.ain
A configuração do DNS seria a mesma da foto acima.