Instalación PyForms

PyForms es el módulo de formularios del SIIM2, este módulo es una aplicación escrita usando web2py, la instalación que realizaremos nos permitirá usar el servidor web apache2 para servir nuestra aplicación.

  • Instalamos el soporte para python de apache2.

# apt-get install libapache2-mod-wsgi python-dev python-babel python-psycopg2

  • Descargamos la aplicación en el directorio /var/www/

# sudo -u www-data git clone https://proyectos.correlibre.org/caliope/siim2_pyforms.git

  • Siguiente, debemos habilitar el servidor wscig en web2py

# sudo -u www-data cp /var/www/siim2_pyforms/web2py/wsgihandler.py.server /var/www/siim2_pyforms/web2py/wsgihandler.py

  • Lo mismo debemos hacer con las rutas de la aplicación

# sudo -u www-data cp /var/www/siim2_pyforms/web2py/routes.py.server /var/www/siim2_pyforms/web2py/routes.py

  • Sólo nos queda faltando configurar la conexión a la base de datos, lo cual debemos hacer en el siguiente archivo.

# sudo -u www-data cp /var/www/siim2_pyforms/web2py/applications/pyforms/models/db.py.example /var/www/siim2_pyforms/web2py/applications/pyforms/models/db.py

  • Finalmente en dicho archivo se ponen las credenciales en el archivo recien copiado.
def connect_to_siim2sgd_db():
    database_name='siim2'
    db_user='postgres'
    db_password='infometrika2013'
    #Al final del archivo configurar BIRT_LOCATION 
    BIRT_LOCATION = 'siim2.infometrika.net:8080/birt/'
  • Ahora debemos agregar el soporte en el archivo /etc/apache2/sites-available/default
WSGIDaemonProcess web2py user=www-data group=www-data display-name=%{GROUP}
        WSGIProcessGroup web2py
        WSGIScriptAlias /py /var/www/siim2_pyforms/web2py/wsgihandler.py

        <Directory /var/www/siim2_pyforms/web2py>
                AllowOverride None
                Order Allow,Deny
                Deny from all
                <Files wsgihandler.py>
                        Allow from all  
                </Files>
        </Directory>

        AliasMatch ^/([^/]+)/static/(.*)            /var/www/siim2_pyforms/web2py/applications/$1/static/$2
        <Directory /var/www/siim2_pyforms/web2py/applications/*/static/>
                Order Allow,Deny
                Allow from all
        </Directory>
  • Finalmente debemos reiniciar el servidor apache.
# service apache2 restart