Estou tentando criar um host virtual em Apache
in Ubuntu
(em uma máquina virtual), mas não consigo obtê-lo. Eu fiz um monte de configurações, mas qualquer um deles me deu qualquer resultado, então eu criei uma nova máquina virtual para fazer isso desde o início. Vou colocar aqui todo o processo passo a passo para que todos vocês possam seguir o que estou fazendo de errado.
O que eu tenho
- VirtualBox
- Ubuntu 14.04 (máquina virtual no VirtualBox)
- Eu instalei o Apache no Ubuntu (
sudo apt-get install apache2
)
O que eu preciso
-
Quando eu escrevo o url ejemplo.es
no meu navegador, o arquivo que eu criei na minha pasta VirtualHost
será exibido e não a página que está no www.ejemplo.es
(que não é meu).
-
Use o arquivo hosts
na pasta /etc
em vez da configuração do DNS.
O que eu tentei
- Primeiro de tudo: altere o diretório raiz do meu servidor
Primeiro de tudo, o que eu preciso é fazer com que meu diretório raiz do meu servidor seja /var/www/extras
, então criei este novo diretório em /var/www
.
sudo mkdir /var/www/extras
e crie um index.html
com algum texto.
Depois de criar o novo diretório, preciso alterar meu arquivo 000-default.conf
para alterar a diretiva DocumentRoot
.
sudo gedit /etc/apache2/sites-available/000-default.conf
e altere a diretiva DocumentRoot
da seguinte forma:
DocumentRoot /var/www/extras
e depois disso eu reinicio o Apache
para salvar minhas alterações:
sudo /etc/init.d/apache2 restart
e modifique o bloco Directory
no arquivo apache2.conf
sudo gedit /etc/apache2/apache2.conf
de <Directory /var/www/html>
a <Directory /var/www/extras>
e reinicie Apache
novamente.
- Segundo passo: criar a pasta e o arquivo do host virtual que desejo criar
Dentro do diretório /var/www/extras
, vou criar uma nova pasta ( ejemplo.es
), que será a pasta do meu host virtual.
sudo mkdir /var/www/extras/ejemplo.es
e dentro dele um arquivo index.html
como eu criei para o diretório raiz do meu servidor com o texto "This is an example"
.
Depois disso, se eu for ao navegador e escrever localhost/ejemplo.es
, posso ver o conteúdo do arquivo que criei na etapa anterior. Mas o que eu quero é acessar o mesmo conteúdo, mas digitando ejemplo.es
em vez de localhost/ejemplo.es
.
- Etapa final: configure o host virtual
Eu preciso criar um novo arquivo em /etc/apache2/sites-available
com a configuração do meu host virtual.
sudo gedit /etc/apache2/sites-available/ejemplo.es.conf
com a seguinte configuração:
<VirtualHost 10.0.2.15:80>
ServerAdmin [email protected]
ServerName ejemplo.es
ServerAlias www.ejemplo.es
DocumentRoot /var/www/extras/ejemplo.es
</VirtualHost>
e no arquivo apache2.conf
, alterarei IncludeOptional sites-enabled/*.conf
para Include sites-enabled/*.conf
. (Isso foi uma prova para ver se talvez meu Apache
não incluiu esta pasta e poderia ser a posibilidade de que meu VirtualHost
não funcionou para isso).
Agora tenho que ativar o VirtualHost que criei:
sudo a2ensite ejemplo.es
e reinicie o Apache
para salvar as alterações que fiz:
sudo /etc/init.d/apache2 restart
Se eu listar o conteúdo da pasta /etc/apache2/sites-enabled
, poderei ver que meu VirtualHost
está ativo agora ( ls
comando para esta pasta).
Para finalizar, adiciono uma nova linha no meu arquivo hosts ( sudo gedit /etc/hosts
):
10.0.2.15 ejemplo.es
agora o arquivo tem três linhas com IP's:
127.0.0.1 localhost
127.0.1.1 user
10.0.2.15 ejemplo.es
e algumas linhas abaixo começam com ff00...
, mas acho que não são relevantes para o meu propósito.
E, finalmente, tenho que executar o seguinte comando para salvar minhas últimas alterações:
sudo /etc/init.d/networking restart
mas eu recebo a página padrão de www.ejemplo.es
em vez do arquivo que eu coloquei na minha pasta VirtualHost
.
Tenho certeza de que estou fazendo algo errado, mas não consigo descobrir onde. É a primeira vez que eu crio um VirtualHost
e todos os tutoriais que eu vi tiveram esses passos, então acho que estou perdendo alguma coisa.
Espero que você possa seguir meus passos e perguntar se você tem alguma dúvida sobre a configuração que eu fiz.
Obrigado antecipadamente!