
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://localhost
qual 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.com
mas 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.conf
pronto 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/default
um 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.site
telnet 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.com
testar o DNS.
Se você quiser ter certeza de que isso http://localhost
não funcionará, exclua os arquivos /etc/apache2/default, default-ssl e use um único host virtual.