Hospedando sua aplicação Web2Py
Aqui vão os passos para colocar o web2py em sua hospedagem:
Ob.: Estou usando um plano de hospedagem(TeHospedo) em um servidor Linux, com acesso ao SSH ativado.
A) Upload do web2py
- Faça o download dos fontes do web2py(http://mdp.cti.depaul.edu/examples/static/web2py_src.zip) para o seu computador.
- Descompacte o zip.
- Faça o Upload(FTP) de todo o diretório web2py para a pasta home do seu usuario, devendo ficar depois do upload nessa seguinte estrutura: /home/nomeDoSeuUsuario/web2py
B) Criação do arquivo dispatch.fcgi
Se conecte via SSH e na pasta public_html (/home/nomeDoSeuUsuario/public_html) e crie um arquivo com o nome dispatch.fcgi com o seguinte conteúdo:
#! /usr/bin/python2.5
import sys
import os
os.chdir('/home/nomeDoSeuUsuario/web2py')
path=os.path.normpath('/home/nomeDoSeuUsuario/web2py/')
if not path in sys.path: sys.path.append(path)
import gluon.main
import gluon.contrib.gateways.fcgi as fcgi
application=gluon.main.wsgibase
if __name__=='__main__':
from fcgi import WSGIServer
WSGIServer(application).run()
Salve e feche o arquivo e atribua permissão de execução nele, ou seja, de um chmod +x dispatch.fcgi no shell.
C) Criação/Edição do arquivo .htaccess
Ainda na pasta public_html crie ou edite o arquivo .htaccess deixando ele com o seguinte conteúdo:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^dispatch\.fcgi/ - [L]
RewriteRule ^(.*)$ dispatch.fcgi/$1 [L]
</IfModule>
Para testar e criar a senha para o admin eu executei o script .dispatch.fcgi no console uma única vez antes de acessar o meu dominio, Então ainda no shell(e na pasta public_html) execute o comando ./dispatch.fcgi e informe a senha quando solicitado.
Pronto, basta acessar o seu dominio para ver a aplicação welcome funcionar.
D) Ajustes finais para o admin funcionar.
Lendo os fontes, percebi que o admin precisa estar rodando sobre SSL(https) então se você tentar acessar o seu dominio/admin vai receber uma mensagem de erro. Para contornar esse problema, você pode fazer uma "solução prática e objetiva"(gambiarra) editando o arquivo /
home/nomeDeSeuUsuario/web2py/applications/admin/controllers/default.py e comentando o trecho de código que faz esse tratamento ( o primeiro if/elif localizado no arquivo) e também criando uma
cópia do arquivo /home/nomeDeSeuUsuario/web2py/parameters_8000.py e salvando-a como /home/nomeDeSeuUsuario/web2py/parameters_80.py
Buenas, era isso, qualquer dúvida, sugestão, critica, por favor postem aqui para que possamos melhorar este mini-howto.
Post a Comment