Criando Virtual Host no Apache: simples assim

Conheça a nova ferramenta desenvolvida para a plataforma GNU/Linux que gerencia Hosts Virtuais no servidor Apache.

[ Hits: 14.638 ]

Por: Salomao Santos em 04/10/2013


VHost



Nosso artigo de hoje é para você que, assim como eu, muitas vezes durante o desenvolvimento de um projeto, decide criar um Virtual Host no Apache para simplificar as coisas.

Sabemos que não é nenhum bicho de sete cabeças, mas tenho certeza que você vai concordar comigo numa coisa: é um serviço chato de fazer.

Pensando nisto, eu e um amigo decidimos criar algo, ou melhor, um programa que fizesse esta tarefa para nós de modo simples e rápido: VHost.

Neste pequeno tutorial, apresentaremos a vocês esta ferramenta. E para começar, ressaltamos que para utilizá-la existe um pré-requisito, você precisa ter o Java (JRE) instalado.

Se você ainda não o tem, segue abaixo um link que te ensina a obtê-lo:
Com ele (JRE) instalado, faça o seguinte:

1. Clique aqui e faça o download do VHost.

2. Após baixá-lo, descompacte-o e você terá em mãos o arquivo VirtualHost.jar. Clique com o botão direito do mouse e escolha a opção Abrir como e, em seguida, escolha o Java para executá-lo.

A primeira tela que você verá, será a seguinte:

Você deverá informar sua senha de usuário do sistema (não precisa ser a senha de root).

3. Feito isto, verá terá acesso à seguinte tela:

Nela, podemos observar no seu canto esquerdo, uma lista com todos os hosts já existentes no Apache. E do outro lado na parte superior, temos alguns botões que possuem as seguintes funções:
  • Adicionar novo Host;
  • Remover um Host;
  • Recarregar o Apache;
  • Botão para ir direto ao browser, visualizar o host que estiver selecionado;
  • E por fim, um botão com os créditos do programa.

Logo abaixo dos botões, dividimos as tarefas em 3 partes: Configurações Básicas (que já é o suficiente para criarmos um Virtual Host), Logs, Configurações Avançadas (IP, Portas, Alias) e Detalhes (área para adicionar outras opções no arquivo de configuração do Virtual Host).

No primeiro campo (Domínio), insira o endereço que sua aplicação terá no servidor local (exemplo: vhost.local), e no campo abaixo, selecione o diretório onde a mesma se encontra (exemplo: /var/www/vhost).

Estas informações já seriam suficientes para criamos o Virtual Host, mas como já mencionei acima, ainda temos a opção de:

- Apontarmos um caminho, tanto para os logs de acesso à sua aplicação, como para os logs de erro da mesma.

- Definirmos um IP diferente do default (127.0.0.1) e uma outra porta também diferente da padrão (80), além de podermos adicionar um outro alias (apelido) para nossa aplicação.

Vale lembrar que o VHost já cria, automaticamente, um alias para nós, inserindo o www na frente do nosso domínio escolhido.

E mais abaixo, temos uma caixa de texto onde você poderá informar outras opções ao Apache. Para mais informações sobre estas, visite o site do Apache e veja na documentação:
Agora, basta clicar no botão Salvar, e você receberá a informação de que seu arquivo foi criado com sucesso. Porém, para ativá-lo, será necessário recarregar o Apache.

Observe na imagem acima, que o terceiro botão na parte superior mudou de cor, ficando com uma parte "em vermelho", só para nos lembrar que precisamos clicar nele para finalizarmos o processo.

Após clicarmos no botão, veremos a exibição da seguinte informação: Configurações Ativadas. Agora, é só clicar no botão para visualizar no browser a sua aplicação rodando através de uma requisição feita pelo domínio que acabamos de criar.

No meu caso, criei um arquivos chamado index.php, e nele invoquei a função phpinfo(), que exibe as configurações do meu ambiente local.


E é isso aí. Espero que este programa possa lhe ajudar da mesma forma que me tem feito.

Grande abraço e até a próxima.

Artigo também publicado em: http://bandodedados.com.br

   

Páginas do artigo
   1. VHost
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

PEAR - Utilizando classes prontas e documentadas no PHP

Utilizando PHP para validar dados passados pelo usuário

Cadastro e login em PHP

Criando gráficos com a classe JPGraph (parte 2)

Usando classes em conexão e consultas à banco de dados em PHP

  
Comentários
[1] Comentário enviado por andrebian em 05/10/2013 - 11:12h

Gostaria de parabenizar pela iniciativa e dizer que visualmente achei o software muito intuitivo. Tenho uma pergunta a fazer: É necessária alguma versão específica do JRE/JDK? Possuo as versões 6 e 7 rodando em Debian 7 e com nenhuma rodou. Segue log de erros:

[code]
andrebian@debian:~/Desktop/Vhost$ java -jar VirtualHost.jar
Exception in thread "main" java.lang.UnsupportedClassVersionError: virtualhost/Visual : Unsupported major.minor version 51.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:634)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:277)
at java.net.URLClassLoader.access$000(URLClassLoader.java:73)
at java.net.URLClassLoader$1.run(URLClassLoader.java:212)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
Could not find the main class: virtualhost.Visual. Program will exit.
[/code]

[2] Comentário enviado por salomaosantos em 05/10/2013 - 12:38h

André, obrigado pelo incentivo. Olha, eu também tenho as duas versões instaladas (JRE/JDK 6 e 7) no meu sistema (Ubuntu), e comigo funciona normalmente.
Pra te ser sincero, não testei em outra versões além destas duas, mas vou dar uma analizada aqui e te dou um retorno, ok... Abraço.

[3] Comentário enviado por andrebian em 05/10/2013 - 13:40h

Bem, só o fato de eu usar Debian já me barra de testar muita coisa nova he he he, Vou testar no meu note com o Ubuntu pra ver se rola.

[4] Comentário enviado por salomaosantos em 08/10/2013 - 21:02h

André, pelo que vimos aqui, rodou normalmente com as versões 6 e 7 do JRE, mas me parece que este erro que você postou indica uma versão abaixo da 6, e por isso, requer alguns ajustes no seu java, ex: update-alternatives --config java (pra selecionar a versão mais recente da tua máquina)...

[5] Comentário enviado por alysonpires em 09/10/2013 - 13:08h

Parabéns, brother. Realmente, não é nenhum bicho de 7 cabeças, mas fica fazendo isso toda hora é chato mesmo ! Uma mão na roda esse aplicativo/programa.

Parabéns novamente.

[6] Comentário enviado por salomaosantos em 10/10/2013 - 08:32h

Valeu Alyson... Abraço.

[7] Comentário enviado por jgama em 14/01/2014 - 18:34h

Puts estranho aqui, estou usando o ubuntu 12.04 e não consigo executar o site.

No meu caso eu crie uma intranet para ser executada só na rede local.

Nem mesmo usando a maquina local consigo acessa http://localhost/Site1/

Agora se tento assim pelo Browser file://var/www/Site1/index.htm é executada a intranet normalmente


Segue abaixo o arquivo criado pelo Vhost

<VirtualHost 192.168.0.4:80>

ServerName ccbsumare.local
ServerAlias www.ccbsumare.local
ServerAlias intranet
DocumentRoot /var/www/Site1/

<Directory "/var/www/Site1/">
##paramsBegin


##paramsEnd
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
Allow from all
</Directory>

CustomLog /var/log/apache2/vhost.log common
ErrorLog /var/log/apache2/error_vhost.log
</VirtualHost>

O que tem que ser feito para funcionar pela rede local?

Editado: a solução foi bem rápida tive que fazer uma pequena alteração no /etc/hosts apontando para IP da maquina

192.168.0.4 ccbsumare.local


Abraço

[8] Comentário enviado por salomaosantos em 14/01/2014 - 22:16h

Boa jgama ... Abração.

[9] Comentário enviado por rgrsoares em 29/01/2014 - 20:19h

Pelo que vi é um ótimo programa. Mas serve para o apache 2.2! Para o 2.4.6 (no Linux Mint 16) não funciona devido a faltar a extensão .conf nos arquivos gerados em /etc/apache2/sites-available. É uma correção bem simples, que fico aguardando para testar e usar direto se der certo. PS: poderia alterar o apache2.conf em /etc/apache2 mas soa como gambiarra, aí prefiro a alteração do programinha para o apache 2.4.6!!!

[10] Comentário enviado por salomaosantos em 29/01/2014 - 20:42h


[9] Comentário enviado por rgrsoares em 29/01/2014 - 20:19h:

Pelo que vi é um ótimo programa. Mas serve para o apache 2.2! Para o 2.4.6 (no Linux Mint 16) não funciona devido a faltar a extensão .conf nos arquivos gerados em /etc/apache2/sites-available. É uma correção bem simples, que fico aguardando para testar e usar direto se der certo. PS: poderia alterar o apache2.conf em /etc/apache2 mas soa como gambiarra, aí prefiro a alteração do programinha para o apache 2.4.6!!!


Olá, rgrsoares

olha, venho trabalhando com ele no Ubuntu 13.10 (Apache 2.4), e não precisei fazer nenhuma "gambiarra"...
Apenas acrescento no campo "detalhes" a seguinte diretiva : Require all granted , com isto tudo funciona normalmente.

Abraço.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts