hinom 5 Denunciar post Postado Fevereiro 5, 2013 1. Hosts Em ambiente Windows, usando um editor de textos em modo "Administrator", abra o arquivo: C:\windows\system32\drivers\etc\hosts (*Troque C: pela unidade correspondente do seu sistema, se necessário.) Adicione a linha 127.0.0.1 foo.bar Exemplo para ambiente Unix Based (Linux, Mac OSX), o arquivo hosts está em /etc/hosts Para testar, faça o ping no console ou prompt (windows) ping foo.bar Deve retornar o IP 127.0.0.1 2. Apache httpd.conf Na pasta conf/ do diretório de instalação do Apache, abra o arquivo "httpd.conf". Adicione ou edite conforme abaixo: NameVirtualHost *:80 # Virtual hosts Include conf/vhosts/*.conf * A instrução "Include conf/vhosts/*.conf" fará com que sejam inclusos todos os arquivos com extensão ".conf" dentro do diretório "conf/vhosts/". 3. host exemplo foo.bar No diretório "conf/vhosts/", salve como "foo.bar.conf" <VirtualHost *:80> ServerAdmin info@foo.bar DocumentRoot "C:\_w\vhosts\foo.bar\public" ServerName foo.bar ServerAlias foo.bar AccessFileName .htaccess ErrorDocument 401 "/401/" ErrorDocument 403 "/403/" ErrorDocument 404 "/404/" AddType application/x-httpd-php .php LogLevel warn SetEnvIf Request_URI \.xml dontlog SetEnvIf Request_URI \.jpg dontlog SetEnvIf Request_URI \.jpeg dontlog SetEnvIf Request_URI \.gif dontlog SetEnvIf Request_URI \.css dontlog SetEnvIf Request_URI \.js dontlog SetEnvIf Request_URI \.png dontlog SetEnvIf Request_URI \.swf dontlog SetEnvIf Request_URI \.ico dontlog ErrorLog "|bin/rotatelogs C:/_w/vhosts/foo.bar/logs/errors/log_error-%Y-%m-%d.txt 86400 +000" <IfModule log_config_module> LogFormat "%h %l %u %{%Y-%m-%d %H:%M:%S}t \"%r\" %>s %b \"%{Referer}i\"" combined CustomLog "|bin/rotatelogs C:/_w/vhosts/foo.bar/logs/access/log_access-%Y-%m-%d.txt 86400 +000" combined env=!dontlog </IfModule> <Directory "C:\_w\vhosts\foo.bar\public"> Options Indexes FollowSymLinks AllowOverride All Order allow,deny Allow from all DirectoryIndex index.php index.html php_value expose_php Off </Directory> </VirtualHost> O escopo é o mesmo para criação de novos hosts sob uma configuração básica. Basta editar os parâmetros abaixo: DocumentRoot "C:\_w\vhosts\foo.bar\public" ErrorLog "|bin/rotatelogs C:/_w/vhosts/foo.bar/logs/errors/log_error-%Y-%m-%d.txt 86400 +000" CustomLog "|bin/rotatelogs C:/_w/vhosts/foo.bar/logs/access/log_access-%Y-%m-%d.txt 86400 +000" combined env=!dontlog <Directory "C:\_w\vhosts\foo.bar\public"> Importante! Mesmo em ambiente Windows, para setar os paths para o rotatelogs, utilize barra normal. *Exemplo de configuração de paths para ambiente unix (linux, mac osx): /var/www/vhosts/foo.bar/public /var/www/vhosts/foo.bar/logs/access /var/www/vhosts/foo.bar/logs/errors 4. Diretórios do site Crie os diretórios:C:\_w\vhosts\foo.bar\publicC:\_w\vhosts\foo.bar\logs\accessC:\_w\vhosts\foo.bar\logs\errors *Exemplo para ambiente unix (linux, mac osx): /var/www/vhosts/foo.bar/public /var/www/vhosts/foo.bar/logs/access /var/www/vhosts/foo.bar/logs/errors 5. Páginas do site No diretório C:\_w\vhosts\foo.bar\public (windows) ou /var/www/vhosts/foo.bar/public (unix), crie um arquivo "index.html" index.html foo.bar 6. Acessando o site Usando um browser, acesse o endereço http://foo.bar Compartilhar este post Link para o post Compartilhar em outros sites
hinom 5 Denunciar post Postado Fevereiro 9, 2013 Detalhe importante, Após adicionar ou modificar as setagens do Apache, é necessário reiniciá-lo. Compartilhar este post Link para o post Compartilhar em outros sites
Bruno Augusto 417 Denunciar post Postado Fevereiro 9, 2013 Três perguntas: Antes desse tutorial aparecer aqui eu fui tentar fazer sozinho e quando defini o VirtualHost como *:80 nenhum diretório ou script com excessão daqueles localizados no diretório definido para VirtualHost executava mais, todos retornando Forbidden 403. Mudei o * pelo endereço de acesso e todos voltaram a funcionar. Por quê? Segundo: Os arquivos .conf do Virtual Host precisam obrigatóriamente estar sob o diretório de configurações do Apache ou se eu ajustar os paths apontando para um lugar "mais fácil de achar" também funciona? Terceiro:É possível definir algum wildcard no arquivo hosts? Algo como *.localhost, para não ter de editá-lo toda vez? Compartilhar este post Link para o post Compartilhar em outros sites
Bruno Augusto 417 Denunciar post Postado Fevereiro 9, 2013 1. Difícil dizer. Pode ser N cousas. Normalmente é gerado o erro detalhado no log de erros. 2. Podem estar em qualquer outro path, até mesmo outro disco. 3. http://stackoverflow.com/questions/138162/wildcards-in-a-hosts-file Um complemento para Apache 2.4 ou superior. Para configurar o VirtualHosts, segue o mesmo exemplo desse tópico com algumas exceções 1- remover NameVirtualHost Está em desuso desde o lançamento do 2.4 e será removido por completo nas próximas versões. 2- Listen Informe o endereço IP + porta. Exemplo para ambiente local: Listen 127.0.0.1:80 *Para ambiente de produção ou mesmo ambiente local com múltiplos IPs ou portas Listen 127.0.0.1:80 Listen 127.0.0.1:443 Listen 127.0.0.2:80 Listen 127.0.0.3:8080 3- <VirtualHost> Troque o asterisco <VirtualHost *:80> pelo IP correspondente ao host <VirtualHost 127.0.0.1:80> Essas configurações são chamadas de "IP-based Virtual Host". Recomendado pela equipe de desenvolvimento do Apache por razões de segurança básica e outros permonores: http://httpd.apache.org/docs/2.4/en/vhosts/ip-based.html ---------- Comigo só funcionou quando meio que acidentalmente fiz a #1 e a #3. A segunda, como é a porta padrão no meu Apache pude omitir. Compartilhar este post Link para o post Compartilhar em outros sites
Guustavo0 0 Denunciar post Postado Abril 22, 2013 Configurei para fazer virtual host, só que o apache só pega o primeiro virtual host, o segundo ele não identifica, qual pode ser o problema?PS: tento dar um ping no virtual host que criei e ele não reconhece. estou utilizando: XAMPP + Windows 7 Compartilhar este post Link para o post Compartilhar em outros sites
hinom 5 Denunciar post Postado Abril 22, 2013 #7 1. Qual versão do Apache ? 2. Adicionou o domínio no arquivo de hosts ? Compartilhar este post Link para o post Compartilhar em outros sites