[[TOC]] = 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/index.php?option=com_content&view=category&id=20&Itemid=27 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 [http://9while9.com/index.php?option=com_contact&view=contact&id=1&Itemid=13 email]. === Build === '''Note: BZR/Launchpad info is deprecated. Please use GitHub. Thanks ''Jacob, 26/11/12'''''[[BR]] {{{ bzr checkout --lightweight -r 2717 lp:~mdipierro/web2py/devel web2py cd web2py/applications bzr checkout --lightweight -r XXX lp:sahana-eden eden }}} * [ConfigurationGuidelines#FilePermissions File Permissions] * [ConfigurationGuidelines#UsefulAliases Useful Aliases] * [ConfigurationGuidelines#TicketViewer Ticket Viewer] 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 -i x.x.x.x update: python web2py -a -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 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 [[http://9while9.com/index.php?option=com_jdownloads&Itemid=31&view=viewdownload&catid=3&cid=58|TKLPatch]]. To apply the patch, follow either the official [[http://www.turnkeylinux.org/tklpatch|TKLPatch documentation]] or the [[http://9while9.com/index.php?option=com_content&view=section&id=8&Itemid=22|TKLPatch Primer]]. Alternatively, download the [[http://9while9.com/index.php?option=com_jdownloads&Itemid=31&view=viewdownload&catid=6&cid=57|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. * [wiki:InstallationGuidelinesApacheModWSGI Apache/WSGI] * [wiki:InstallationGuidelines/MySQL MySQL] (we have better [wiki:PakistanDeploymentCycle#SysadminToDo tools for handling db migrations] currently) or * [wiki:InstallationGuidelines/PostgreSQL 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 [wiki:BluePrintGISGPSSharing GPS Sharing] tool, for instance. * [wiki:GIS/InstallationGuidelines/Linux] * [http://live.osgeo.org OSGeo LiveDVD] is based on Ubuntu & includes Data. Eden is on the 4.5 version - see the [wiki:BluePrintOSGeoLive OSGeo Live Blueprint] for further details. * [wiki:InstallationGuidelinesApacheModWSGI 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 [wiki:DeveloperGuidelines/Git GitHub]. Thanks ''Jacob, 26/11/12'''''[[BR]] === 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 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 [DevEnvUsageNotes 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, [http://ipython.scipy.org iPython] & Debugging tools: [DeveloperGuidelines/Eclipse Eclipse] & [http://getfirebug.com 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 !GitHub, Trac, web2py book, jquery docs, etc This would replace our [InstallationGuidelinesVirtualMachine 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 cd applications/eden bzr pull -r }}} == Status == Students at [http://www.chelseaschool.edu Chelsea School] are building these for us based on [http://www.turnkeylinux.org TurnKey Linux]. Visit the students' [http://9while9.com project page] for more information. ---- BluePrints