Estou desenvolvendo um aplicativo da web para dispositivos móveis usando o Django. Atualmente eu posso iniciar o servidor de desenvolvimento do Django assim:
python ./manage.py runserver <my-ip>:8000
Quando faço isso, recebo uma janela pop-up no meu Mac que diz:
Do you want the application "python" to accept incoming network connections?
Se eu clicar no botão Permitir e, em seguida, inserir o URI ": 8000", posso acessar o website pelo celular.
No entanto, há momentos em que gostaria de ver páginas HTML simples no meu telefone também. Para esse fim, criei uma chamada de host virtual Apache "localdev" que é mapeada para meu diretório / www:
# /etc/apache2/httpd.conf
...
DocumentRoot "/www"
...
<Directory "/www">
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
...
Include /private/etc/apache2/extra/httpd-vhosts.conf
# /etc/apache2/extra/httpd-vhosts.conf
NameVirtualHost *:80
<VirtualHost *:80>
DocumentRoot "/www"
ServerName localdev
ErrorLog "/private/var/log/apache2/localdev_error_log"
CustomLog "/private/var/log/apache2/localdev_access_log" common
<Directory "/www">
DirectoryIndex index.html
</Directory>
</VirtualHost>
Se eu tiver um site em / www / mysite, posso acessá-lo no meu Mac usando este URI:
http://localdev/mysite/index.html
No entanto, se eu tentar acessar o site virtualhost no meu telefone com este URI:
<my-ip>/mysite/index.html
... recebo esta mensagem:
Forbidden
You don't have permission to access /mysite/index.html on this server
Eu tenho duas perguntas, sendo a primeira mais importante:
-
Como posso acessar este site pelo meu telefone? Esta parece ser uma mensagem de erro do Apache bastante comum que pode ser causada por qualquer número de coisas. Eu li muitos artigos sobre isso, mas não consegui resolver o problema. O que estou fazendo de errado? Como posso acessar o site pelo navegador do meu computador, mas não pelo meu telefone, acho que talvez seja um problema de firewall do OS X.
-
Existe alguma maneira de configurar meu firewall do OS X (Mavericks) para que, quando eu iniciar o servidor de desenvolvimento do Django, meu computador permita conexões de entrada automaticamente e eu não receberei a janela pop-up que descrevi? acima? Eu fui em Preferências do Sistema > Segurança & Privacidade > Opções de Firewall e selecione "Permitir conexões de entrada" das três conexões "python" mostradas, mas ainda estou recebendo a janela pop-up.