Version 56 (modified by 12 years ago) ( diff ) | ,
---|
Table of Contents
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
Status
First draft is complete. TKLPatch produces Eden server from TurnKey Linux LAPP 11.1 (Ubuntu Lucid). Resulting ISO provides ssh/sftp, shellinabox, and Webmin, along with Apache2 and PostgreSQL preconfigured with Sahana Eden. Both the TKLPatch and the derivative ISO are available for review and download from http://9while9.com.
Usage Notes
Download the Eden LAPP TKLPatch.
To apply the patch, follow either the official TKLPatch documentation or the TKLPatch Primer.
Alternatively, download the Eden LAPP ISO. To install to bare metal or use as a LiveCD, burn the ISO to CD-ROM. Alternatively, use the ISO to build a virtual machine using your preferred virtualization platform.
The install process involves partitioning the disk, setting the root user password and the postgres password, and downloading security updates.
To Do
Add administrative scripts to /usr/local/bin.
Specs
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
Status
Eden install script completed in collaboration with Rik Goldman, Fran Boon, and students from Chelsea School.
Spec
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 is on the 4.5 version - see the OSGeo Live Blueprint for further details.
- 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
Note: BZR/Launchpad info is deprecated. Please use GitHub. Thanks Jacob, 26/11/12
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.