diff --git a/02-sahana.sh b/02-sahana.sh index b49aadd..79367d7 100644 --- a/02-sahana.sh +++ b/02-sahana.sh @@ -11,10 +11,10 @@ git -C /srv/sahana checkout cda35fd git -C /srv/sahana submodule update # Install Sahana -git clone https://github.com/sahana/eden.git /srv/sahana/applications/eden +git clone --depth 1 https://github.com/sahana/eden.git /srv/sahana/applications/eden # Create PostgreSQL user and database -export SAHANA_PWD=$(head -c 260 /dev/urandom | tr -cd '[:alnum:]' | head -c 26) +export SAHANA_PWD=$(head -c 18 /dev/urandom | base64) envsubst <${SOURCE_DIR}/sahana/tmp/sahana-createdb.sql >/tmp/sahana-createdb.sql sudo -u postgres psql -f /tmp/sahana-createdb.sql rm -f /tmp/sahana-createdb.sql @@ -28,9 +28,11 @@ ln -s /srv/sahana/handlers/wsgihandler.py /srv/sahana/wsgihandler.py mkdir /srv/sahana/applications/eden/{databases,errors,sessions} mkdir -p /srv/sahana/applications/eden/static/cache/chart mkdir -p /srv/sahana/applications/eden/uploads/{gis_cache,images,tracks} -export SAHANA_HMAC=$(head -c 260 /dev/urandom | tr -cd '[:alnum:]' | head -c 26) +export SAHANA_HMAC=$(head -c 18 /dev/urandom | base64) +export SAHANA_ADMIN_PWD=$(head -c 18 /dev/urandom | base64) envsubst <${SOURCE_DIR}/sahana/srv/sahana/applications/eden/models/000_config.py >/srv/sahana/applications/eden/models/000_config.py #cp ${SOURCE_DIR}/sahana/srv/sahana/applications/eden/modules/templates/default/config.py /srv/sahana/applications/eden/modules/templates/default/config.py +envsubst <${SOURCE_DIR}/sahana/srv/sahana/applications/eden/modules/templates/default/users/masterUsers.csv >/srv/sahana/applications/eden/modules/templates/default/users/masterUsers.csv cp ${SOURCE_DIR}/sahana/srv/sahana/applications/eden/languages/cz.py /srv/sahana/applications/eden/languages/cz.py # Patch bugs @@ -52,12 +54,6 @@ sed -i 's/settings.base.migrate = True/settings.base.migrate = False/' /srv/saha sed -i 's/#settings.base.prepopulate = 0/settings.base.prepopulate = 0/' /srv/sahana/applications/eden/models/000_config.py sudo -u sahana python web2py.py -S eden -M -R applications/eden/static/scripts/tools/compile.py -# Create admin account -export SAHANA_ADMIN_HASH=$(python ${SOURCE_DIR}/sahana/sahana-password-hash.py) -envsubst <${SOURCE_DIR}/sahana/tmp/sahana-adminaccount.sql >/tmp/sahana-adminaccount.sql -sudo -u postgres psql -f /tmp/sahana-adminaccount.sql sahana -rm /tmp/sahana-adminaccount.sql - # Create uwsgi and nginx app definition cp ${SOURCE_DIR}/sahana/etc/uwsgi/apps-available/sahana.ini /etc/uwsgi/apps-available/sahana.ini ln -s /etc/uwsgi/apps-available/sahana.ini /etc/uwsgi/apps-enabled/sahana.ini @@ -68,8 +64,6 @@ ln -s /etc/nginx/apps-available/sahana /etc/nginx/apps-enabled/sahana systemctl restart uwsgi systemctl restart nginx -# TODO: Set cgroups - # TODO: Does matplotlib still require MPLCONFIGDIR directory? # If so, /srv/sahana/wsgihandler.py needs to be modified @@ -85,3 +79,10 @@ systemctl restart nginx # WARNING: Unresolved optional dependency: pyserial required # WARNING: S3Msg unresolved dependency tweepy required for non-Tropo Twitter support # WARNING: Message Parsing unresolved dependency: TwitterSearch required for fetching results from twitter keyword queries + +# TODO: remove default web2py apps + +# TODO: Development notes - to be deleted +# vi /srv/sahana/applications/eden/modules/templates/default/config.py +# vi /srv/sahana/applications/eden/modules/s3cfg.py +# sudo -u sahana /srv/sahana/web2py.py -i 192.168.2.202 -a sahana --nogui diff --git a/sahana/sahana-password-hash.py b/sahana/sahana-password-hash.py deleted file mode 100644 index ede54c4..0000000 --- a/sahana/sahana-password-hash.py +++ /dev/null @@ -1,8 +0,0 @@ -#!/usr/bin/env python - -import os -import sys -sys.path.append('/srv/sahana') - -from gluon import CRYPT -print str(CRYPT(key=os.environ['SAHANA_HMAC'], digest_alg='sha512')('ZsG:nzP4Tv@AdX1L')[0]) diff --git a/sahana/srv/sahana/applications/eden/models/000_config.py b/sahana/srv/sahana/applications/eden/models/000_config.py index 391b491..09b55ed 100644 --- a/sahana/srv/sahana/applications/eden/models/000_config.py +++ b/sahana/srv/sahana/applications/eden/models/000_config.py @@ -234,7 +234,7 @@ settings.import_template() # e.g. #settings.base.system_name = T("Sahana TEST") #settings.base.prepopulate = ("MY_TEMPLATE_ONLY") -#settings.base.prepopulate += ("default", "default/users") +settings.base.prepopulate += ("default", "default/users") #settings.base.theme = "default" #settings.L10n.default_language = "en" #settings.security.policy = 7 # Organisation-ACLs diff --git a/sahana/srv/sahana/applications/eden/modules/templates/default/users/masterUsers.csv b/sahana/srv/sahana/applications/eden/modules/templates/default/users/masterUsers.csv new file mode 100644 index 0000000..32c75bd --- /dev/null +++ b/sahana/srv/sahana/applications/eden/modules/templates/default/users/masterUsers.csv @@ -0,0 +1,2 @@ +First Name,Last Name,Email,Password,Role,Organisation +Admin,User,admin@example.com,${SAHANA_ADMIN_PWD},ADMIN, diff --git a/sahana/tmp/sahana-adminaccount.sql b/sahana/tmp/sahana-adminaccount.sql deleted file mode 100644 index fd44eb7..0000000 --- a/sahana/tmp/sahana-adminaccount.sql +++ /dev/null @@ -1,21 +0,0 @@ -INSERT INTO auth_user (first_name, last_name, email, password, username, language, utc_offset, organisation_id, org_group_id, site_id, link_user_to, registration_key, reset_password_key, deleted, timestmp, comments, uuid, mci, created_on, modified_on) VALUES -('Admin', 'Admin', 'noreply@example.com', '${SAHANA_ADMIN_HASH}', 'noreply_example.com', 'cz', '+0200', NULL, NULL, NULL, NULL, '', '', 'F', '2017-01-01 00:00:00', NULL, 'urn:uuid:b96b72d2-0753-42bd-b849-6e0a86149b84', 0, '2017-01-01 00:00:00', '2017-01-01 00:00:00'); - -INSERT INTO auth_membership (user_id, group_id, pe_id, uuid, mci, created_on, modified_on, deleted, deleted_fk, deleted_rb) VALUES -(1, 2, NULL, 'urn:uuid:863c8867-bdc3-4fa1-afb6-91e6863d44a5', 0, '2017-01-01 00:00:00', '2017-01-01 00:00:00', 'F', NULL, NULL), -(1, 1, NULL, 'urn:uuid:1cbf342d-51f8-4cf4-96d5-fb2e7d36d45b', 0, '2017-01-01 00:00:00', '2017-01-01 00:00:00', 'F', NULL, NULL); - -INSERT INTO pr_pentity (deleted, instance_type, uuid, type, pe_label) VALUES -('F', 'pr_person', 'urn:uuid:1b8cf009-d28f-459c-abdd-c9ab58566f8e', NULL, NULL); - -INSERT INTO sit_trackable (deleted, instance_type, uuid, track_timestmp) VALUES -('F', 'pr_person', 'urn:uuid:1b8cf009-d28f-459c-abdd-c9ab58566f8e', NULL); - -INSERT INTO pr_contact (pe_id, contact_method, contact_description, value, priority, access, poll, comments, uuid, mci, deleted, deleted_fk, deleted_rb, created_on, modified_on, approved_by, created_by, modified_by, owned_by_user, owned_by_group, realm_entity) VALUES -(1, 'EMAIL', NULL, 'noreply@example.com', 1, 1, 'F', NULL, 'urn:uuid:f6192e0f-bdd0-4a69-989e-dd1a9b81b909', 0, 'F', NULL, NULL, '2017-01-01 00:00:00', '2017-01-01 00:00:00', NULL, NULL, NULL, 1, NULL, NULL); - -INSERT INTO pr_person (pe_id, track_id, location_id, pe_label, missing, first_name, middle_name, last_name, initials, preferred_name, local_name, gender, date_of_birth, opt_in, comments, uuid, mci, deleted, deleted_fk, deleted_rb, created_on, modified_on, approved_by, created_by, modified_by, owned_by_user, owned_by_group, realm_entity) VALUES -(1, 1, NULL, NULL, 'F', 'Admin', NULL, 'Admin', NULL, NULL, NULL, 1, NULL, '||', NULL, 'urn:uuid:1b8cf009-d28f-459c-abdd-c9ab58566f8e', 0, 'F', NULL, NULL, '2017-01-01 00:00:00', '2017-01-01 00:00:00', NULL, NULL, 1, 1, NULL, NULL); - -INSERT INTO pr_person_user (pe_id, user_id, uuid, mci, deleted, deleted_fk, deleted_rb, created_on, modified_on, approved_by, created_by, modified_by, owned_by_user, owned_by_group, realm_entity) VALUES -(1, 1, 'urn:uuid:8f48de7a-d3d8-4d1d-a6bd-7ee906a26264', 0, 'F', NULL, NULL, '2017-01-01 00:00:00', '2017-01-01 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL);