VHOST não está funcionando no Apache

3

Eu tenho um servidor LAMP funcionando no Ubuntu 11.04. Agora, o problema é que os sites precisam estar ativados e desativados no terminal. Todos eles devem ser acessados a partir de http://localhost , o que não é muito eficiente. Então eu criei um VHOSTS, usando alguns tutoriais fora da rede. Aqui está o código 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 em http://site.com , mas se eu acessar usando http://localhsot/ , ela é acessada.

Desativei todos os outros sites, incluindo o padrão, e acabei de ativar um site, por exemplo, site

Como consertar isso?

    
por Starx 10.07.2011 / 10:32

4 respostas

4

Eu só estava tentando fazer isso funcionar, e depois de olhar um pouco eu descobri o que estava errado para mim.

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

aberto /opt/lampp/etc/httpd.conf

Veja a linha 488

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

remova o "#" do include .
Uma nova instalação não carrega o httpd-vhosts.conf fora da caixa.

    
por SnakZ 23.09.2012 / 13:09
1

De acordo com /usr/share/doc/apache2/README.Debian.gz , se você deseja criar definições para sites adicionais, convém inserir trechos de configuração de site individuais em /etc/apache2/sites-available/ (consulte /etc/apache2/sites-available/default para um exemplo). Você pode 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 ativado dessa maneira e continuar parecendo não funcionar, você deverá verificar se o servidor da Web pode resolver o nome do novo site de uma maneira que corresponda a um endereço IP que o servidor da Web acredita. é atribuído: a maneira mais simples é provavelmente verificar com w3m https://my.new.secure.site do servidor. Você também deseja verificar se o cliente resolve o nome de uma forma que faz com que ele atinja o servidor em questão (embora o IP resolvido não precise corresponder a um que o servidor usa). Para sites inseguros, isso é mais fácil com telnet my.new.site 80 e, quando a conexão estiver completa (não há prompt), inserindo as três linhas a seguir (observe que a terceira está em branco, mas você deve pressionar enter pela terceira vez):

GET / HTTP/1.1
Host: my.new.site

Se isso funcionar, qualquer outra coisa é um problema do navegador. Se o primeiro for bem-sucedido e o segundo falhar, provavelmente haverá algo estranho na camada de rede (NAT, proxies etc.): exatamente como solucionar isso depende demais da topologia de rede e dos dispositivos presentes: por favor, 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). Além disso, verifique seus registros de acesso ao site para verificar se você vê uma conexão no momento certo. Por fim, certifique-se de que seu host virtual esteja escutando pelo nome, em vez de pelo IP, e não filtre os resultados para / com base no IP em sua diretiva VirtualHost.

    
por Emmet Hikory 10.07.2011 / 14:06
0

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

Substitua seus códigos por esses códigos curtos 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 o vhost aqui

    
por SH. 10.07.2011 / 14:40
0

Você adicionou site.com e www.site.com ao seu arquivo / etc / hosts para se certificar de que o roteamento de dns está correto? Você pode tentar nslookup site.com para testar o DNS.

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

    
por Nemo 23.09.2012 / 17:16