Skip to content

How the userweb server works

Jake Merdich edited this page Dec 7, 2017 · 3 revisions

The userweb server hosts our current site. Here's how it's put together:

  1. Apache first checks for an actual file and serves that if present.
  2. Apache then invokes Passenger, which holds a copy of python/django open across requests. This is controlled by the 'passenger_wsgi.py' file, which makes sure the server uses the local virtualenv of python in ~/bin. The packages here are from 'requirements_userweb.txt', which is just the regular requirements plus the mysql connector.
  3. Static files (eg. javascript and css) are copied to be served with (1) via python manage.py collectstatic
  4. The django server has a .env file to manage passwords and server locations:
    • Connects to mysql.wpi.edu as necessary to store data (database: lnldb2012) .
    • Saves uploaded files directly in the 'public_html/media' folder.
    • Send emails by connecting to the submission.wpi.edu with the 'lnl' account
    • Connects to LDAP for name lookup with the 'lnl' account and CCC_PASS.
    • Sets Google analytics and Sentry error reporting IDs.

Additionally, we are on a vhost to open up lnl.wpi.edu vs users.wpi.edu/~lnl and are in a whitelist for the WPI CAS server.

Clone this wiki locally