Installation ============ The Nearby People app is powered by data maintained / produced by other Apache systems and processes. At this time, it doesn't generate or store any of its own data, beyond that it is fed from elsewhere. The app is written in Python, and built on top of the Django web framework. Currently, the major version of Django in use is 1.4, and the most recent service pack / release of that should be used. General Setup Instructions -------------------------- * Django - Latest 1.4 release (currently 1.4.22) - Available from https://www.djangoproject.com/download/ - Available from https://github.com/django/django.git * SVN Checkouts of Apache Data - https://svn.apache.org/repos/private/committers/info - Recommended path - data/info - Recommended refresh interval - hourly - https://svn.apache.org/repos/private/committers/local-outreach - Recommended path - data/local-outreach - Recommended refresh interval - hourly * Special Overrides - UID Creation dates for pre-LDAP accounts - ?? Can you get this from Whimsy yet ?? - Recommended path - data/uid-created.ldif * local_settings.py - Copy local_settings.py.example to local_settings.py - Edit local_settings.py, and change the following paths to match where the data above was checked out into: - COMDEV_DOAP - SPEAKERS_DOAP - PEOPLE_FOAF_PATH - UID_CREATED_LDIF - Edit local_settings.py and set the following: - GMAPS_KEY - Google Maps API key for the domain of deployment - GEONAMES_USERNAME - Geonames account for place name lookup - DEBUG - False - ADMINS - Who to bug if an error occurs * wsgi - Edit run_wsgi.py - Change sys.path line to reflect the actual path of Django and of the webapp - Run "./manage runserver" and ensure it starts the test WSGI server without issue * Gunicorn - Copy gunicorn-nearby.service.example to /etc/systemd/system/gunicorn-nearby.service - Edit paths to reflect the actual path of Django and of the webapp - Run "systemctl start gunicorn-nearby" then "systemctl enable gunicorn-nearby" - Arrange for port 8080 to be proxied to * HTTPD config file - WSGIScriptAlias / //run_wsgi.py - Alias /admin_media/ //django/contrib/admin/media/ - SetHandler None - /> Require all granted * Python Path - Recommended for using command line tools - Set PYTHONPATH in profile to .:..:./lib/:../lib/: - eg in .bashrc "export PYTHONPATH=.:..:./lib/:../lib/:$HOME/python/Django-1.4.22" Installation on Ubunut 16.10 - Specific --------------------------------------- As well as following everything in the *General Setup Instructions* above, you should install the following packages * subversion * apache2 * libapache2-mod-wsgi Afterwards: * Setup a special SVN role account, which has permissions to access https://svn.apache.org/repos/private/committers/ * Setup a crontab to update the two committers data checkouts