
Eu uso o Debian 7 e instalei um host virtual com endereço sub.domain.com seguindo este tutorial:http://www.debian-administration.org/articles/412
Eu ativei, reiniciei o PC, mas o subdomínio ainda abre /var/www
Aqui está o conteúdo do arquivo chamado "sub.domain.com", localizado em /etc/apache2/sites-available/ :
<VirtualHost *>
ServerName sub.domain.com
DocumentRoot /usr/share/destfolder
ServerAdmin [email protected]
ErrorLog /var/log/apache2/sub.domain.com-error_log
CustomLog /var/log/apache2/sub.domain.com-access_log common
</VirtualHost>
A propósito, quando recarrego a configuração do Apache, recebo:
NameVirtualHost *:80 has no VirtualHosts
Alguma sugestão?
Responder1
Vincular apenas o tutorial não é informação suficiente, melhor ainda se você postar seu arquivo de configuração. O que você encontra /var/www
ao abrir seu endereço de host virtual pode ter mais causas.
O arquivo de configuração do Apache é construído de forma que, sem contexto, as diretivas sejam aplicadas globalmente. Caso contrário, aplicam-se apenas dentro do contexto. Os virtualhosts são feitos da mesma forma que default
ou *
virtualhost está definido como padrão. Se não houver, o primeiro host virtual encontrado durante a análise da configuração será considerado padrão.
Agora, finalmente, para a possível resposta:
1) Em seu host virtual você não definiu a diretiva DocumentRoot e o DocumentRoot global (presumivelmente padrão) está apontando para o arquivo /var/www
.
2) Seu host virtual não está funcionando da maneira esperada. Isso às vezes acontece quando você comete um erro ao nomear. Com LogLevel debug
habilite o log de depuração e observe o que acontece e qual host virtual é chamado quando você abre o endereço desejado. Os arquivos de log no Debian estão localizados em (não tenho 100% de certeza) /var/log/apache2/
.
Publique seus arquivos de configuração e mensagens de depuração, você aumenta muito a chance de sugestões úteis.
Atualizar:
Bem, parece que você ativou a hospedagem virtual baseada em nome. Basicamente, sua configuração parece razoável. Na <VirtualHost ...>
cláusula, você deve especificar a porta de destino como <VirtualHost *:443>
e assim.
As diretivas DocumentRoot
e ServerName
estão aqui, está tudo bem. Provavelmente o seu host virtual não é invocado quando você solicita a página.
Isso pode ocorrer porque o Apache não sabe sub.domain.com
para qual IP ele aponta. Você tem sub.domian.com
no DNS ou, pelo menos, no arquivo hosts?
Mais sobre hosts virtuais baseados em nomes:http://httpd.apache.org/docs/2.2/vhosts/name-based.html