Como tornar um diretório na raiz do site um subdomínio?

7

Eu tenho um site Ubuntu LAMP hospedado em vps.net .

Eu tenho um diretório chamado john que pode ser acessado via mysite.com/john . Eu gostaria que ele fosse acessado via john.mysite.com

A raiz do meu site é /var/www e esse diretório está em /var/www/john

O que preciso fazer para que isso aconteça?

    
por JD Isaacks 10.03.2011 / 19:37

4 respostas

12

Crie um novo arquivo de site em /etc/apache2/sites-available/john.mysite.com

Configure o site assim:

<VirtualHost *:80>
    ServerName john.mysite.com
    DocumentRoot /var/www/john
    <Directory /var/www/john/>
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>

Ativar o site com a2ensite john.mysite.com

Recarregue o apache para ativar o site: service apache2 restart

    
por 10.03.2011 / 19:46
3

Além de configurar o Apache, não se esqueça também da parte DNS: você precisará de um registro para john.mysite.com , apontando para o mesmo endereço IP mysite.com aponta para (se estiver usando um registro A) ou para mysite.com em si (se estiver usando um registro CNAME).

    
por 10.03.2011 / 20:09
1

Estes passos funcionaram para mim no Ubuntu 12.04 LTS x86_64:

Você precisa criar um novo arquivo de site em /etc/apache2/sites-available/john.mysite.com.conf

A extensão .conf é muito importante, sem ela, o resto não vai funcionar !!

Em seguida, configure o site algo assim:

<VirtualHost *:80>
    ServerName john.mysite.com
    DocumentRoot /var/www/john
    <Directory /var/www/john/>
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>

Salve as alterações e ative o site com o comando:

sudo a2ensite john.mysite.com

Recarregue o apache para ativar o site com:

sudo service apache2 reload

Reinicie o serviço apache:

sudo service apache2 restart

Depois disso, você precisa configurar o DNS para apontar para o site também (como um subdomínio), o DNS levará algum tempo, mas na minha experiência leva apenas alguns minutos (15).

Espero que isso ajude !! :)

    
por 22.08.2014 / 04:13
0

você precisa criar um vhost para o seu servidor web (assumindo o apache) que tem pelo menos as seguintes informações

<VirtualHost *:80>
ServerName john.mysite.com
DocumentRoot /var/www/john
</VirtualHost>

este não é um arquivo vhost definitivo, mas é um ponto de partida, ele deve ir na parte inferior do seu arquivo httpd.conf ou onde quer que seu sistema gerencie vhosts

    
por 10.03.2011 / 19:44