Todos desenvolvedores web iniciantes gostariam de fazer o apache rodar localmente como fosse um site normal, evitando aquela famosa url “localhost/pasta/projeto”, com seus próprios domínios locais. Nesse tutorial pretendo ajudar a você, que tem dificuldades de montar seu próprio site em seu computador, a configurar corretamente seus Virtual Hosts no Apache. Sendo assim, podendo acessar o seu site por um caminho bem mais acessível no navegador, tornando sua produtividade ainda maior criando virtualhosts.
Após instalado o Apache na sua distribuição Linux, vamos as configurações necessárias:
Crie um novo arquivo vazio dentro de /etc/apache2/sites-available com o nome da sua virtualhost:
$ sudo touch /etc/apache2/sites-available/meuprojeto.local.conf
Abra o arquivo de configurações com o seguinte comando:
$ sudo nano /etc/apache2/sites-available/meuprojeto.local.conf
Para sua virtualhost funcionar, edite o arquivo com o seguinte conteúdo:
Para salvar aperte Ctrl+O e para sair Ctrl+X
ServerName: É o nome que você vai acessar o seu projeto pela url
DocumentRoot: É o caminho onde os arquivos do seu projeto estão
Agora você precisa ativar a sua virtuahost, basicamente ele irá criar um atalho do seu arquivo para a pasta sites-enabled
$ sudo a2ensite meuprojeto.local
Aparecerá a seguinte mensagem:
Enabling site meuprojeto.local.
To activate the new configuration, you need to run:
service apache2 restart
$ sudo service apache2 restart
Pronto, seu site está ativo no Apache, porém ainda não pode ser acessado pela url sem o "localhost".
Agora no terminal digite:
$ sudo nano /etc/hosts
Edite o arquivo "hosts" para que o ServerName que você definiu seja interpretado como um endereço localhost
Para salvar aperte Ctrl+O e para sair Ctrl+X
Pronto, sua virtualhost deve estar funcionado... abra o navegador e digite o ServerName criado por você, ele irá direcionar para o DocumentRoot que você definiu.
Ainda é possível adicionar outras opções no arquivo de configuração:
ServerAdmin webmaster@localhost
E o caminho dos logs:
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
Para cada site ou projeto é preciso configurar uma nova virtualhost, esse tutorial foi escrito e testado especificamente voltado para a distribuição Debian GNU/Linux e seus derivados (Ubuntu, Mint, Elementary, etc). O processo tem que ser exatamente esse, mas vocês podem achar outros métodos de se fazer, por exemplo, para abrir um arquivo não necessariamente deverá ser aberto dentro do terminal com o comando nano. O mesmo pode ser aberto com um editor de arquivos. Cabe a cada um fazer do jeito que mais se sente a vontade, espero que consigam criar e configurar... qualquer dúvida comentem aí!