Agora estamos quase prontos para colocarmos no ar o skeleton application! A última coisa
que vamos fazer é configurar virtual host Apache. Um virtual host significa
que você pode executar vários sites na mesma máquina. Os sites são diferenciados pelo
o nome do domínio (por exemplo site.meudominio.com
e site2.meudominio.com
) ou
pelo número da porta (como localhost
e localhost:8080
). O virtual hosts funcionam de maneira
transparente, isso significa que os usuários não têm idéia se os sites estão na mesma maquina ou em outra.
Atualmente, temos o skeleton application dentro do seu computador. Para configurar o Apache precisamos editar o arquivo do virtual host.
O arquivo host virtual pode estar localizado em uma pasta diferente, dependendo do seu tipo de sistema operacional. Por exemplo, no Linux Ubuntu ele está localizado no arquivo
/etc/apache2/sites-available/000-default.conf
. Para informações específicas de cada sistema operacional e de virtual hosts, consulte Appendix A. Configuring Web Development Environment.
Vamos agora editar o arquivo padrão do virtual host para que fique parecido com o arquivo abaixo (supomos que você esteja usando o Apache v2.4):
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /home/username/helloworld/public
<Directory /home/username/helloworld/public/>
DirectoryIndex index.php
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
A linha 1 do arquivo faz com que o Apache veja todos os endereços IP (*) na porta 80.
A linha 2 define o endereço de e-mail do webmaster. Se algo de ruim acontece com o site, o Apache envia um e-mail de alerta para esse endereço. Você pode digitar seu e-mail Aqui.
A linha 4 define o diretório raiz do documento (APP_DIR/public
). Todos os arquivos e diretórios
sob a raiz do documento serão acessíveis por usuários da web. Você deve definir
este é o caminho como absoluto para o diretório public
do skeleton application's.
Então, os diretórios e arquivos dentro de public
(como index.php
, css
, js
, etc.)
estará acessível, enquanto diretórios e arquivos acima do diretório public
(como
config
, module
, etc.) não serão acessíveis por usuários da web, o que aumenta a
segurança do site.
As linhas 6 a 10 definem regras para o diretório raiz do documento (APP_DIR/public
). Por exemplo, o DirectoryIndex
informa ao Apache que index.php deve ser como o index padrão.O AllowOverride All
permite definir qualquer regra em arquivos .htaccess
.
Zend Framework 3 utiliza o mod rewrite para reescrever a URL do Apache e para redirecionar os usuários para o script do seu site. Cerifique-se que seu servidor tem o
mod_rewrite
habilitado. Para obter instruções sobre como ativar, por favor consulte Appendix A. Configuring Web Development Environment.
Depois de editar o arquivo de configuração, não esqueça de reiniciar o Apache para verificar suas alterações.