- What additional software is required before installing the mashup platform?
EzWeb relies on:
- python 2.4 or higher execution environment
- django 1.0 web framework
- a django-supported Relational database management system (mysql, postgreql, sqlite)
- python database driver for the selected database server
- pyxml library
- How to install (installable package)?
Currently, EzWeb has only one distribution package for .deb compatible Linux distributions (mainly Debian, Ubunty, Knoppix)
To install it, follow this tutorial
- How to install (from the latest source code)?
For installation instructions, read this manual
- How to run EzWeb (developer installation)?
Once EzWeb is installed, it's time to run the platform. Running the development server it's a very simple task. Go to the EzWeb directory (/usr/share/ezweb-platform if you installed with the debian pakcage) and run: python manage.py runserver
This installation is a very simple and limited one. It only allow one simultaneous request at the same momment (when processing a request, it's not possible to make another request to the same platform). Despite it's limitations, is very usefull for getting stated with EzWeb.
- How to run EzWeb (production installation)?
There are several ways for installing EzWeb in a production environment. However, all of them can be summed up in two:
- Running EzWeb in a python interpreter inside the Web Server. This is closely related with Apache mod_python. Apache, with mod_python, can load a python interpreter inside the Web Server. So, it's only needed to specify in the Apache virutal-host configuration file, which URI provides access to the python application. See the following example:
<Location /> SetHandler python-program PythonHandler django.core.handlers.modpython SetEnv DJANGO_SETTINGS_MODULE settings PythonPath "['/usr/share/ezweb-platform'] + sys.path" </Location> Alias /media /usr/share/python-support/python-django/django/contrib/admin/media Alias /site-media /usr/share/ezweb-platform/media Alias /repository /var/www/gadgets
Inserting the above lines in a Apache virtual host, when a user access to the root (<Location />) of the server the EzWeb index will appear.
The Alias sentences make Apache serving the media files (releasing python server of serving them)
- Running EzWeb django application and the Web Server independently. This is the best option. Each server (django server and web server) make exactly what the were created for: Web server, serves static files and redirect dinamic request to django; django server implements dynamic functionality.
In the python world, there are 2 main ways for connecting Web Servers with python applications (fast-cgi and wsgi). At Morfeo, fast-cgi option has been tested intensely gathering very good performance in every sense and great stability. However, WSGI option completely open the web server to the python world, so a lot of very interested software can be placed between the web server and the final python server (software for routing request, escalability, security, transactional capabilities, etc etc)
At Morfeo, we used fast-cgi option due to it's simplicity. In addition, it doesn't require any additional software (WSGI requires, at least, a WSGI server).
- How to use a proxy with EzWeb?
- How to administer the platform?
- How to provide feedback to the EzWeb development team?
- What authentication methods does the EzWeb platform allow?