VHOST não funciona no Apache

VHOST não funciona no Apache

Eu tenho um servidor LAMP funcionando no Ubuntu 11.04. Agora o problema é que os sites precisam ser habilitados e desabilitados no terminal. Todos eles devem ser acessados ​​a partir do http://localhostqual não é tão eficiente. Então criei um VHOSTS, usando alguns tutoriais da net. Aqui está a codificação para isso

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    Servername site.com
    ServerAlias www.site.com
    DocumentRoot /home/starx/public_html/site/public
    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>
    <Directory /home/starx/public_html/site/public>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        allow from all
    </Directory>

    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    <Directory "/usr/lib/cgi-bin">
        AllowOverride None
        Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
        Order allow,deny
        Allow from all
    </Directory>
nGen
    ErrorLog ${APACHE_LOG_DIR}/site-error.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    CustomLog ${APACHE_LOG_DIR}/site-access.log combined

    Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>

</VirtualHost>

Agora ainda não consigo acessar a página http://site.commas se eu acessar usando http://localhsot/ela é acessada.

Desativei todos os outros sites, incluindo o padrão, e apenas habilitei um site, ou sejasite

Como consertar isto?

Responder1

Eu estava apenas tentando fazer isso funcionar e, depois de olhar um pouco em volta, descobri o que estava errado comigo.

Estou executando o xampp (lampp) 1.80 para Ubuntu 12.04.

abrir/opt/lampp/etc/httpd.conf

Veja Linha 488

# Virtual hosts  
# Include etc/extra/httpd-vhosts.conf

remova o "#" do arquivo include.
Uma nova instalação não carrega o software httpd-vhosts.confpronto para uso.

Responder2

De acordo com /usr/share/doc/apache2/README.Debian.gz, se você deseja criar definições para sites adicionais, você desejará colocar trechos de configuração de site individuais /etc/apache2/sites-available/(veja /etc/apache2/sites-available/defaultum exemplo). Você pode então ativar e desativar sites em um determinado host com os comandos a2ensite(8) e a2dissite(8). Observe que isso pode não funcionar exatamente como descrito se as configurações distribuídas tiverem sido alteradas significativamente.

Se um site estiver habilitado dessa forma e continuar a não funcionar, você vai querer ter certeza de que o servidor web pode resolver o nome do novo site de uma forma que corresponda a um endereço IP que o servidor web acredita ter sido atribuído. : a maneira mais simples é provavelmente verificar no servidor. Você também deseja verificar se o cliente resolve o nome de uma forma que faça com que ele chegue ao servidor em questão (embora o IP resolvido não precise corresponder ao IP usado pelo servidor). Para sites inseguros, isso é mais fácil e, quando a conexão for concluída (não há prompt), insira as três linhas a seguir (observe que a terceira está em branco, mas você deve pressionar Enter uma terceira vez):w3m https://my.new.secure.sitetelnet my.new.site 80

OBTER/HTTP/1.1
Hospedeiro: meu.novo.site

Se funcionarem, qualquer outra coisa é um problema do navegador. Se o primeiro for bem-sucedido e o segundo falhar, provavelmente há algo estranho na camada de rede (NAT, proxies, etc.): exatamente como solucionar isso depende muito da topologia da rede e dos dispositivos presentes: faça outra pergunta com detalhes se isso se aplica a você.

Se o primeiro teste falhar, verifique novamente o serviço de nomes disponível no servidor e os endereços IP atribuídos ao servidor (ifconfig -a). Verifique também os registros de acesso do site para verificar se você vê uma conexão no momento certo. Por último, certifique-se de que seu host virtual esteja escutando por nome, e não por IP, e não filtre os resultados para/com base no IP em sua diretiva VirtualHost.

Responder3

Não tenho certeza se é isso que você quer.

Substitua seus códigos por estes códigos de acesso simples.

<VirtualHost *:80>
   ServerAdmin admin@localhost
   DocumentRoot YourDocumentRoot
   ServerName site.com
   ServerAlias www.site.com
   ErrorLog localhost
   CustomLog localhost-access_log common
</VirtualHost>

Você pode ler mais sobre vhostaqui

Responder4

Você adicionou site.com e www.site.com ao seu arquivo /etc/hosts para ter certeza de que o roteamento do DNS está correto? Você pode tentar nslookup site.comtestar o DNS.

Se você quiser ter certeza de que isso http://localhostnão funcionará, exclua os arquivos /etc/apache2/default, default-ssl e use um único host virtual.

informação relacionada