Version 49 (modified by 14 years ago) ( diff ) | ,
---|
Blueprint for LiveCD & Installer
A Live CD (probably based on Ubuntu) that can be used to demo and deploy a Sahana Eden instance.
The same CD can be used to build Virtual Machines.
We want 4 different builds:
- Lite
- Normal
- GIS
- Dev
Build notes are being maintained at http://9while9.com.
Lite
Designed to provide a quick LiveCD demo of functionality without needing any installation.
Can also be run headless as a simple server to be accessed by host's Web browser & perhaps 1-2 other users on a small LAN.
- Python
- Rocket (i.e. web2py's native webserver)
- Sqlite (i.e. Python's native DB)
Status
Revision A is now available at http://9while9.com 9while9.com. This revision eliminates the GUI desktop and commits to being a headless Lite web2py server. Command line access is available using shellinabox, from which root user can execute update scripts.
The Eden-Lite appliance boots to a menu of running services and their ports. Web2py listens on port 80 of the configured interface.
The web2py admin interface is not accessible with this revision.
Exiting the configuration console brings up a command prompt.
From my testing, it appears one script needs revised: /usr/bin/local/import.
Any feedback is welcome as I begin to work out revision B, which I hope will be the final revision. I'm on irc as nick ghoulmann, and may also be contacted by email.
Build
bzr checkout --lightweight -r 2717 lp:~mdipierro/web2py/devel web2py cd web2py/applications bzr checkout --lightweight -r XXX lp:sahana-eden eden
1st run:
cd ~web2py # migrate/import python web2py.py -S eden -M -R applications/eden/static/scripts/tools/noop.py # prepop off sed -i 's/deployment_settings.base.prepopulate = True/deployment_settings.base.prepopulate = False/g' applications/eden/models/000_config.py # migrate off sed -i 's/deployment_settings.base.migrate = True/deployment_settings.base.migrate = False/g' applications/eden/models/000_config.py # compile python web2py.py -S eden -R applications/eden/static/scripts/tools/compile.py
Run with password & NIC bound to real IP (need to work out how to find this out):
python web2py.py -a <password> -i x.x.x.x update: python web2py -a <password> -i 0 127.0.0.1
Grabbing the ip for insert into 000_config.py
hostname -i | sed 's/127.0.0.1 //'
Updates
Need a way to keep the system updated easily (web2page?):
cd ~web2py # migrate on sed -i 's/deployment_settings.base.migrate = False/deployment_settings.base.migrate = True/g' applications/eden/models/000_config.py rm -rf applications/eden/compiled # migrate python web2py.py -S eden -M -R applications/eden/static/scripts/tools/noop.py # dbstruct (not needed for sqlite) # migrate off sed -i 's/deployment_settings.base.migrate = True/deployment_settings.base.migrate = False/g' applications/eden/models/000_config.py # compile python web2py.py -S eden -R applications/eden/static/scripts/tools/compile.py
Online Profile
In order to have full control of what a remote system has, without the need for user intervention, we should have each instance check an online profile from which it reads what it needs to do:
- Version of Eden
- Version of Web2Py
- Upgrade scripts
- 000_config settings
- modules enabled
- Reference data to import
- Data migration if schema change requires it
- 000_config settings
This would be a scheduled task.
Normal
Designed to be run headless in an office of up to 50 users with poor quality Internet...would be a dedicated machine if a lot of users.
- Apache/WSGI
- MySQL (we have better tools for handling db migrations currently)
or
- PostgreSQL (better for being common to GIS)
GIS
Designed to be run headless in an office of up to 50 users with poor quality Internet...would be a dedicated machine if a lot of users.
Useful for the GPS Sharing tool, for instance.
- InstallationGuidelinesGISData
- OSGeo LiveDVD is based on Ubuntu & includes Data. Eden may be on the next version.
- Apache/WSGI
- PostGIS
- GeoServer
- osmosis
- Mapnik
- DATA
- Scripts to download content by geographic area (ideally these would be added to Sahana UI for use outside this environmonet too, but that could come later)
- OpenStreetMap
- Contours
Dev
Status
Revision J is complete. It fixes a problem with Pydev configuration and includes usage notes for the end-user. LXDE serves as the lightweight desktop environment. Webmin and SSH are bundled with the distro. Documentation had been developed and is currently available at http://9while9.com. It will be migrated to this wiki.
The dev env can launch Eclipse and Firefox with Firebug. irssi is incorporated and pre-configured to log in to #sahana-eden on irc.freenode.net.
Documentation for the end user should be separated from the documentation for the Eden team.
Deprecated: Note that the dev env serves as a headless Eden server from startup. Simply exit the confconsole, log in, and startx to enter the gui development environment. See the usage notes for details.
Spec
Designed for use in Training sessions where we want to get a number of people on diverse equipment operational quickly. Should include a Desktop, iPython & Debugging tools: Eclipse & Firebug.
Eclipse needs configuring to support Web2Py & Web2Py would normally be run from Eclipse's Debug mode.
Homepage of Firefox would be set to http://127.0.0.1:8000/eden
Firefox should include useful bookmarks such as Launchpad, Trac, web2py book, jquery docs, etc
This would replace our existing Dev VM.
Build
bzr branch -r 2717 lp:~mdipierro/web2py/devel web2py cd web2py/applications bzr branch -r XXX lp:sahana-eden eden
Updates
'update' alias
cd web2py bzr pull -r <revision> cd applications/eden bzr pull -r <revision>
Status
Students at Chelsea School are building these for us based on TurnKey Linux. Visit the students' project page for more information.