Como subir mi aplicacion a alwaysdata
format: pdf txtEn mi corta experiencia como desarrollador sobre web2py, mi dificultad estuvo el día que tenía que subir mi aplicación a la web.
Es realmente el único punto en el que pierde comparandolo con cualquier framework de PHP... No es un problema inherente a web2py, sino a la escasa oferta de hosting para nosotros y muyyyy amplia para PHP...
Pero ya está aquí la solución, por lo menos para uno de los hosting que lo permiten: https://alwaysdata.com/
Aclaraciones:
- Todas las consideraciones que se harán presuponen que el usuario esta utilizando un SO GNU/Linux
- si no tienes una cuenta paga en alwaysdata (yo utilizo una de 10GB por 9 euros al mes) debes utilizar un web2py capado. Esto es minimalista, con pocas cosas... yo lo obtuve eliminando todas las aplicaciones, dejando solo la propia y no recuerdo bien borrando que otras cosas... pero eso lo busque por ahí en internet.
- alwaysdata te permite configurar cuentas de ftp, ssh... yo utilizo la de ssh.
- puedes iniciar una sesión ssh contra alwaysdata con la siguiente sintaxis
ssh miNombreDeUsuario@ssh.alwaysdata.com
- Con tu cuenta SSH puedes copiar archivos desda/hacia tu computadora/el servidor de alwaysdata de un modo muy simple y seguro... (es utilizando en comando scp)
scp web2py.zip miNombreDeUsuario@ssh.alwaysdata.com:////home/miNombreDeUsuario/rutaDestino
Explico un poco:
- mi archivoDeOrigen es la ruta completa al archivo que se desea "subir". Para tener una idea más completa sobre la ritaDestino sería prudente inicar una sesión SSH contra el servidor (ver punto anterior) y recorrer el sistema de archivos... pero no hay nada muy diferente de lo que puedes ver en cualquier home
- Si te interesa copiar desde el servidor hacia tu computadora inviertes el orden de los parámetros... lo mismo que haces con el comando cp
Con estas consideraciones estamos en condiciones de arrancar:
Como subir la aplicacion¶
- comprime tu carpeta web2py (en ella está todo, incluso la aplicación) (ojo: ver aclaración número 1)
- copia por ssh (aclaración 4) el archivo comprimido al servidor:
scp web2py.zip miNombreDeUsuario@ssh.alwaysdata.com:////home/miNombreDeUsuario
de este modo el archivo comprimido estará en la carpeta destino.
- Inicia una sesión SSH con el servidor (aclaración 3)
- Una vez iniciada la sesión descomprime el archivo (unzip). Con ello estará creado el directorio web2py en tu home
- Dentro del directorio web2py crea otro de nombre public
- En la caprta public debemos crear dos archivos:
- web2py.fcgi (con permiso de ejecución)
#!/usr/bin/python
import os, sys
_PROJECT_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.insert(0, _PROJECT_DIR)
os.chdir(_PROJECT_DIR)
import gluon.main
import gluon.contrib.gateways.fcgi as fcgi
fcgi.WSGIServer(gluon.main.wsgibase, environ={'web2py_path': _PROJECT_DIR}).run()
- .htaccess
AddHandler fcgid-script .fcgi
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ web2py.fcgi/$1 [QSA,L]
- Creamos el archivo routes.py en web2py con es siguiente contenido:
#!/usr/bin/python # -*- coding: utf-8 -*- default_application = 'elNombreDeMiAplicacion' default_controller = 'default' default_function = 'index'
Te puede interesar ver esto sobre: reescrituraURL.
- Hasta aquí las tareas en archivos, ahora la configuración de la cuenta de alwaysdata: desde el panel de administración de alwaysdata se debe cambiar la ruta por defecto para el servidor web. Actualmente es /www; debe ser /web2py/public (esto se hace desde el link de la izquierda que dice DOMAINS)
Esto debería ser todo....
Documents (0)
click to toggleComments (0)
click to togglePost a comment: