Version 53 (modified by Fran Boon, 14 years ago) ( diff )


Configuration Guidelines

How to configure a new instance.

File Permissions

chown www-data web2py/applications/admin/cron
chown www-data web2py/applications/admin/cron/crontab
chown www-data web2py/applications/admin/cache/
chown www-data web2py/applications/admin/databases/
chown www-data web2py/applications/admin/errors/
chown www-data web2py/applications/admin/languages/
chown www-data web2py/applications/admin/sessions/
chown www-data web2py/applications/admin/uploads/
cd web2py/applications
bzr branch lp:sahana-eden eden
chown www-data eden/cron
chown www-data eden/cache/
chown www-data eden/databases/
chown www-data eden/errors/
chown www-data eden/languages/
chown www-data eden/sessions/
chown www-data eden/static/img/markers
chown www-data eden/static/scripts/tools
chown www-data eden/static/styles/S3/sahana.css
chown www-data eden/static/styles/S3/sahana.min.css
chown www-data eden/uploads/
mkdir eden/uploads/gis_cache
mkdir eden/uploads/images
mkdir eden/uploads/tracks
chown www-data eden/uploads/gis_cache
chown www-data eden/uploads/images
chown www-data eden/uploads/tracks

Database Setup

Production system should use [InstallationGuidelinesMySQL MySQL]:

  • Edit models/


Before the 1st login, edit models/


Configurable Options

These can be set via

  • Admin Name/Email/Tel
  • Debug: improve performance by deselecting this option.
  • Self-Registration: disable Self-Registration by deselecting this option.
  • Audit Read: Enable Auditing of all Read operations (Display)
  • Audit Write: Enable Auditing of all Write operations (Create/Update/Delete)

In time these will be configured by Web Setup.

Some Auth options are currently only configurable via editing {{models/}}:

auth.settings.registration_requires_approval        # Don't do this until after 1st admin user registered!

In time we could expose to a Web-based admin page, although it's low priority as these are mostly installation-time decisions.

Disable unnecessary modules, which is currently done in 2 areas:

  1. Hide the menus (to reduce UI clutter):
    • WebUI: /sahana/appadmin/index
    • Table: db.s3_module
  2. Disable the Models (to speed up performance):
    • edit file models/
    • section: shn_module_enable
  3. Can also reorganise the Modules menu completely to better display those relevant to the instance:
    • edit file models/
    • section: s3.menu_modules

If you wish to hide some fields which you don't want to confuse your system, then you can do something like this models/ instead of amending the main model (this means that future merges from trunk won't clobber your changes):

# Hide unnecessary fields
table = 'pr_person'
db[table].pr_pe_label.readable = False
db[table].pr_pe_label.writable = False
db[table].local_name.readable = False
db[table].local_name.writable = False
db[table].opt_pr_gender.readable = False
db[table].opt_pr_gender.writable = False
db[table].opt_pr_age_group.readable = False
db[table].opt_pr_age_group.writable = False
db[table].email.readable = False
db[table].email.writable = False
db[table].mobile_phone.readable = False
db[table].mobile_phone.writable = False
db[table].date_of_birth.readable = False
db[table].date_of_birth.writable = False
db[table].opt_pr_nationality.readable = False
db[table].opt_pr_nationality.writable = False
db[table].opt_pr_country.readable = False
db[table].opt_pr_country.writable = False
db[table].opt_pr_religion.readable = False
db[table].opt_pr_religion.writable = False
db[table].opt_pr_marital_status.readable = False
db[table].opt_pr_marital_status.writable = False
db[table].occupation.readable = False
db[table].occupation.writable = False

Mapping Options


Default Map Portal:

  • Lat
  • Lon
  • Zoom

Bounds of relevant area:

  • Min Lon
  • Max Lat
  • Min Lon
  • Max Lat

Selecting Base Layers:

Test out whether OpenStreetMap, Google, Yahoo or Bing have the best road maps & Satellite imagery

API Keys for Google, Yahoo & MultiMap layers:

Import Admin Boundaries:


By default the 1st user to register will gain the Administrator role.

All other users have just the 'Authenticated' level of access, which by default allows full Read/Update/Delete access to all records.

To add roles to users, go to the Administration menu & within User Management choose 'Membership'.

Security policy is configured in models/

favicon.ico & robots.txt

These can be provided via 2 different means:

  • mod_rewrite
  • web2py/ copy & edit


Ensure these files are writable by the webserver:

chown www-data /path/to/web2py/applications/sahana/static/scripts/tools
chown www-data /path/to/web2py/applications/sahana/static/styles/S3/sahana.css
chown www-data /path/to/web2py/applications/sahana/static/styles/S3/sahana.min.css

Colour scheme:

  • select using Admin Panel


  • copy new logo to static/img
  • point to this using Admin Panel


  • copy new footer to views/
  • point to this using Admin Panel


Error pages

Add the following to of your web2py installation for pretty error pages.

routes_onerror = [
        ('eden/401', '/eden/default/user/login'),
        ('eden/*', '/eden/errors/index'),
        ('*/*', '/eden/errors/index'),

Internet Hosting

Can switch to having users download files from CDNs instead of your server.
This can improve performance in 2 ways:

jQuery from Google by uncommenting the line in views/sahana_scripts_min.html

ext-all.js & ext-all.css from Cachefly by uncommenting the lines in views/gis/gis_scripts_min.html & views/gis/ol_js_loaders.html

Performance Optimisation


Attachments (5)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.