Header Ads

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

  1. Faça o download dos fontes do web2py(http://mdp.cti.depaul.edu/examples/static/web2py_src.zip) para o seu computador.
  2. Descompacte o zip.
  3. 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.

Nenhum comentário