Como acessar o host virtual Apache do celular?

1

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:

  1. 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.

  2. 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.

por Jim 10.06.2014 / 17:11

1 resposta

0

Você está realmente incluindo o arquivo em que seus hosts virtuais estão definidos? Da sua pergunta:

Include /private/etc/apache2/extra/httpd-vhosts.conf

vs

# /etc/apaches/extra/httpd-vhosts.conf

Os caminhos dos arquivos são diferentes, fazendo parecer que você não está realmente incluindo o arquivo em que você tem suas definições de host virtual.

    
por 10.06.2014 / 17:17