wiki:BluePrintlivecdinstaller

Version 41 (modified by Fran Boon, 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 E of the Lite headless server/small workstation is available here. Screen captures are available on the appliance page.

The TKLPatch for revision E of Lite is available here. Links to docs for using TKLPatch are on the appliance page.

The Eden-Lite appliance boots to a menu of running services and their ports. Web2py runs on the IP address leased from DHCP while listening simultaneously on 127.0.0.1.

Exiting the configuration console brings up a command prompt, from which one can launch LXDE, a lightweight desktop manager. Launch Firefox and point to http://localhost for web2py or http://localhost/eden.

A revision F is necessary; the update and import scripts in /root do not work as intended. They have been revised and will be incorporated into the F revision.

I also hope to have a Firefox profile preconfigured with Eden as the homepage and with project related links. However, I believe this may be a violation of the EULA for Firefox. Is there anyone that can check this out? I can't make sense of licenses.

Any feedback is welcome as I begin to work out revision F, 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' models/000_config.py
# migrate off
sed -i 's/deployment_settings.base.migrate = True/deployment_settings.base.migrate = False/g' 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?):

# migrate on
sed -i 's/deployment_settings.base.migrate = False/deployment_settings.base.migrate = True/g' 000_config.py
rm -rf /home/web2py/applications/eden/compiled
cd ~web2py
# 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' 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 talk to 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

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.

or

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.

  • 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

As was touched on in the listserv, revisions through C are time consuming time consuming to produce and difficult to maintain. I'd like to deviate from the blueprint, or at least start a dialog about it. I've posted my proposal here.

Revision C for Virtual Box and VMware are available here with usage notes, credentials, build notes, and to do list. Revision C has Eclipse mostly preconfigured. See usage notes and build notes for details.I can only make improvements with your help: Mail me or feed the blueprint.

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.

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.


BluePrints

Note: See TracWiki for help on using the wiki.